lvqr-cli 0.4.2

LVQR single binary entry point
docs.rs failed to build lvqr-cli-0.4.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: lvqr-cli-0.4.1

lvqr-cli

Single-binary composition root for LVQR.

lvqr-cli is the crate that ties the 24 other workspace crates together. It exposes the lvqr serve binary (entry point of cargo install lvqr-cli) and a re-usable library target (lvqr_cli::start) that lvqr-test-utils::TestServer drives to spin up a full-stack instance on ephemeral ports for integration tests. Everything lvqr serve does in production is exercised by the same composition root in tests.

Binary usage

lvqr serve                            # zero-config: RTMP + MoQ + LL-HLS + admin
lvqr serve --dash-port 8889           # add DASH egress
lvqr serve --whip-port 8443           # add WHIP ingest
lvqr serve --srt-port 8890            # add SRT ingest
lvqr serve --rtsp-port 8554           # add RTSP ingest
lvqr serve --cluster-listen ...       # multi-node with chitchat gossip

Every protocol beyond the four always-on surfaces (RTMP 1935, MoQ 4443/udp, LL-HLS 8888, admin 8080) is gated on a non-zero port.

Full flag + env-var reference in the top-level README.md and docs/quickstart.md.

Library usage

use lvqr_cli::{ServeConfig, start};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let config = ServeConfig::loopback_ephemeral();  // for tests
    let handle = start(config).await?;
    // use handle.rtmp_addr() / hls_addr() / dash_addr() ...
    handle.shutdown().await?;
    Ok(())
}

Every listener binds before start returns, so callers that pass port: 0 can read the bound address back off ServerHandle. Tests never have to poll or sleep.

Features

  • default = ["rtmp", "quinn-transport", "cluster"]
  • rtmp -- RTMP ingest
  • quinn-transport -- QUIC/MoQ relay via quinn
  • cluster -- chitchat cluster plane and --cluster-* CLI flags

Install

cargo install lvqr-cli

License

AGPL-3.0-or-later for open-source use; commercial license available for proprietary / SaaS deployments. See the top- level COMMERCIAL-LICENSE.md for the process.