Skip to content

HLS client and muxer library for the Go programming language

License

Notifications You must be signed in to change notification settings

bluenviron/gohlslib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gohlslib

Test Lint Go Report Card CodeCov PkgGoDev

HLS client and muxer library for the Go programming language, written for MediaMTX.

Go ≥ 1.21 is required.

Features:

  • Client

    • Read streams in MPEG-TS, fMP4 or Low-latency format
    • Read a single video track and/or a single audio track
    • Read tracks encoded with AV1, VP9, H265, H264, Opus, MPEG-4 Audio (AAC)
    • Get absolute timestamp of incoming data
  • Muxer

    • Generate streams in MPEG-TS, fMP4 or Low-latency format
    • Write a single video track and/or multiple audio tracks
    • Write tracks encoded with AV1, VP9, H265, H264, Opus, MPEG-4 audio (AAC)
    • Save generated segments on disk
  • General

    • Parse and produce M3U8 playlists
    • Examples

Table of contents

Examples

API Documentation

Click to open the API Documentation

Specifications

name area
RFC2616, HTTP 1.1 protocol
RFC8216, HLS protocol
HLS v2 protocol
HTTP Live Streaming by Apple protocol
Codec specifications codecs
Golang project layout project layout

Related projects