xMedia SDK · Medialooks
Public Beta — Core pipeline production-ready. New modules ship quarterly. See roadmap →

The framework for building
professional media systems.

A modular C++ framework for professional video and audio pipelines. Pick the modules you need, compose them into a system of any complexity, and run the same code on Windows, Linux, and macOS — in C++, C#, or Python.

C++ / C# / Python developers — embed into your product System architects — distributed media infrastructure Broadcast engineers — WebSocket API control
SRTNDISDI / BMDWebRTCWebSocket APIC++ / C# / PythonWindows · Linux · macOS
pipeline config · JSON
// Define a pipeline in JSON —  // xMedia SDK builds the node tree
{
  "pipeline": {
    "ingest": {
      "type": "SourceStreamsAdd",
      "url":  "srt://cam1:9000"
    },
    "process": [
      { "type": "Transcode",
        "codec": "h264", "hw": "cuda" },
      { "type": "ReplayBuffer",
        "depth_sec": 300 }
    ],
    "output": [
      { "type": "Publish",
        "url": "srt://cdn:4200" },
      { "type": "Record",
        "path": "/archive/{date}.ts" }
    ]
  }
}
// Same config. Windows, Linux, macOS.
Trusted by Medialooks customers
VizrtCinegySoftvelumTelestreamSynamediaRoss Video
xMedia SDK — built on 15 years of broadcast infrastructure
Core concept

A framework, not a library.

xMedia SDK is built around a tree of processing nodes. Each node is a module — a decoder, mixer, recorder, streamer. You connect modules into a pipeline. The framework handles data flow, threading, synchronization, and inter-node messaging automatically.

Ingest
SRT / RTMP / HLS NDI · SDI · WebCam File: MP4 / TS / MXF WebRTC (SFU/MCU)
Process
Decode / Demux Scale · FPS · Resample Mix · Overlay · CG Chroma Key · Effects
Buffer / Store
Replay buffer (RAM/disk) 24/7 recording Playlist / Scheduler Subtitle encode/decode
Output
SRT · RTMP · NDI · SDI WebRTC (SFU/MCU) HLS / DASH / DRM File: MP4 / TS / MXF
🧩

Modular

Pick only the modules you need — Base, Playlist, Mixer, Replay, CG, Chroma Key, Writer, xNetwork, Subtitles. Each is independent. Add capabilities without touching existing code.

🌐

Cross-platform

One codebase. Windows, Linux, macOS. The same API, the same module interfaces, the same behavior — whether you deploy to a cloud VM, on-prem appliance, or edge device.

🔤

Multi-language

C++, C#, Python — all share the same module API and interfaces. Control any pipeline remotely via WebSocket from any language or platform, including browsers.

Built for speed

Codec integration, hardware acceleration, SRT/NDI/SDI support, sync, buffering — already built. You compose pipelines from ready modules, not implement infrastructure from scratch.

Available today

Try it now. Full pipeline in minutes.

The core pipeline modules are production-ready. Download the sample from GitHub — runs on Windows, Linux, and macOS out of the box. No configuration required to get started.

⬇️

Download sample

Open-source sample on GitHub. Clone, build, run. Full ingest-process-output pipeline ready in minutes.

Get on GitHub →
🌐

Web UI included

Open browser, connect to your running xMedia instance. Add sources, monitor streams, control playback — no extra setup needed.

Runs locally
📡

WebSocket API

Control everything programmatically. The same API the Web UI uses — automate from Python, JS, C#, or any language.

Port 8765 · JSON · RPC
What the sample can do
📥

Ingest

  • SRT, RTMP, RTSP, UDP, HLS
  • NDI sources on the network
  • Blackmagic SDI / HDMI
  • File: TS, MP4, MXF
  • Remote xMedia peer streams
SourceStreamsAdd
⚙️

Process

  • Decode, scale, FPS conversion
  • HW transcode: CUDA, QSV
  • Mixer — multiple sources
  • Graphic / logo overlay
  • Video filtergraph support
