Skip to content

// Industry

Real-time video engineering for streaming platforms

Always-on video that has to stay up and stay affordable — fleet capacity, transcode cost, and the failure modes that only appear at production framerate.

// The constants

The numbers this sector runs on

minutes a month

43,200

what one always-on source publishes: 60 × 24 × 30. The unit the whole bill is denominated in.

per source, per month

$648

those minutes at LiveKit's published Scale-tier transcode rate of $0.015 per video minute, read from livekit.com/pricing on 2026-08-01 — before a single viewer connects. Rates move; price yours against the page.

encoder sessions

8

NVIDIA's concurrent cap on non-qualified cards, counted per system rather than per card — from their NVENC Application Note. It has moved between SDK versions (3 in Video Codec SDK 11, 8 in 13), so read it against the driver you run.

Not our measurements: arithmetic anyone can redo, and ceilings the vendor publishes — what the platform costs by construction. Each figure names its source. The numbers we took ourselves are below.

// The problem

Why this is hard

Always-on video fails quietly. Nothing goes down, nobody is paged, and the complaint arrives as a shape rather than an error — a cost line that grew, or a viewer who says it has looked worse lately. By the time anyone books time to look, the system has usually been wrong for months, and being wrong slowly is what makes it expensive.

It resists debugging because the wrong number is rarely the obvious one. Three failures account for most of what we find, and not one of them announces itself:

  • A ladder nobody ordered

    Transcoding re-encodes every publisher into layers whether or not a viewer ever asks for them — and on an always-on source that runs every minute of every month.

    Stop re-encoding on ingress and let publishers send the layers. The saving tracks publish-minutes — dominant on an always-on source, rounding error on one that publishes for an hour a day. In exchange every publisher's encoder becomes a surface you own, and it fails quietly: the trade inverts once that list grows from outside.

  • A ceiling that is not CPU

    Hardware encoders cap concurrent sessions, not cycles. Cross it and the encode can fall through to software with no log line: same output, several times the cost.

    Size the box against the encoder's session ceiling as well as its cores, and take whichever runs out first. There are two ways up and they price differently: a card whose ceiling is higher, or the unsupported patch — which lives outside version control, is lost on any driver or kernel upgrade, and restarts every process holding the encoder library when applied.

  • A queue in the wrong unit

    A buffer bounded in frames is a different depth at 60fps than at 30 — tuned in development, it runs too shallow in production and drops video while audio keeps flowing.

    Bound the queue in time, sized against the longest handshake it must survive. It needs a number development cannot hand you — what that path carries under real load — and a size limit kept beside the time one, because a queue with no ceiling left on it is unbounded rather than generous.

// What matters here

The capabilities that move the needle

Real-Time AI Audit

Where the latency actually goes between the camera and the SFU, what breaks when the fleet reconnects at once, and what a minute of stream costs — as a prioritised, costed fix list.

Real-Time Rescue & Migration

A stack whose original team is gone, or a platform that no longer fits the bill: stabilised first, documented, then moved somewhere maintainable without a rewrite you can't afford.

Real-Time Ops

Capacity, latency and cost per stream tracked continuously — because an always-on fleet degrades silently, and a fallback nobody noticed bills for weeks.

RAG & Knowledge Systems

Grounded search across the operational record an always-on fleet accumulates — runbooks, incident history, transcripts — answering with a citation instead of a plausible paraphrase.

Compliance-Grade Recording

Retention schedules that actually expire, redaction applied on the live pipeline, and an access log that reconstructs who watched what — the obligations an always-on archive accumulates whether or not anyone planned for them.

// Deep dives

Going deeper for media & streaming

// Proof

Measured on our own hardware

cores per stream

0.79

a full 1080p re-encode; 0.13 to decode only. Synthetic 1080p25 H.264 through ffmpeg -benchmark, in a 4-core-capped container on an i9-14900, 2026-08-01.

encode latency, one live session

1.8 ms

a live 1080p59 encode on our own production box while the GPU reported 8% utilisation, with seven encoder sessions still free. Enormous throughput headroom on a resource whose real limit is a session count — which is why neither number can tell you the box is filling. Re-verified 2026-08-01.

of video in a 3-buffer queue

50 ms

at 59.94 fps. The same setting holds 100 ms at 30 — a queue bounded in frames is a different depth in wall-clock, which is the whole bug.

Not a client outcome and not a vendor figure — numbers we took, on hardware we can name, with the method published in full. The write-ups: How many cameras fit on one box — and the ceiling that hides until you cross it, Video not publishing, audio fine — the bug that only appears at production framerate.

// From the field

What we wrote about it

// FAQ

Common questions

Because most of a real-time video bill is transcoding, not bandwidth or connection minutes. A quality ladder that is on by default re-encodes every publisher whether or not anyone watches the extra layers; simulcast moves that work to the sender and can remove the charge entirely. The first thing to do is price your current path per minute, so the decision is a number rather than a hunch.

Usually fewer than the CPU headroom suggests, because the limit is rarely CPU. Hardware encoders enforce a session cap, and crossing it can fall back to software silently — the box keeps serving while its cost per stream multiplies. Capacity is worth measuring rather than estimating, and the fallback is worth making loud.

The failure modes that survive staging are the ones tied to production framerate, production concurrency, or a cold start where the whole fleet reconnects inside the same minute. They reproduce when you reproduce those conditions — which is what a load and failure pass is for, and why a dev-framerate test can pass on a system that is already broken.

// Related

Related industries

All industries

// Let's build

Building AI for media & streaming?

Tell us where you are. We reply within a day with a concrete next step.