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
[email protected]
https://lists.sourceforge.net/lists/listinfo/mjpeg-users