[gst-devel] HTTP pseudo-streaming

Julien Moutte julien at moutte.net
Tue Jun 3 12:08:31 CEST 2008


Hi Guys,

When implementing flvdemux I've made special efforts to parse the index
object in the metadata field.

Having this index, the demuxer is able to handle seeking with a HTTP 1.1
source element like neonhttpsrc.

So a simple pipeline like :

neonhttpsrc ! flvdemux ! queue ! ffdec_vp6f ! queue ! xvimagesink

should be able to do remote seeking using bytes range requests exactly
like a Google Video player or Dailymotion player.

Don't use ffdemux_flv it's crappy and does not handle all that.

Best regards,

Julien Moutte,
FLUENDO S.A.

Florent wrote:
> Hi Julien,
> 
> For reference, you'll find:
> * old sorenson codec encoded videos (h263), which are decoded with
> ffdec_flv and demuxed with ffdemux_flv
> * on2 vp6 videos, which need the ffdec_vp6f and demuxed with ffdemux_flv
> * h264 videos, mp4 muxed. With some differences too: the mov's atom
> (index) is traditionally at the end of the file; for "real" http
> progressive streaming (without complete pre-buffering), some online
> websites that do progressive h264 http streaming do move the atom at
> the beginning of the file (using qt-faststart.c)
> 
> Looking at media center e.g. elisa code might help you with getting
> original video files from websites such as youtube in the "classic"
> fashion (i believe it uses youtube's public api for retrieving the
> videos).
> 
>> Making your player so clever as to do that as well is another issue on
>> which I can't really comment.
> 
> One would have to use the FLV's keyframe index as seeking reference
> for the http src element. I already tried playing back an http hosted
> video, without success. How does random access work ? When seeking the
> source, is the index (moov atom/flv index) used at all ?
> 
> Flo
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel




More information about the gstreamer-devel mailing list