We closed this forum 18 June 2010. It has served us well since 2005 as the ALPHA forum did before it from 2002 to 2005. New discussions are ongoing at the new URL http://forum.processing.org. You'll need to sign up and get a new user account. We're sorry about that inconvenience, but we think it's better in the long run. The content on this forum will remain online.
IndexProgramming Questions & HelpVideo Capture,  Movie Playback,  Vision Libraries › output resolution problems with MovieMaker
Page Index Toggle Pages: 1
output resolution problems with MovieMaker (Read 618 times)
output resolution problems with MovieMaker
Nov 7th, 2008, 4:03pm
 
This may not be an issue relating to Processing, but rather to video. If so, sorry if this is the wrong forum for this question.

I'm outputting to .mov using MovieMaker but am having issues with the resolution. Here's the strange part though, I uploaded the clip so I could show the poor quality to this message board and the clip looks great online. Does anyone know what might cause this?

Here are examples of resolution:
Still from the processing sketch:
http://www.torifoster.com/mothercity/images/resolution-processing.jpg

Still from the .mov running from my computer:
http://www.torifoster.com/mothercity/images/resolution-video.jpg

.mov uploaded to my website:
http://www.torifoster.com/mothercity/images/2008_11_06.mov

Here's my code:
import processing.video.*;
int xpos;
int ypos;
int xWidth;
int yHeight;
int count = 0;
int numImages = 117;
PImage[] images = new PImage[numImages];
PImage maskImg;
MovieMaker mm;  // Declare MovieMaker object

void setup() {
 size(1050, 500);
 background(0);
 frameRate(6);
 xpos = 1050;
 ypos = 10;
 mm = new MovieMaker(this, width, height, "drawing.mov", 6, MovieMaker.H263, MovieMaker.LOSSLESS);
 
 // This loop draws the mask over each image in the image array.
 for (int i = 1; i <= images.length; i++) {
   images[i-1] = loadImage("B (" + i + ").jpg");
 }

 maskImg = loadImage("aMask3.jpg");

 // This loop draws each image in the image array.
 for (int i = 1; i <= images.length; i++) {
   images[i-1] = loadImage("B (" + i + ").jpg");  
   images[i-1].mask(maskImg);
 }
}

void draw() {
 if (count < images.length) {
   tint(225, 225, 225, createTint());
   image(images[count], xpos, ypos);
   count++;
   mm.addFrame();  // Add window's pixels to movie
 }
 for (int j = distanceBtwnImages(); j <= distanceBtwnImages(); j++) {
   xpos = xpos - j;
 }
}

int distanceBtwnImages(){
 int numberIs;
 numberIs = 25;
 return numberIs;
}

int createTint(){
 int numberIs;
 numberIs = 160;
 return numberIs;
}

// This is the method that stops the recording of the movie
void keyPressed() {
 if (key == ' ') {
   mm.finish();  // Finish the movie if space bar is pressed!
 }
}
Page Index Toggle Pages: 1