QuicFeed

QUIC-based feed ingest & backhaul — replacing SRT

Quick Start

1. Create a namespace and set passwords at /admin

2. Generate TLS certs for the receiver (self-signed is fine for testing):

openssl req -x509 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 \
  -keyout key.pem -out cert.pem -days 365 -nodes \
  -subj "/CN=quicfeed"

3. Start the receiver:

cargo run --bin quicfeed-rx -- \
  --namespace youtube-nfl-001 \
  --password YOUR_RX_PASSWORD \
  --listen-addr 0.0.0.0:4443 \
  --cert cert.pem \
  --key key.pem

4. Start the transmitter:

cargo run --bin quicfeed-tx -- \
  --namespace youtube-nfl-001 \
  --password YOUR_TX_PASSWORD \
  --rx-addr 127.0.0.1:4443
Replace YOUR_TX_PASSWORD and YOUR_RX_PASSWORD with the passwords you set in the admin panel. Each namespace has separate tx and rx passwords.

How It Works

Both tx and rx authenticate with this worker before establishing a direct QUIC connection. The tx acquires a namespace lock (only one tx per namespace at a time), then connects to the rx over QUIC using quinn. The rx listens for incoming connections and accepts bidirectional streams.

CLI Options

quicfeed-tx (transmitter):

--namespace    Feed namespace (e.g. "youtube-nfl-001")
--password     TX password for this namespace
--rx-addr      Receiver address (host:port)
--worker-url   Auth endpoint (default: https://quicfeed.net)

quicfeed-rx (receiver):

--namespace    Feed namespace (e.g. "youtube-nfl-001")
--password     RX password for this namespace
--listen-addr  Listen address (default: 0.0.0.0:4443)
--cert         Path to TLS certificate (PEM)
--key          Path to TLS private key (PEM)
--worker-url   Auth endpoint (default: https://quicfeed.net)

Open Admin Panel