xMedia SDK — Layer 02

xMediaStreams
stream-oriented media runtime

xMediaStreams is a high-level runtime built on top of xMedia Core. It shifts the development model from composing handler graphs to working with structured stream objects — streams, groups, feeds, processors, and sinks.

Stream Group Feed Feed Hub Processor Sink
Most production-ready layer of the xSDK

Use Cases

What xMediaStreams is built for

xMediaStreams handles the workflows where structure and reliability matter. These are the scenarios it is designed to solve — not as extensions, but as first-class supported patterns.

01 Live Ingest Bring in any source — SRT, NDI, SDI, file, or remote peer — as a named, addressable stream. Each source is immediately available in the runtime without manual pipeline wiring.
02 Preview & Monitoring Expose live stream output to web or custom monitoring surfaces using non-destructive peek mode. The source stream remains unaffected by monitoring reads.
03 Synchronized Reading Read multiple streams in time-aligned manner using the group model. Synchronization is managed by the runtime — your code works with a unified view across all feeds.
04 Clipping & Segment Export Define clip boundaries with stream-time or UTC timestamps and extract frame-accurate segments from any buffered stream. No re-ingest required.
05 Delay & Timeshift Offset playback position within the buffer window. The stream group model and synchronized read semantics make this a native operation rather than a custom workaround.
06 Recording Capture stream content continuously or in defined segments. The sink model supports rotation, UTC-aligned boundaries, pause and resume without gap in output.
07 Multi-Channel Monitoring Manage many ingest channels simultaneously within a single processor. Groups keep the topology organized and consistent without manual bookkeeping.
08 Remote Media Workflows Control the entire stream runtime over WebSocket via XNetwork. Ingest, process, record, and output — all from a remote client, without modifying the server-side C++ code.

Core Model

A runtime built around streams and groups

xMediaStreams introduces a structured object model on top of the handler layer. Every source, processing step, and output is a first-class runtime object — with defined lifecycle, time semantics, and a stable public interface. You no longer wire handlers together; you configure streams and let the runtime manage the rest.

Applications built against xMediaStreams interfaces remain stable as the underlying xMedia Core pipeline evolves. The abstraction boundary is intentional and maintained across releases.

Runtime objects

Stream A single addressable media timeline with boundaries and positioning
Group A topology-aware collection of streams with synchronization
Feed A source track that materializes into an addressable stream
Feed Hub Source inventory managing and exposing all available feeds
Processor Top-level orchestration and runtime control entry point
Sink Output endpoint — record, export, or deliver stream content

Interfaces

Main API components

01
IMediaStream A single media timeline with defined start and end boundaries. Supports read and non-destructive peek access, UTC and stream-time positioning, and write operations for live sources.
timeline boundaries read / peek / write UTC positioning stream-time
02
IMediaGroup A topology-aware collection of streams. Manages relationships between multiple streams, provides synchronized access across all members, and exposes the group as a unified object.
multi-stream topology synchronization unified access
03
IMediaFeed / IMediaFeedHub IMediaFeed represents a source track that materializes into a stream on demand. IMediaFeedHub maintains the complete inventory of available feeds and provides access to all materialized streams.
source tracks materialization source inventory
04
IMediaProcessor The top-level orchestration object. Coordinates feeds, groups, and sinks into a coherent processing workflow. Primary entry point for configuring and controlling the runtime.
orchestration configuration lifecycle runtime entry point
05
IMediaSink Output endpoint for a stream. Handles capture, continuous recording, and segment export. Supports pause, segment rotation, UTC-aligned boundaries, output switching, and seamless audio join on segment boundaries.
capture recording segment rotation UTC boundaries output switch pause / resume

Workflow Model

Feed → Processor → Sink

xMediaStreams connects sources to outputs through a structured three-stage pipeline. Each stage has a defined role, clear API boundaries, and predictable behavior in production.

Stage 01 Feed Source tracks are exposed as feeds through the FeedHub. Each feed materializes into an addressable stream that is immediately available within the runtime.
SRT, NDI, SDI, file, remote peer
Each source becomes a named, addressable stream
FeedHub maintains the full source inventory
No manual pipeline wiring required
Stage 02 Processor The processor orchestrates groups of streams, manages time-domain synchronization, and exposes a unified view over the active workflow state.
Group management and topology control
Time-domain sync across all active streams
View management — what is active and visible
Runtime state and processing coordination
Stage 03 Sink Output endpoints capture, record, or deliver stream content. Sinks handle segment rotation, UTC boundaries, output switching, and pause/resume without output gaps.
Continuous recording with seamless segment rotation
Frame-accurate clip export with UTC boundaries
Output switching without stream interruption
File, stream, or remote delivery targets

Readiness

Production-ready today

xMediaStreams is the most stable and complete layer of the xMedia SDK. The core runtime model is defined, the public interfaces are stable, and the layer is actively used in real workflow integrations. This is the recommended starting point for any new project.

Most production-ready layer of the SDK

What is available today

Stream, group, and feed model — fully implemented and stable
Time-domain model with UTC and stream-time positioning
Read and peek semantics for non-destructive stream access
Processing streams with synchronized group access
Remote command surface via XNetwork integration
Stable public node-based representation with JSON and binary payload support
API reference and documentation groundwork in progress

Summary

The runtime foundation for media workflow products

xMediaStreams is not a toolkit of components — it is a runtime with a defined object model. It gives you the structure to build real products: monitoring systems, replay servers, ingest pipelines, and distributed media backends. The abstraction is intentionally high-level: your code describes what the workflow does, not how to wire handlers.

01
High-level runtime abstraction Stream, group, feed, and sink objects replace low-level handler composition. Pipeline complexity is managed by the runtime, not your application code.
02
Ready for real workflows The core model is stable and validated against production ingest, recording, and replay scenarios. Start building on it today without waiting for a future release.
03
Stable as the platform grows Public interfaces are designed for long-term stability. As xMedia Core expands, xMediaStreams surfaces new capabilities without breaking existing integrations.
Get access to xMedia SDK xMediaStreams is part of xMedia SDK. Contact the Medialooks team to discuss your use case and request access. Request API Access Back to xMedia SDK overview
Request a call back
We'll help you figure it out
Order a demo
Show the product live
Ask a question
We will answer your questions
our newsletter
Our software uses code of FFmpeg licensed under the LGPL version 2.1 and it's source can be downloaded here. FFmpeg is a trademark of Fabrice Bellard, originator of the FFmpeg project. Blackmagic Design, Deltacast, Stream Labs, AJA, Magewell, DecTek, Bluefish444 and other trademarks are property of their respective owners. NDI® is a registered trademark of NewTek, Inc.