Awesome
gohlslib
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
- playlist-parser
- client
- client-absolute-timestamp
- client-codec-h264-save-to-disk
- client-codec-h264-convert-to-jpeg
- client-codec-mpeg4audio-save-to-disk
- muxer
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 |