StreamTranscode · StreamMix
⏱️

Replay Buffer

  • Frame-accurate seek & scrub
  • Slow motion, reverse playback
  • RAM or disk, any depth
  • Export: MP4, TS, PNG frame
  • Publish delayed output
StreamReplayEnable
📤

Output

  • Push SRT, RTMP, UDP, RTSP
  • NDI output — name and publish
  • Blackmagic DeckLink SDI/HDMI
  • 24/7 segmented recording
  • Browser preview via WebRTC
StreamPublish · StreamRecord

Works on all major platforms — today

Same sample, same API, same behavior across operating systems.

🪟 Windows 🐧 Linux 🍎 macOS
Use cases

One framework. Many systems.

xMedia SDK is the infrastructure layer inside broadcast tools, OTT platforms, sports replay systems, MAM solutions, and security software.

Broadcast & Playout

Live production & channel automation

Ingest live feeds and file assets into a single pipeline. Mix sources, overlay CG graphics, encode to broadcast specs, push to SDI, NDI, and CDN simultaneously. Add the Playlist module for schedule-driven channel automation — one codebase runs the whole channel.

BasePlaylistMixerCG (HTML5)WriterxNetwork
Live Sports

Instant replay & slow-motion

Buffer every ISO camera feed from the moment broadcast starts. The moment the play ends — seek to any frame, scrub at any speed, export the clip. All frame-accurate, controlled via API from any operator interface you build on top.

BaseReplayMixerWriter
OTT & Media Servers

Scalable ingest and delivery platform

Build the ingest and processing core of an OTT platform or media server. Multi-bitrate transcoding, DRM-ready packaging, delivery to unlimited endpoints — all in one pipeline, one codebase, deployable on any OS.

BaseWriterxNetworkWebSockets
MAM & Archive

Recording, browse & clip workflows

Continuous 24/7 recording segmented into files. Read from a file that's currently being written. Frame-accurate clip access for browse and export workflows. Subtitle decode for archive search and indexing.

BaseReplayWriterSubtitle modules
Video Surveillance & Security

Distributed camera processing at scale

Ingest RTSP/ONVIF streams from IP cameras across your network. Process, record, and distribute video to monitoring stations, archive, and remote viewers. Lightweight per-node footprint — runs headless on Linux appliances, managed remotely via WebSocket API.

BaseWebSocketsWriterxNetwork
RTSP / ONVIF ingest from any IP camera
Multi-stream recording with segmentation
Live distribution to monitoring stations
Remote management via WebSocket — no GUI required
Headless Linux deployment, minimal footprint
SDK modules

Modular by design. Add capabilities without rewriting.

Each module is a self-contained unit with a clean API. Add it to your pipeline when you need it — the rest of your system doesn't change.

🔌
Input & Transport
Ingest, protocol support, distributed networking

Base module

Node framework, actor model, module factory, JSON pipeline config, inter-module messaging

May 2026

WebSockets module

Inter-module communication across servers — enables fully distributed systems

Aug 2026

xNetwork module

SRT (with bonding), WebRTC with SFU/MCU, low-latency delivery over IP

Q1 2027
📋
Playback & Scheduling
Playout automation, encoding, synchronization

Playlist module

Seamless multi-format playout, live + file mixing, schedule-driven broadcast automation

Jun 2026

Writer module

Simplified encoding API — choose codec and output, the module handles the rest

Nov 2026

Sync module

NTP/PTP clock synchronization across pipeline nodes, <10ms accuracy

Oct 2026
🎨
Production & Effects
Mixing, graphics, real-time visual processing

Mixer module

Combine multiple video/audio sources with varying formats into a unified output stream

Sep 2026

CG (HTML5) module

Overlay dynamic HTML5 graphics as on-screen CG visuals — data-driven, animated

Sep 2026

Chroma Key / Video Effects

Real-time background removal and replacement — live broadcast and virtual studio ready

