Skip to content

A m3u8 Parser for HTTP Live Streaming (HLS) stream written in Go

Notifications You must be signed in to change notification settings

globocom/go-m3u8

Repository files navigation

go-m3u8

Golang m3u8 parser

This library has the goal of parse a HLS m3u8 into a doubly linked list and, for some tags, we can access the tag struct from the node.

1. Doubly linked list

This data structure allows us to access the manifest sorted and apply operations (modify, add and remove) to them. So we can access the HLS data (decode), manipulate it, and get it back in string format (encode).

Exemples of usefull node operation:

  • 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 at DateRange tags
  • Remove packager comment lines

2. Objects

To simplify the way we access the tags attributes, some nodes can be accessed via custom structs:

  • Media Manifest (StreamInf)
  • Segment
  • DateRange

Getting started

go get github.com/globocom/go-m3u8

About

A m3u8 Parser for HTTP Live Streaming (HLS) stream written in Go

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages