Generate HLS (.m3u8) playlists for the CMAF segments ISOMedia.split_segments/1
produces — a media playlist (segment list) and a multivariant (master) playlist
(codecs/resolution/bandwidth), for a single muxed VOD rendition. Pure string templating
over FragmentIndex.fragment_spans/1 + ISOMedia.Manifest; URIs match write_segments.
Summary
Functions
The HLS multivariant (master) playlist (.m3u8) for a fragmented tree.
The HLS media playlist (.m3u8) for a fragmented tree.
Write the HLS bundle into dir (created if absent): master.m3u8, the media playlist
(opts[:media_uri], default media.m3u8), and — via ISOMedia.write_segments/3 — init.mp4
Functions
@spec master_playlist( [ISOMedia.Box.t()], keyword() ) :: String.t()
The HLS multivariant (master) playlist (.m3u8) for a fragmented tree.
@spec media_playlist( [ISOMedia.Box.t()], keyword() ) :: String.t()
The HLS media playlist (.m3u8) for a fragmented tree.
@spec write_hls(Path.t(), [ISOMedia.Box.t()], keyword()) :: {:ok, [Path.t()]}
Write the HLS bundle into dir (created if absent): master.m3u8, the media playlist
(opts[:media_uri], default media.m3u8), and — via ISOMedia.write_segments/3 — init.mp4
seg-N.m4s. Returns{:ok, [master, media | segment_paths]}.