There isn't a stable version for now. As this is currently a WIP, the API may have changes.
Parser for m3u8 to facilitate manifest manipulation.
We currently only support Live Streaming manifests.
The m3u8 is represented by a doubly linked list. This data structure allows us to access the manifest in a sorted manner and apply operations (modify, add, remove) to its content.
- Add discontinuity tag for
SSAI segments manipulation
- Change discontinuity sequence tag count
- Remove DRM for SSAI segments manipulation by adding the tag
#EXT-X-KEY:METHOD=NONE
- Add
SGAI
atDateRange
tags - Remove packager comment lines
To guarantee scalibility, our lib considers a data structure for the HLS elements that follows the RFC documentation.
The tags package separates HLS elements into sub-packages according to the Playlist Tags section on the RFC.
(The tags listed below are the ones currently supported by the lib.)
- basic - Basic Tags (Section 4.4.1).
#EXTM3U
#EXT-X-VERSION
- exclusive - Media or Multivariant Playlist Tags (Section 4.4.2).
#EXT-X-INDEPENDENT-SEGMENTS
- media - Media Playlist, Metada and Segment Tags (Sections 4.4.3 to 4.4.5).
#EXT-X-DATERANGE
- multivariant - Multivariant Playlist Tags (Section 4.4.6).
#EXT-X-TARGETDURATION
#EXT-X-MEDIA-SEQUENCE
#EXTINF
#EXT-X-DISCONTINUITY
#EXT-X-PROGRAM-DATE-TIME
- others - The tags in this section are "non-official" and are not listed in the RFC, e.g. tags added to the manifest by the packaging service.
#EXT-X-CUE-OUT
#EXT-X-CUE-IN
- In-manifest comments (begin with
#
and are NOT tags).
go install github.com/globocom/go-m3u8