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
xMedia SDK — built on 20 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
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.