AES67
Scaffolded · LAN multicast fabric · reach: bridged · meters at $0.005/min. Real-time media on a local network (reach: bridged) — a WAVE node ingests the multicast, converts it to a WAN transport, and a far-side node re-emits it as native multicast on the distribution LAN.
AES67 is the interoperability standard for professional audio-over-IP (RTP/multicast) on a local network. Its reach is bridged: a WAVE node joins the AES67 multicast group, converts the PCM audio to MoQ or SRT (a lossless envelope conversion — no transcode), and ships it over the WAN; a far-side node converts it back and re-emits AES67 multicast on the distribution LAN so on-prem consoles and monitors see a native source. The adapter is present and the meter is live. Note the SLA: sample-accurate interop needs PTP discipline at both ends — cross-WAN PTP is not feasible, so cloud playout is wallclock/frame-accuracy; for sample-accurate work keep the egress node on-prem (node-to-node).
No raw hosted endpoint — bridged fabric. A WAVE node on the host/LAN converts it to a WAN transport (moq, srt); consume it through the adapter or a node bridge.
Reach: bridged (the WAN bridge)
WAVE owns no transport — it is the conversion layer — so even a lan multicast fabric becomes WAN-distributable. AES67 is reached in two legs:
- Ingest leg — a WAVE node on the source LAN joins the multicast group, stamps clock + integrity + metering, and converts the media to a WAN transport you choose:
moq,srt. - Egress leg — a far-side node receives the WAN stream and converts it back to native AES67, re-emitting it as local multicast on the destination LAN so on-prem devices see a native source.
The bridge target is operator-selectable per session (moq, srt today; MoQ for general low-latency relay, SRT for ultra-low-latency point-to-point). The conversion is a lossless envelope — not a transcode — so it stays cheap and high-margin.
AES67 is PTP-disciplined for sample-accurate interop. Cross-WAN PTP is not feasible, so cloud playout is wallclock/frame-accuracy; for sample-accurate facility interop keep the egress node on-prem (node-to-node). The hosted bridge runtime is gated on CF Containers and (for some fabrics) a native adapter — see the phase above before treating the endpoint as live.
Install
Adapter: @wave-av/transports/aes67 (wave-transports/aes67).
import { Aes67Adapter } from "@wave-av/transports/aes67";
// Subscribe to an AES67 multicast stream on the LAN and bridge it up.
const a = new Aes67Adapter({ group: "239.69.0.1", key: process.env.WAVE_KEY });
await a.bridge({ to: "moq://moq.wave.online" });
Every fabric authenticates with the same WAVE key (Authorization: Bearer $WAVE_KEY) and is gated by the same scope grant. A call carrying x-wave-protocol: aes67 is attributed to this fabric end-to-end.
API reference
The WAVE gateway (api.wave.online) enforces auth, scope, entitlement, and metering for AES67 — the same contract as every other fabric.
| Scope | aes67:read / aes67:write |
| Protocol tag | x-wave-protocol: aes67 |
| Stripe meter | wave_usage_duration_ms_aes67 |
| Price env | STRIPE_PRICE_STREAM_MIN_AES67 |
| Transport | LAN multicast (lan-multicast) |
| Reach | bridged |
| Bridge targets | moq, srt |
| Spoke | — |
A subscription to the AES67 product grants both aes67:read and aes67:write. Usage is reported as wall-clock minutes under the metering dimension duration_ms:aes67, which bills the live Stripe meter wave_usage_duration_ms_aes67 once STRIPE_PRICE_STREAM_MIN_AES67 is provisioned. Read your own accumulated usage at GET /v1/usage (scope usage:read).
All fabric reference fields above are generated from the fabric-support contract (catalog/fabrics.json) and the pricing SSOT, so the docs can never drift from what the gateway actually enforces.
Pricing
| Meter | Rate | Billed unit |
|---|---|---|
wave_usage_duration_ms_aes67 | $0.005 | minute |
Every transport fabric meters at the uniform $0.005/min anchor. Metering is wall-clock and mutually exclusive — a minute is billed under duration_ms:aes67 or the aggregate stream dimension, never both. Prices are inert until your subscription is attached; you are billed only for minutes the gateway observes.