Skip to main content

MoQ CLI Publisher

MoQ CLI Publisher is available in the NetActuate Marketplace as a one-click, open-source appliance you can deploy into any NetActuate PoP. Media over QUIC contribution ingest: publish a file, TS, FLV or HLS as a MoQ broadcast. It is grouped under the Media & Streaming category.

What It Does

MoQ CLI Publisher is the reference command-line publisher for Media over QUIC (MoQ), an emerging IETF standard for live media transport. Instead of the classic segmented-HTTP stack (HLS/DASH) that trades latency for scale, MoQ carries live video and audio as prioritized streams over QUIC and WebTransport, reaching sub-second glass-to-glass latency. This appliance is the contribution-ingest side of that pipeline: the moq-cli publisher imports your media and publishes it as a MoQ broadcast to a relay.

Key features

  • Contribution ingest: import fragmented MP4 / CMAF, MPEG-TS, FLV, or pull an HLS / LL-HLS playlist, and publish it as a MoQ broadcast
  • Bundled co-located relay so the box works standalone out of the box; or publish to an external relay by seeding its URL
  • Publishes a bundled sample clip on first boot, so the appliance is a live feed immediately
  • Sub-second live latency over QUIC / WebTransport, not segmented HTTP
  • Standards-track: implements the emerging IETF Media over QUIC (moq) transport
  • Self-signed TLS certificate generated at first boot so the co-located relay runs immediately; the certificate fingerprint is published for browser cert pinning
  • Ships the unmodified upstream moq-cli / moq-relay (Apache-2.0 OR MIT)
  • Open demo: no login to manage

Use cases

  • Feed existing content (a file, an MPEG-TS/FLV feed, or an HLS origin) into a MoQ delivery path without writing any code
  • A contribution front door that ingests at the edge and rides MoQ upstream toward a relay mesh near your audience
  • Experimenting with and building on the emerging Media over QUIC standard

Why run it on the NetActuate edge MoQ is designed for a relay mesh that lives close to audiences, fed by contribution publishers at the edge. Running the publisher in a PoP near your source shortens the first mile into MoQ and keeps the live path on infrastructure you control.

Deployed from the NetActuate marketplace, the publisher boots pre-configured from your seeded values: the management/landing port, the co-located relay's UDP media port (QUIC/WebTransport), the broadcast name, and an optional external relay URL to publish to instead of the co-located one. The media transport is QUIC over UDP, so the deploy network must allow UDP passthrough to the relay port. This is a HEADLESS appliance: there is no web console. The co-located landing page documents the exact publish command, the broadcast name and the relay endpoint, and only serves once a first-boot self-check has confirmed a real pub->relay->sub loopback (the publisher publishes the sample to the co-located relay and a local subscriber reads it back).

Vendor and Project

MoQ CLI Publisher is an open-source project, offered here under the Open Source listing with best-effort community support.

NetActuate supports the underlying infrastructure. Application-level support follows the listing SLA class (open-source, best effort).

Sizing

vCPURAMDisk
Minimum12 GB20 GB
Recommended24 GB50 GB

No VPU (hardware acceleration) is required for this appliance. Choose a size at deploy based on your expected load.

Configuration Fields

When you deploy, you provide these fields. They are written into the appliance at first boot.

FieldRequiredDefaultNotes
Management / landing port (TCP)No8080TCP port for the co-located landing/instructions page (default 8080). It returns HTTP 200 once the first-boot pub->relay->sub loopback self-check has passed, and shows the publish command, broadcast name and relay endpoint.
MoQ media port (UDP)No443The UDP port the co-located relay listens on for MoQ / WebTransport (QUIC) media, published on the instance IP (default 443). The deploy network MUST allow UDP passthrough to this port.
Broadcast nameNosampleThe MoQ broadcast name the bundled sample is published under (default sample). Subscribers watch it as <name>.hang. Allowed characters: letters, digits, . _ -
External relay URL (optional)NononeOptional. Publish the sample to this external relay instead of the co-located one (e.g. https://relay.example.com:443). Leave blank to use the co-located relay. The self-check always validates against the co-located relay regardless.

Using the Appliance

Publish into Media over QUIC in minutes

  1. Confirm the publisher is up. Browse to http://YOUR_VM_IP:8080/ . The landing page (HTTP 200) appears only after a first-boot self-check runs a real pub->relay->sub loopback (the publisher publishes the bundled sample to the co-located relay and a local subscriber reads it back), so a 200 confirms the publisher works end to end. It prints the relay endpoint, the live broadcast name, and the certificate fingerprint.
  2. Open the UDP media port. The co-located relay speaks QUIC/WebTransport over UDP on port 443 (default 443). Make sure your network/firewall allows UDP passthrough to it.
  3. Watch the bundled broadcast, or publish your own. With the kixelated/moq moq CLI, watch the live sample with moq --client-connect http://YOUR_VM_IP:443 --broadcast sample.hang export fmp4 > out.fmp4, or publish your own source with moq --client-connect http://YOUR_VM_IP:443 --broadcast mystream.hang import fmp4 < your.fmp4 (ts / flv / hls import modes are supported too).

Publishing elsewhere: set mkt_external_relay_url to publish the sample to an external relay instead of the co-located one; the fail-closed self-check always validates against the co-located relay, so a bad external URL cannot mask a broken publisher. Certificate / browser posture: the co-located relay boots with a self-signed certificate and publishes its sha256 fingerprint at http://YOUR_VM_IP:443/certificate.sha256 for pinning; for real browser playback, front the relay with a real domain and TLS certificate (browsers reject WebTransport to an untrusted certificate unless the fingerprint is pinned). Open demo, no authentication; put access control in front before exposing it broadly.

FAQ

Is there a software license fee? No. MoQ CLI Publisher is open source and free to run. You pay only for the NetActuate infrastructure and bandwidth.

Which port does the appliance serve on? The primary service is published on port 8080 by default; see the configuration fields for any adjustable ports.

Who supports it? NetActuate operates the underlying infrastructure. The application itself is community-supported open source (best-effort SLA class).

Version and Changelog

VersionStatusReleased
0.8.3Current (default)2026-07-14

Deploy


Need Help?

Contact support@netactuate.com or open a support ticket from the portal.