klvdecode plugin accepts meta/x-klv buffers containing MISB KLV encoded metadata and decodes them to JSON strings (application/x-json), preserving the nested data hierarchy. The resulting JSON tag / value structure follows MISB 601.X standard. Input data The input data (which can be, demultiplexed from a STANAG 4609 stream) contains a...
Encoding STANAG 4609 MISB KLV with GStreamer and MisbCore library
This sample application demonstrates how to create a simplified GStreamer pipeline for encoding and injecting MISB601 KLV metadata into STANAG 4609 files/streams using the MisbCore library For the sake of simplicity, we'll use GStreamer's videotestsrc as a video source, encode it into H.264, encode a static metadata packet (updated...
Decoding STANAG 4609 MISB KLV with GStreamer and MisbCore library
This sample application demonstrates how to create a GStreamer pipeline for extracting and decoding MISB601 KLV metadata from STANAG 4609 files/streams using MisbCore library We will be manually creating a pipeline that resembles the following: gst-launch-1.0 filesrc location=file.ts ! tsdemux name=demux demux. ! queue ! h264parse ! 'video/x-h264, stream-format=byte-stream'...
How to modify/add a STANAG Klv metadata on the fly.
Let's assume you have to modify some Klv fields in a live STANAG 4609 stream. Or add/delete 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 it back into the stream with...
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, but of course, you can get them from any...
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 the 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 not...
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 a 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...
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 geo-spatial STANAG metadata. KlvOverlay WPF Control provides functionality similar...
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, let's create a VS project, add the references and make sure all the required dependencies...