20 releases

0.13.1 Aug 27, 2024
0.13.0 Jul 16, 2024
0.12.7 Jun 19, 2024
0.12.0 Feb 8, 2024
0.8.1 Feb 4, 2022

#530 in Video

Download history 78/week @ 2024-07-11 30/week @ 2024-07-18 39/week @ 2024-07-25 50/week @ 2024-08-01 3/week @ 2024-08-08 150/week @ 2024-08-22 43/week @ 2024-08-29 8/week @ 2024-09-05 29/week @ 2024-09-12 24/week @ 2024-09-19 32/week @ 2024-09-26 36/week @ 2024-10-03 51/week @ 2024-10-10 28/week @ 2024-10-17 1/week @ 2024-10-24

121 downloads per month
Used in hls_transcoder

MPL-2.0 license

75KB
1.5K SLoC

GStreamer HTTP Live Streaming Plugin

A GStreamer HLS sink plugin. Based on the "hlssink2" element.

The hlssink3 plugin consists of hlssink3 and hlscmafsink elements. hlssink3 element generates traditional MPEG-TS based HLS segments and playlist while hlscmafsink generates CMAF (fragmented mp4) segments.

NOTE: hlssink3 element is feature-equivalent to the hlssink2 element. Any pipeline that uses hlssink2 can use the hlssink3 element and the result should be the same.

Both elements have a playlist-type property used to control the behavior of the HLS playlist file. The available values for this property are:

  • null (default): The tag #EXT-X-PLAYLIST-TYPE won't be present in the playlist during the pipeline processing. The playlist will be updated in sync as new segments are available, old segments are removed, keeping N segments as defined in the property playlist-length. This is the default behavior, and is compatible with how "hlssink2" works;
  • "event": The playlist is updated as new segments are available, and the tag #EXT-X-PLAYLIST-TYPE:EVENT is present during processing. No segments will be removed from the playlist.
  • "vod": The playlist behaves like the event option (a live event), but at the end of the processing, the playlist will be set to #EXT-X-PLAYLIST-TYPE:VOD.

At the end of the processing, #EXT-X-ENDLIST is added to the playlist if a enable-endlist property is enabled (default is true).

Live playlist generation

In case of live recording with multiple playlists, the #EXT-X-PROGRAM-DATE-TIME tags can be useful hint for clients when mapping each stream time to the wall-clock.

The #EXT-X-PROGRAM-DATE-TIME tags will be written to the playlist if enable-program-date-time property is enabled.

Dependencies

~12–20MB
~338K SLoC