Skip to main content

Crate moq_hls

Crate moq_hls 

Source
Expand description

HLS / LL-HLS <-> MoQ gateway.

Bridges HLS (and Low-Latency HLS) and moq_net broadcasts in both directions, mirroring the WHIP/WHEP split in moq-rtc:

  • import pulls a remote HLS master/media playlist and publishes its CMAF segments into MoQ (an HTTP client that publishes).
  • server serves HLS playlists, DASH manifests, and CMAF segments over HTTP for MoQ broadcasts (an HTTP server). It subscribes only to each broadcast’s catalog and timeline tracks; media bytes are FETCHed from the relay one group at a time, only when a segment is actually requested. It serves every request; gate access by layering your own middleware onto Server::router, or parse and authorize each request yourself and answer it with Server::respond.

All CMAF byte handling (import via moq_mux::container::fmp4::Import, export via moq_mux::container::fmp4::Muxer) lives in moq-mux; this crate owns the HLS playlist and DASH manifest generation, the timeline-driven playlist window, and the HTTP surface.

Re-exports§

pub use server::Server;
pub use axum;

Modules§

export
Export: serve a MoQ broadcast as HLS or DASH, fetching media on demand.
import
HLS import: pull an HLS master/media playlist and publish it into MoQ.
server
HTTP server: serves HLS and DASH for MoQ broadcasts, fetching media on demand.

Enums§

Error
Errors produced by the HLS <-> MoQ gateway (import and export).
SequenceKind
Which HLS sequence counter a value belongs to.

Type Aliases§

Result
Convenience alias for results from the HLS gateway.