KLV / MISB Metadata SDK for .NET
Read KLV telemetry out of MPEG-TS, decode MISB ST 0601 elements, and record or restream live MISB feeds with the metadata kept — from C# and .NET.
From €500/year · Lifetime from €1,500
What KLV and MISB are
KLV (Key-Length-Value, SMPTE ST 336) is the binary encoding that UAV, ISR and surveillance systems use to carry telemetry beside the video: time stamps, platform and sensor position, orientation, and the geolocation of the frame center. MISB ST 0601 (the UAS Datalink Local Set) defines those fields, and MISB / STANAG 4609 streams carry them as a separate metadata stream inside MPEG-TS.
What the SDK does with KLV
Two VisioForge SDKs handle KLV: Media Blocks SDK works with KLV in MPEG-TS files on Windows, Linux and macOS, and Video Capture SDK passes live KLV from an IP camera or UDP source into a recording or a restream on Windows.
- Extract: MPEGTSDemuxBlock exposes the metadata stream of an MPEG-TS file on its MetadataOutput pad, and KLVFileSinkBlock writes the KLV packets to a .klv file
- Decode: KLVParser reads MISB ST 0601 local-set elements — more than 90 of them, from precision time stamp to sensor and frame-center coordinates — and handles the BER-encoded lengths MISB uses
- Embed (Media Blocks): MPEGTSSinkSettings.Metadata takes a KLVMetadata object built from a .klv file or a byte array; it is muxed as one static payload, not a per-frame timed track
- Record and restream live KLV (Video Capture SDK, Windows): MPEGTSOutput.KLVEnabled muxes KLV from the source into the MPEG-TS file, and FFMPEGEXEOutput.KLVEnabled carries it in MPEG-TS, RTP MPEG-TS and HLS output (for file recording, also set UsePipe)
- Read live packets: the OnDataFrameBuffer event delivers each KLV packet with its size and timestamp (DataFrameType.KLV)
Code Examples
Condensed from the KLV Demo and the ip-camera-klv-mpegts-recorder sample.
Extract KLV from an MPEG-TS file and decode MISB ST 0601
C#Record a live MISB feed to MPEG-TS with KLV
C#Pipeline
In Media Blocks SDK, KLV extraction is three blocks — file source, MPEG-TS demuxer and KLV file sink — and KLVParser then decodes the .klv file. The video and audio pads of the demuxer can feed a renderer or an encoder at the same time.
Documentation and samples
KLV / MISB metadata guide
Step-by-step help page: extract, decode and embed KLV, and record live KLV with Video Capture SDK.
KLV Demo (WPF)
Media Blocks SDK sample: extract KLV from an MPEG-TS file and view the decoded MISB ST 0601 elements.
ip-camera-klv-mpegts-recorder
Video Capture SDK sample: record a UDP MPEG-TS feed with KLV to a file, or restream it over UDP.
Video surveillance solutions
RTSP and ONVIF cameras, multi-camera recording, motion and face detection in .NET.
Start working with KLV
Download the fully functional 30-day trial and run the KLV samples. Depending on the engine and output, a watermark or unregistered notice may appear.
SDKs with KLV support
Media Blocks SDK .NET
Pipeline SDK for Windows, Linux and macOS: demux, extract and embed KLV in MPEG-TS next to your own video processing.
Learn more →Video Capture SDK .NET
Capture SDK for Windows: record or restream live MISB feeds from IP cameras and UDP sources with KLV kept in the output.
Learn more →From €500/year · Lifetime from €1,500
