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
121 downloads per month
Used in hls_transcoder
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 propertyplaylist-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 theevent
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