I attended the Media Manipulation workshop.
For the exercise, I decided to use a clip from Game of Thrones. I found a montage of shocking and brutal moments from the show, and decided I would edit just the first portion of it. I wanted to do something I would find funny, so I added the Office theme song on top of it and attempted to make names pop up on screen in time with the characters in a sitcom style.
Unfortunately, I ran into trouble with the video lagging. This made the names appear out-of-sync with the characters on screen. I do wonder if this is because of the size of the files (I used an MP4 file which was about 30 seconds and an accompanying MP3 file), or if it is something in the order of my code that was creating such variability.
I also had trouble with the recording of the project for this documentation post: since I usually do not want to record the screen with my phone and my computer is not a Mac, I have been using the windows game bar to record the processing programs I make. I could not make the game bar record the sound of the program, so I attempted to edit sound on top of it…and then ran into more trouble when I could only successfully edit one audio track (the original program plays the sound of the GOT clip under the Office theme song, which adds some humor from the contrast). After much fiddling and trying different online resources to either edit more audio on or record the screen with sound, I ran into a final issue: the file was too big to submit here for documentation!
Given these issues, I decided the simplest method would be to tape the program with my phone… in the future, I think most of my problems could be fixed by using a different video format in processing. This is certainly something I will remember to ask next time I need to use video!
Code:
import processing.sound.*;
SoundFile office;
import processing.video.*;
Movie myMovie;
int time;
PFont f;
int x = 0;
void setup() {
size(1280, 720);
background(0, 0, 0);
myMovie = new Movie(this, “got.mp4”);
f = loadFont(“EdwardianScriptITC-48.vlw”);
// Load a soundfile from the /data folder of the sketch and play it back
office = new SoundFile(this, “The Office.mp3”);
office.play();
office.amp(2);
}
void draw() {
time = millis();
if (myMovie.available()) {
myMovie.read();
}
if (office.isPlaying()) {
myMovie.play();
println(“Time: ” + time);
println(“Timestamp: ” + myMovie.time());
if (myMovie.time()< 3.53) {
image(myMovie, 0, 0);
tint(255, 190);
filter(INVERT);
textSize(100);
fill(255, 0, 0);
text(“GAME OF THRONES”, 100, height/2);
text(“THE SITCOM”, 100, (height/2) + 100);
noTint();
} else if (myMovie.time () < 5) {
image(myMovie, 0, 0);
tint(255, 190);
filter(INVERT);
textSize(100);
fill(255, 0, 0);
text(“SPOILERS INCOMING”, 100, height/2);
noTint();
;
} else if (time < 10900) {
image(myMovie, 0, 0);
noTint();
textFont(f, 200);
fill(255, 255, 255);
text(“feat.”, 200, 400);
} else if (time < 12100 ) {
image(myMovie, 0, 0);
fill(255, 255, 255);
textFont(f, 200);
text(“Dany”, 700, 400);
} else if (time < 13000) {
image(myMovie, 0, 0);
} else if (time < 15000) {
image(myMovie, 0, 0);
textFont(f, 200);
text(“Khal Drogo”, 200, 600);
} else if (time < 25510) {
image(myMovie, 0, 0);
} else if (time < 30000) {
image(myMovie, 0, 0);
text(“Viserys”, 700, 450);
} else if (time < 35000) {
image(myMovie, 0, 0);
textFont(f, 150);
text(“And special guest”, 200, 180);
} else {
textFont(f, 200);
text (“Ned Stark”, 500, 600);
}
} else {
myMovie.pause();
fill(0, 0, 0);
rect(0, 0, width, height);
}
}
I also had the idea of contrasting violent clips from Game of Thrones with humorous clips from other tv shows. In the end I did not end up making such project, but it’s nice to see that someone else had a similar idea.