How to generate a fmp4 hls live stream with FFMPEG
ffmpeg -re -stream_loop -1 -i voweb.mp4 -hls_fmp4_init_filename init.mp4 -vf “settb=AVTB,setpts=’trunc(PTS/1K)*1K+st\(1,trunc(RTCTIME/1K))-1K*trunc(ld(1)/1K)’,\ drawtext=fontfile=…
Link
Related resources
- eaglesong.dev/hlsGo library implementing a live HLS+DASH origin: fMP4 segmenting, in-memory buffer, conditional blocking MPD, and single/separate track mode…
- edgeware/mp4ff — Go fMP4 Parser/Writer & SegmenterGo library to parse and generate MPEG-DASH MPD manifests, actively maintained.
- moqlivemockMedia over QUIC (MoQ)/WARP live publisher and subscriber test app with wall-clock-synced multi-bitrate output; a testbed for the emerging M…
- cloudflare/moq-rs — Media over QUIC in RustCloudflare's production-tested Rust implementation of IETF Media over QUIC Transport (draft-14), providing moq-relay, moq-api and moq-pub c…
- abema/go-mp4 — low-level MP4 box library (Go)Go library for low-level reading and writing of ISOBMFF/MP4 boxes via io.ReadSeeker, enabling direct construction of any atom for fMP4/CMAF…
- Shaka Packager: Low Latency TutorialOfficial Shaka Packager docs showing a chunked CMAF low-latency DASH pipeline (ffmpeg → packager → dash.js).
- DASH-IF fmp4-ingest ReferenceDASH-IF CMAF ingest spec with a Node.js reference receiver implementation, storing ingested chunks as CMAF track files.
- Meetecho: Bridging MoQ and WebRTCTechnical blog detailing a Janus plugin bridging WHIP/WHEP to Media over QUIC, with architecture details.
- rutgersc/m3u8-rs — Rust HLS Manifest ParserActive nom-based Rust parser for HLS m3u8 playlists (master and media).
- simple-whip-server (Janus)Node.js WHIP server implementation built on the Janus WebRTC gateway, reference implementation by Meetecho (Janus maintainers).
- dash.js Low-Latency Streaming DocsReference player documentation for low-latency DASH: HTTP chunked transfer encoding requirements and availabilityTimeOffset configuration.