gohlslib

May 21, 2026 · View on GitHub

Test Lint Go Report Card CodeCov PkgGoDev

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

Go ≥ 1.25 is required.

Features:

  • Client

    • Read streams in MPEG-TS, fMP4 or Low-latency format
    • Read a single video track and/or multiple audio tracks
    • Read tracks encoded with AV1, VP9, H265, H264, Opus, FLAC, 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, FLAC, MPEG-4 audio (AAC), KLV
    • 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

namearea
RFC2616, HTTP 1.1protocol
RFC8216, HLSprotocol
HLS v2protocol
HTTP Live Streaming by Appleprotocol
Codec specificationscodecs
Golang project layoutproject layout