Feature status

What has been tested end to end and under which conditions, what is built but not yet proven, and what is planned.

Every feature has one of four statuses. Where a feature is Verified, the conditions say what it was tested on, and the source is a recorded result in the SDK repository.

StatusMeans
Verifiedrun end to end under the stated conditions, with a recorded result
Betabuilt and covered by automated tests, but not yet run end to end under real conditions (a real device, a real encoder, a real network)
Experimentaloff by default, a test option, or shown only against a model
Planneddecided or described, not built yet

None of the runs below was on a phone, in Safari, or glass to glass. Most ran on one Linux machine with every part of the service on it; the scale and region runs were on cloud VMs.

Publish

FeatureStatusTested onSource
SRT from ffmpeg, video and soundVerifiedone machine, ffmpeg 6.1, 1080p30, played in headless Chromebench/results/2026-10-30/ingest-audio, ingest-aac
Sound: Opus passed through, AAC-LC turned into OpusVerifiedone machine, ffmpeg 6.1 over SRT (and AAC over RTMP), sound and picture in stepbench/results/2026-10-30/ingest-aac
SRT from OBS, vMix, hardware encodersBetaa stand-in encoder with OBS's settings onlydocs/sdk/publish/obs-srt.md
RTMPBetaffmpeg 6.1, checked on the LL-HLS output onlybench/results/2026-10-30/ingest-aac
RTMPSBetathe ingest's own testscrates/nearglass-ingest/tests/rtmps.rs
WHIP (video only)Betathe ingest's own tests; a browser publisher in a design testcrates/nearglass-ingest/tests/whip.rs, WHIP
nearglass publish from a fileVerifiedone machine, packages built from the release, five quickstart runsHow these docs were checked
nearglass publish from a camera (Rockchip)Betathe encoder's logic is unit tested; never run on a boardunit tests
The C library, publishing from a deviceVerified, Linux x86_64 onlyone machine: a sample publishing with an API token, refused without itsamples/c-publisher, tools/smoke.sh
Python: live frames into numpyBetaone subscriber in a lab run, not yet a published resultAI and vision models
Python: publishing, and results tied to framesBetaan end-to-end test through a relay, no recorded runpython/tests/test_live.py

Play

FeatureStatusTested onSource
Web player over MoQ in Chrome on a computerVerifiedheadless Chrome on Linux and Windows, one machine, the packaged player from another originRESULTS.md, Web player
Edge, Firefox on a computerBetaEdge has the browser features the player needs; neither has played a stream end to endWhat works with what
Chrome for Android, Samsung InternetBetanot run on a phonePhones and Safari
Sound in the browserVerifiedheadless Chrome on one machine, sound and picture in stepbench/results/2026-10-30/ingest-audio
Renditions and switching between themVerifiedheadless Chrome against a shaped network on one machine, three runsbench/results/2026-10-21/renditions-browser
LL-HLS fallback: the switchBetaheadless Chrome with Safari simulated and a stand-in for hls.jsThe fallback
LL-HLS fallback: playbackBetathe LL-HLS the ingest makes checked on its own; not played by our player through the servicebench/results/2026-10-30/ingest-aac
Safari, iPhone, iPadBetathe decision to use LL-HLS checked with Safari simulated; not run on a device through the servicePhones and Safari
Keeping MoQ on Safari by rotating connectionsExperimentalagainst a model of Safari's bug only; off by defaultbench/results/2026-10-21/rotation
React componentBetaits tests run without a real React; the server call of the Next.js sample ran against the real APIReact and Next.js
Native Windows player (the C library)Betaplayed streams on Linux; not built or run on WindowsA native Windows app
Controllers: one driver, many watchersVerified50 commands a second through the relay with delay and loss added, the device stopping by itself 307 ms after the driver was killed; the browser controller's stops in headless Chromebench/results/2026-10-20/control, browser-controller

Secure

FeatureStatusTested onSource
Viewer tokens from your backendVerifiedheadless Chrome on one machine, the seat held past its timeout; a Node.js routeMint viewer tokens on your server
Public admission with a publishable keyVerifiedheadless Chrome, five quickstart runsWeb player
Viewer cap and waiting roomVerifiedheadless Chrome: in line, offered a seat, joined, liveWeb player
Token renewal while watchingVerifiedheadless Chrome, 30 s tokens, 10 minutes, 39 renewals without a visible pausebench/results/2026-10-30/sd60-token-renewal
Publisher tokens and their renewalVerifiedone machine, the command line tool and the C libraryToken renewal
Refusing tokens while the clock is not setBetathe API's tests; no machine with an unset clock was availableTime sync
A full edge refusing new viewersVerified, lab onlyone machine, relays limited to one CPU each, 800 software viewers, no tokensbench/results/2026-10-30/sd74-edge-admission
Account caps (streams, publishers, egress)Betathe relay's and the API's testsAdmission and caps
Changing a stream (PATCH)Betathe API's testsConcepts
Rotating a stream keyBetathe API's tests; not with a live encoderConcepts

Operate

FeatureStatusTested onSource
Usage meteringVerifiedone machine from the packages, and cloud VMs in two regions, where the API's daily total matched the relays' own counters to the byteUsage and spending caps
Spending caps and alertsVerifiedone machine from the packages: the cap, the refusal, the alerts at 50, 80 and 100 %Usage and spending caps
Webhooks to the operatorVerifiedone machine, signed events and retries; fleet events on cloud VMsWebhooks
Webhooks to your own URLBetathe API's tests; not to a public addressWebhooks
Monitoring endpoints and the status pageVerified, without loadone machine, and on cloud VMs during the region runsMonitoring
Regions, the nearest edge, failoverVerifiedtwo regions on one machine, and four cloud VMs in two real regions: headless Chrome picked its near edge; a killed relay was replaced in about 2 sdocs/FLEET.md
Kicking a viewerVerifiedtwo regions on one machinedocs/FLEET.md
1,000 viewers on one streamVerified, software viewersnine cloud VMs in one region, twicePerformance
More than 1,000 viewersPlannednot runPerformance
Self-hosting the relay, API and ingestBetathe binaries on one machine; the relay's Debian package not installed and its service files not runSelf-hosting
Packet loss recovery (FEC)Experimentallab and cloud runs; off by default and off in the service
max_kbps enforced by the ingestPlannedrecorded, not enforcedWhat works with what
DashboardBetathe API side only
Sign-up, downloads, packages on npmPlannedthe packages are built and used in our runs; nothing is publishedQuickstart

How this page was made

From the results recorded in the SDK repository (RESULTS.md and bench/results/), the "What was run" sections of these docs, and the automated tests in the repository, as of 2026-11-02. A feature moves up only with a new recorded run. The quickstart runs are described in the docs' maintainer notes (docs/sdk/README.md, "How these docs were checked").

On this page