Sep 2026
🗄️
Archive & Delivery
Recording, replay, subtitles, clip workflows

Replay module

Frame-accurate buffer (RAM/disk), seek, slow/fast motion, reverse, clip export as MP4/TS

Sep 2026

Subtitle modules

Decode and encode DVB subs, DVB teletext, SRT, bitmap and text-based subtitles

Q1 2027
Quick start

Up and running in minutes.

Download, run, send your first command. All samples are ready to copy and launch — no boilerplate needed.

1

Get API Access

Request access and download the xMedia SDK package for your platform.

Get API Access →
2

Run the instance

Launch xMedia on your machine. WebSocket server starts automatically on port 8765.

./xmedia-server --port 8765
3

Copy a sample and go

Pick any sample from GitHub. Copy, adjust your source URL, run.

github.com/Medialooks-LLC/xmedia_api →
API interfaces

API-first by design

Every capability is equally available through the API — with the same performance and latency guarantees. Pick the interface that matches your stack.

🔌LIVE

WebSocket API

Primary control interface. Full bidirectional RPC with JSON payloads. Subscribe to stream events, issue commands, get real-time status. Works from any language, framework, or browser.

TransportWebSocket + JSON / Binary
PatternRPC + Event subscriptions
Port8765 (default)
LIVE

C / C++ Native API

Deep integration for building products on top of xMedia SDK. Zero-copy access to stream data, direct frame callbacks, minimal overhead — full control over the node tree.

StandardC99 / C++17
PlatformsLinux · Windows · macOS
LinkingStatic / Shared
🔧PLANNED

gRPC API

High-throughput service-to-service automation. Strongly typed Protobuf schema, bi-directional streaming, lower overhead for high-frequency control loops.

ETAQ3 2026
SchemaProtobuf
PatternBi-directional streaming
Product comparison

xMedia SDK vs Video SDK

Both are Medialooks products — built for different architectures and stages. Here's how to choose the right one for your project.

xMedia SDK — new generation Video SDK — proven & mature
ArchitectureNode-tree framework — modular, composable pipelinesComponent-based pipeline with explicit connections
LanguagesC++, C#, Python + WebSocket from any languageC++, C#, Python
PlatformsWindows, Linux, macOSWindows (primary), Linux
API styleWebSocket JSON · Native C API · gRPC (planned)Direct SDK API
Replay buffer Frame-accurate, built-in Requires custom implementation
Distributed Multi-node architecture Single-node
HW accelerationNVIDIA CUDA, Intel QSVNVIDIA CUDA, Intel QSV
StatusPublic Beta — core pipeline production-readyProduction — battle-tested since 2010
Best forNew projects: OTT, media servers, playout, MAM, securityExisting integrations, Windows-first broadcast apps
Unreal Engine integration

Virtual production, natively connected.

Full xMedia SDK control from inside Unreal Engine. Route live camera feeds into virtual scenes, publish composited output as streams, sync to studio timecode.

  • Full xMedia API available as UE Blueprint nodes
  • Ingest live video streams directly into virtual scene materials
  • Publish UE render output as an xMedia stream
  • Timecode sync with studio hardware and other devices
  • Monitor stream status and buffer health from UE editor
UE ↔ xMedia data flow
UE Scene CameraxMedia stream publish
xMedia: cam_iso_1UE Material (live video)
Timecode 29.97xMedia frame lock
UE BlueprintStreamReplaySeekAPI call
Get started

Ready to build?

Get API access and start building your media pipeline today. Our team works directly with integrators — no ticketing queue, no generic onboarding.

📞

Request a call back

Schedule a call with our engineering team. We'll discuss your use case and recommend the right integration path.

Request a call back
🎬

Order a demo

See xMedia SDK working live against your specific pipeline — ingest, replay, or output scenarios.

Order a demo
💬

Ask a question

Have a specific technical question? Our team responds fast — usually within one business day.

Ask a question
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.