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

Reply via email to