[MEncoder-users] encoding raw AVI from pipe yields "running" image

Grothausmann, Roman Dr. grothausmann.roman at mh-hannover.de
Thu Jun 9 10:17:44 CEST 2016


Dear mailing list members,


When converting/rendering a SMIL animated SVG (as eg: 
https://github.com/romangrothausmann/aniMakefileSVG/blob/gh-pages/all.dot.MakeJ6.svg) 
into a video with MP4Client from gpac I've trouble to find the right parameters 
to encode the resulting raw AVI on the fly to e.g. MP4 with either mencoder oder 
ffmpeg (apparently not possible directly with gpac tools, 
https://github.com/gpac/gpac/issues/543)
All works well when encoding the full AVI (e.g. all.dot.Make.avi.bz2, as can be 
found here: 
https://gist.github.com/romangrothausmann/15bd4cc74395ab3e01cc54e261b35a8e):

MP4Client -no-audio -size 100x1000  -avi 0-10 -fps 25  all.dot.Make.svg -out 
all.dot.Make.avi

ffmpeg -y -f rawvideo  -pix_fmt bgr24 -r 25 -s 100x1000  -i all.dot.Make.avi 
file.mp4
mencoder -cache 8000 -nosound -o test.mp4  -ovc x264  -fps 25 -demuxer rawvideo 
-rawvideo w=100:h=1000:fps=25.000:format=bgr24 all.dot.Make.avi

The AVI can easily reach up to 100GB for longer and bigger SVG animations. 
Therefore I tried to encode the same data from a pipe or fifo. However, it 
results in a "moving" animation (that ought to be stationary) with flickering 
colors:

mkfifo fifo.avi
MP4Client -no-audio -size 100x1000  -avi 0-10 -fps 25  all.dot.Make.svg -out 
fifo.avi &

ffmpeg -y -f rawvideo  -pix_fmt bgr24 -r 25 -s 100x1000  -i fifo.avi  file.mp4
mencoder -cache 8000 -nosound -o test.mp4  -ovc x264  -fps 25 -demuxer rawvideo 
-rawvideo w=100:h=1000:fps=25.000:format=bgr24 fifo.avi

Also using cat for simulating piping does not work:

cat all.dot.Make.avi | mencoder -cache 8000 -nosound -o test.mp4 -ovc x264 -fps 
25 -demuxer rawvideo -rawvideo w=100:h=1000:fps=25.000:format=bgr24  -

It seems as if an extra pixel column per frame moves the image but changing the 
size by +/- 1 pixel did not help. I expect the AVI is not completely raw but 
contains some bytes in between the frames. If so, how can I skip these or get 
the same result as obtained without piping?

Many thanks for any help or hints.
Roman



More information about the MEncoder-users mailing list