Let’s assume you have to modify some Klv fields in a live STANAG 4609 stream. Or add/delete an existing metadata. In this article, we’ll show how to put together a simple app that extracts and decodes existing MISB Klv metadata, modifies it and re-inserts back into stream with the...
Blog
Creating STANAG 4609 stream from uncompressed frames.
In this article, we’ll show how to put together a simple application that encodes uncompressed frames (bitmaps) into H.264 video and inserts ASYNC Klv or SYNC Klv data into a transport stream. Let’s use KlvInjector SDK. We’ll be dynamically generating the images for, but of course, you can get them from...
Uninterrupted FMV (STANAG 4609 Flywheel)
Sometimes it is absolutely critical that you have your real time video streaming without any signal interruptions. For example, your recording system cannot deal with “holes” in video as you must sync multiple streams to the same time base. Or, your video and telemetry come from different sources and...
How to make STANAG 4609 file from Dji Mavic video.
In this article, I’ll show how to create a STANAG 4609 files from Dji Mavic’s video files and telemetry. Dji drones are awesome, It is a lot of fun to fly them and they shot a pretty high quality video. But, if you’re visiting this page, it is probably...
How to make STANAG 4609 compliant file from video and telemetry (csv, json or bin files).
In this article, I’ll show how to produce a STANAG 4609 file from video file and telemetry without writing a single line of code… Let’s assume we have a video file and some metadata and we want to combine them in a STANAG 4609 file. Our metadata is in...
Using KlvOverlay WPF control
In this article I’ll show how to use a KlvOverlay control as an important building block for an advanced situational awareness application. KlvOverlay WPF control is a .NET library that implements an overlay functionality for On-Demand / Live FMV applications that use a geo-spatial STANAG metadata. KlvOverlay WPF Control provides the...
Inserting STANAG Klv metadata into TS stream sent over UDP.
In this article, we’ll show how to get up and running quickly with a simple app that inserts ASYNC Klv or SYNC Klv data into a transport stream. We’ll use KlvInjector SDK. First things first, lets create a VS project, add the references and make sure all the required dependencies...
Using KlvStreamer SDK
In this article I’ll show how to use a KlvStreamer SDK to re-stream a STANAG 4609 file over UDP, KlvStreamerSDK is a .NET SDK used by KlvStreamer application for sending a STANAG / TS content over IP. So, let’s add a reference to the StreamerLib assembly and create a streamer...
Using .NET wrapper for KlvLib
In this article I’ll show how to use a .NET wrapper for KlvLib library. KlvLib SDK is a C++ library for encoding and decoding Klv data packets. If you need to use it in C#, here is how you can do that. There is a KlvLibWr.dll wrapper ( available on...
KLV encoded metadata in STANAG 4609 streams
The MPEG-2 Transport Stream provides an infrastructure for the carriage of video, audio and metadata in a single motion imagery stream as depicted below. KLV (Key-Length-Value) is the current metadata standard recommended by the MISB. It is a SMPTE standard adopted by the MISB for digital encoding of metadata...