[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