[FFmpeg-devel] ffmpeg mp4 muxer - support for HTTP progressive downloads

declan harrison harrison.declan
Wed May 5 22:52:03 CEST 2010


I was hoping to be able to use the ffmpeg API to encode the MP4 container
format on-the-fly over a network streams so as it could be viewed
progressively over HTTP.

However the MP4 muxer in ffmpeg does not allow you to write the output out
to a network stream.  I had planned to look at amending the muxer to acheive
this.  However the more I have looked into this issue the more I wonder if
indeed it is possible to achieve this for this container format.

For example ffmpeg has a version of the command line utility
"qt-faststart.c" that shifts the location of the "moov" atom from the end to
near the begiining of the file thus enabling the mp4 file to be played
progressively over HTTP.  The implication that I infer from this is that it
isnt possible to do this on one in the muxer or they would have done it.

Is this a limitation of the MP4 container format? Is it because the location
of certain metadata require absolute offsets of atom locations in files
rather than relative offsets?

Is it possible to achieve on-the-fly encoding of MP4 container over a
network stream?  If not are the only alternatives to use one of the
streaming protocols e.g. RTSP or RTMP.

Is the ffmpeg-devel the correct mailing list for this question?


More information about the ffmpeg-devel mailing list