On Sun, 6 Nov 2005, Dik Takken wrote: > ffmpeg -i "widescreen.dv002.dv" -f image2pipe -vcodec pgmyuv -y > /dev/stdout | pgmtoy4m -r 25:1 -i b -a 118:81 | y4mscaler -I sar=118:81 -O > infer=exact -O infer=preserve_x -O size=720x352 -O sar=10:11 | y4mscaler > -O chromass=420_MPEG2 -S option=sinc:4 | y4mspatialfilter -L 4,.90,4,.90 > -C 3,.810000,3,.810000 | yuvdenoise -s 1,3,3 -t 4,31,31 -g 0,255,255 | > y4mscaler -I active=720x352+0+0cc -I matte=720x480+0+0cc -O preset=DVD | > yuvcorrect -Y LUMINANCE_3.00_30_225_0_255 -Y > CHROMINANCE_0.0_1.00_128_1.00_128_0_255 | yuvcorrect -Y > LUMINANCE_1.0_16_235_16_235 -Y CHROMINANCE_0.0_1.0_128_1.0_128_16_240 | > y4mscaler -I active=720x352+0+0cc -I matte=720x480+0+0cc -O preset=DVD | > yuvfps -n -r 30000:1001 | tee "./EncoderPipe_23295" | mpeg2enc -M 0 -f 8 > -b 8000 -B 384 -D 10 -K default --cbr -a 2 -N 1.0 -o "./Encoded.m2v" > > In case you want to know: This command was generated by a script, it isn't > optimal, I know. :)
Ok - and you're 100% correct ;) But "-t 4,31,31" for yuvdenoise? I'd expect severe chroma ghosting with values that high. > But anyway, I believe it should not generate this > error message: > > INFO: [yuvplay] Playing frame 0122 - 0:00:04.02 > INFO: [yuvdenoise] Buffers freed. > INFO: [y4mscaler] End of stream at frame 102. > INFO: [yuvcorrect] End of stream! > INFO: [yuvcorrect] Normal exit: end of stream with frame number 102! > INFO: [yuvcorrect] End of stream! > INFO: [yuvcorrect] Normal exit: end of stream with frame number 102! > INFO: [y4mscaler] End of stream at frame 102. > tee: write error > INFO: [yuvplay] Played 0123 frames (0:00:04.03) > Runtime error (func=(main), adr=9): Divide by zero > (standard_in) 1: parse error Those do not look like yuvfps errors. The mjpegtools portions of the script would put their name in the messages ([yuvcorrect], and so on). I see that '[yuvplay]' is logging messages but I can't seem to see a "yuvplay" anywhere in the script. Or was a variant of the script (substituting yuvplay for mpeg2enc) run instead? > The resulting output file is empty. When I remove the yuvfps part from the > above command, everything works as expected. The "Encoded.m2v" or "EncoderPipe_23295" file? Sounds like 'yuvfps' is unhappy with the input stream for some reason. If you put "head -n 1" in place of 'yuvfps' what does the YUV4MPEG2 header say at that point in the pipeline? > Runtime error (func=(main), adr=9): Divide by zero Does glibc emit errors like that? I'd think a divide by zero would cause a signal to the program rather than print a message. "(standard_in) 1: parse error" doesn't look like a yuvfps error message. The other thing that is puzzling is tee: write error That says 'tee' had a problem writing the output file EncoderPipe_23295 Is there a permission or free space problem that would cause 'tee' to exit prematurely? That could cause an empty output file too I think. Does 'tee' produce errors like 'Runtime error (func=..."? What happens if you leave 'tee' out of the pipeline? Cheers, Steven Schultz ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users