1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! multimux — a multi-input, multi-output just-in-time repackaging HTTP
//! origin.
//!
//! Pull/receive live media from any of several ingest transports —
//! [`config::InputSpec`]: RTSP pull, raw RTP/UDP, MPEG-TS/UDP, MPEG-TS/HTTP,
//! or HLS-pull — and serve each ingested stream as any combination of
//! [`output::OutputKind`]: Low-Latency HLS, DASH, or LL-DASH, from one
//! in-process tokio + axum HTTP origin. One ingest, many outputs, no
//! per-output re-mux. Built on `rtsp-runtime` (RTSP), `ll-hls-runtime`
//! (LL-HLS client/server engine + HLS-pull), `broadcast-auth` (client and
//! server auth), and `transmux` (RTP/TS depayload + CMAF segmentation +
//! DASH packaging). Muxing only — samples are never transcoded.
//!
//! Third-party crates can add a new input/output/output-auth scheme without
//! editing this crate at all — see [`registry`] (issue #663 external scheme
//! plugin registry) and [`origin::serve_with_registry`].
pub
pub use ;
// Re-exported so an external crate wiring up a `crate::registry::SchemeRegistry`
// factory (issue #663) has everything it needs at the crate root, without
// reaching into internal module paths:
/// The shared multi-scheme HTTP/RTSP auth model — re-exported so a
/// registered `AuthFactory` can build a `broadcast_auth::Verifier` (its
/// return type) without an external crate needing its own direct dependency
/// on `broadcast-auth`.
pub use broadcast_auth;
pub use serve;
pub use serve_with_registry;
pub use ;
pub use Output;
pub use ;
pub use Source;
pub use MediaStore;