Skip to content

Latest commit

 

History

History
40 lines (30 loc) · 4.29 KB

File metadata and controls

40 lines (30 loc) · 4.29 KB

ts-transformer

ts-transformer reads, builds, and transforms MPEG-TS — mux + demux, typed MISB ST 0601 KLV encode/decode, H.264 / H.265 / H.266 / AV1 parsing — and, when you need a wire, streams it over UDP, TCP, RTP, SRT, or RIST (or publishes HLS) with reconnect, encryption, and typed metadata decoding handled. From a .ts file on disk to a live encrypted uplink in ~30 lines.

Rust core. C, Python, and JVM bindings.

🆕 First time touching MPEG-TS, KLV, or SRT? Read start/concepts.md first — five minutes of plain-language explainers before anything else.

Pick your starting point

🆕 New to this domain

Plain-English explainers before you read any API.

What is this?
MPEG-TS / KLV / SRT in 5 min
Quickstart
🔍 Evaluating the library

"Is this what I need?"

Overview
Feature matrix
Interop + soak evidence
What's not yet supported
License: MIT or Apache-2.0
⚡ Pick your language

Drop-in for your app.

Rust
C
Python
Embedded (no_std)
Decision table (below)
🔧 Build something real

Deep guides and recipes.

Mux MPEG-TS
Demux MPEG-TS
KLV
HLS
Cookbook (40+ recipes)
📚 Look up a type or error

Reference and API lookup.

Architecture
Public API policy
API stability tiers
Conventions
STANAG 4609 / MISP conformance
Troubleshooting
🧩 Port a binding / contribute

Wrap ts-transformer for a new language.

Binding-authors guide
Public API policy
SRT cancel-handle
Security policy

Which language should I pick?

Language Surface When to pick
Rust Full Sender / Receiver + low-level primitives Embedding in a Rust app; want type-level guarantees
C Full sender + receiver surface (cdylib + staticlib + tstrans.h) Embedded targets; cross-language linkage; maximum ABI stability
Python Offline .ts inspect/build, typed KLV decode/encode, DataFrame adapters, and live UDP / TCP / RTP (incl. RTSP) / SRT / RIST transports + Pairer Notebooks; KLV-to-DataFrame ETL; offline processing; live ingest/egress
JVM (tstrans-jvm / org.tstrans on Maven Central) Mirrors the Python surface: mux + demux, typed KLV, RTP (incl. RTSP) + SRT transports, pairing JVM backend consumers
Embedded (bare-metal / RTOS) no_std Rust core + C staticlib + FreeRTOS/lwIP/libsrt reference port, all QEMU-gated No-OS or RTOS firmware; MCU with no host runtime

What kind of pages live here?

This site organizes content four ways. Knowing which kind you're reading helps you spot what you need:

(This is the Diátaxis framework. You don't have to learn it — just notice that the page you're on is one of those four.)