Platform Overview
Phrame Platform Overview
Section titled “Phrame Platform Overview”Phrame turns any collection of live and file-based sources into a single, software-defined broadcast chain — ingest, mix, record, and deliver — running on standard IT hardware instead of dedicated broadcast boxes.
Why it matters
Section titled “Why it matters”Traditional broadcast facilities are built from fixed-function hardware: each capability — ingest, mixing, recording, encoding — is a separate, expensive appliance, wired together and difficult to change. Phrame replaces that with software services on commodity servers, connected by a shared-memory frame bus rather than a wall of cabling.
The result:
- Any source, any destination. Files, RTSP/SRT streams, DVB tuners, NDI, and SMPTE 2110 come in; file, RTP, SRT, WebRTC, NDI, and HLS go out — the same platform, reconfigured in software.
- Nothing is lost. Every source can be captured to a time-addressable store (TAMS), so any moment can be retrieved, replayed, or reversed by its time range.
- Standards-based, not proprietary. Phrame speaks the open broadcast standards the industry is moving to (SMPTE 2110, NMOS, the AMWA time-addressable model), protecting the investment.
- Deploys like modern software. Services are containers, orchestrated across nodes — scale up, scale down, and update without a truck roll.
In one line: the flexibility of software, at broadcast quality, on hardware you already know how to buy.
How it works
Section titled “How it works”Media flows left-to-right through the media plane (the amber-framed band in the diagram). Each stage does one job:
| Stage | What it does for you |
|---|---|
| Sources | Bring media in from files, RTSP/SRT, DVB, NDI, or SMPTE 2110. |
| input-processor | Normalises every source into a consistent raw-frame stream — scaling, reframing, timecode/overlay burn-in, proxy copies. |
| frame bus | The live shared-memory bus (VDI/MXL) every other service reads from and writes to. This is the backbone. |
| vision-mixers | Switch, scale, composite, and overlay sources into program output. |
| egress | Deliver the result: output-processor (file/RTP/SRT/WebRTC/NDI), hls-encoder, rtp-streamer. |
Recording and replay. At any point the TAMS store can record from the frame bus and play back onto it — so live output and replay use exactly the same path (the record / play arrows in the diagram).
Controlling it all. Everything is configured and coordinated from the control plane (shown beneath the media plane): the web-ui / architect is where operators build and drive pipelines; it talks to backend services (config, MQTT, RBAC), which drive the node-orchestrator to start and stop the right containers on each node. Configuration travels over MQTT — the dashed link in the diagram — so the media plane and the control plane stay cleanly separated.
Under the hood
Section titled “Under the hood”The frame bus. Services exchange raw frames (default pixel format
yuv422p16le) over a shared-memory bus provided by native plugins loaded
as .so libraries — VDI and MXL for the bus itself, plus NDI and SMPTE 2110
for standards I/O. Because everything downstream reads the same raw-frame
contract, sources are interchangeable and stages compose freely.
Standards and protocols.
| Area | Support |
|---|---|
| Uncompressed IP video | SMPTE ST 2110, with NMOS (IS-04/IS-05) discovery & connection |
| Contribution / streaming | RTSP, RTMP, SRT, RTP, HLS, DASH, WebRTC |
| Production interconnect | NDI, MXL |
| Broadcast ingest | DVB-T/T2 tuners, V4L2 capture |
| Recording model | AMWA Time-Addressable Media Store (sources → flows → segments) |
TAMS — the recording model. A source (e.g. “Camera 1”) has one or more flows (concrete encodings); each flow is stored as time-addressable segments in object storage (S3/MinIO), indexed by time range. This is what makes any moment individually retrievable, and retention policy-driven.
Deployment. Every service ships as a container image built by the monorepo’s single sanctioned build path. The node-orchestrator places and supervises containers per node; the services tier holds configuration, the MQTT broker, and role-based access control. The control plane is orthogonal to the media plane — you can reconfigure the production without touching the frames in flight.
This page is the reference exemplar for the Phrame documentation system: one
source, four audiences (via the outcome / howto / deep layers above),
a house-style diagram generated from code, and Markdown ready for the website,
PDF, and slide-deck outputs.
