[Bug 654192] New: New sink for HTTP live streaming

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jul 7 13:12:46 PDT 2011


https://bugzilla.gnome.org/show_bug.cgi?id=654192
  GStreamer | gst-plugins-bad | git

           Summary: New sink for HTTP live streaming
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: ylatuya at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


This is a request to include the new hlssink element in gst-plugins-bad, a sink
for HTTP Live Streaming that I'm developing here [1]

This element fragments incoming buffers using the format defined in the HLS
draft[2] and generates a playlist that follows the format defined in the same
draft. 

This element relies in the downstream GstForceKeyUnit events to delimit the
fragments boundaries using the fields 'timestamp' and 'count' of the event to
retrieve the fragment's duration and their index. It uses the proposed API in
Bug #607742, and therefore depends on it.

Another element called keyunitscheduler is also included in the same branch,
which purpose is to schedule GstForceKeyUnit events at a fixed interval to
generate fragments of the same duration starting with a keyframe.

The hlssink plugin writes the fragments and the playlist to disk but it does
not serve them, understanding that its goal is to generate both the fragments
and the playlist, relying on an external HTTP server to serve them.

Both the playlist and the last fragment can be retrieved using signal actions,
in case someone would need it to feed an custom HTTP server that do not reads
them from disk, but rather uses an in-memory ring-buffer to serve them.  

Example pipeline usage for live generating 10 seconds fragments an sliding
playlist for a live stream:

gst-launch videotestsrc is-live ! keyunitsscheduler interval=10000000000 !
x264enc b_frames=0 cabac=false profile=1 byte-stream=true ! mpegtsmux ! hlssink
playlist-max-window=5 output-directory=/var/www/hls/live
playlist-url-prefix=http://myserv.er/hls/live


[1] https://gitorious.org/ylatuya-gstreamer/gst-plugins-bad/commits/hlssink
[2] http://tools.ietf.org/html/draft-pantos-http-live-streaming-06

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list