klv-uas
A library for extracting KLV data from transport stream packet payloads. This library is not indented to be used for injecting KLV data into video streams.
WARNING
Currently, you must enable the feature ignore_incomplete. I want the user to understand that several of the datatypes
cannot be parsed correctly quite yet, so they must manually allow this.
Example
extern crate klv_uas;
use env;
use Tag;
use TSReader;
use File;
use BufReader;
use KlvPacket;
Goals
- Support parsing all value types from KLV fields.
- int
- int8
- int16
- int32
- uint
- uint8
- uint16
- uint32
- uint64
- IMAPB
- Byte
- DLP
- VLP
- FLP
- Set
- UTF8
- Support converting all types of KLV value to actual values.
- Such as converting KLV Tag 5 (Platform Heading Angle) to the actual floating point angle represented by the integer value stored in the KLV value.
Testing
TEST_FILE="$HOME/Truck.ts" cargo run --features search --example klv_timestamp
Reference Material
- A sample TS stream with KLV data can be found here.
- The standards for KLV metadata can be found here. Find
MISB ST 0107.Xand clickFILE. The current link is here but is likely to change. - The standards for the UAS Datalink Local Set can be found here. Find
MISB ST 0601.Xand clickFILE. The current link is here but is likely to change.