Klv Stream Injector
Introduction
KlvStreamInjectorProc is a command line utility that adds MISB 0601.X metadata to transport streams sent over UDP (online processing) or to TS files (offline processing)
The metadata source can be RAW Klv or Json packets sent over Udp or .csv / .json / .bin files.
STANAG 4609 metadata injector.
Main features
- Insert RAW Klv packets (file / UDP / REST) into TS over UDP streams.
- Insert Klv metadata from .csv / .json / .bin files into TS file (offline processing)
- Encode video captured with frame grabber and add Klv metadata. Low latency support.
- MISB 0601 (with nested MISB 0102 and MISB 0903 VMTI) on-the-fly encoding from JSON formatted packet
- Network and file targets (simultaneous streaming and recording to file).
- Video flywheel generator
- Automation over REST
- Video preview
- Data preview (real time) with StMonitor
User Guide
Input parameters:
Short | Command | Description |
---|---|---|
-i | --input | Input url. |
-c | --captureDevice | Input Video capture device name or id returned by List capture devices call |
--audioCaptureDevice | Input Audio capture device name or id returned by List capture devices call | |
-o | --output | Output url (network). |
-f | --file | File target Output url. |
-u | --udpIn | UDP Input url. Injector will insert RAW KLV packets received at this url. |
-j | --jsonUdpIn | UDP Input url. Injector will insert JSON packets received at this url. |
-d | --dataUdpIn | UDP Input url. Injector will insert private data bin packets received at this url. |
--dataFileIn | Data file for offline processing. | |
--klvPid | Klv Pid. If Klv found in the stream, it's Pid number will be used. If not present and not provided, 0X1F1 will be used | |
--dataPid | Private data Pid, if needs to be inserted. | |
-a | --autostart | Start processing immediately, without user prompt. |
-p | --packet | Default Klv packet to insert. Can be either RAW Klv or Json. |
-t | --insertionInterval | Klv insertion interval (for default packet). If set to 0 (default), will be inserted with every frame. |
--existingKlv | Defines what to do with existing klv data. : keep = 0, drop = 1. Default - keep. | |
-v | --video | Show video during processing. Default - false. |
--maxDelay | Max sync delay. Max delay between the video and klv. | |
--caching | Network caching. Increase the value if the network stream has jitter. Decrease, to lower the latency. | |
--id | Id. Application specific Id. Used for Ddp identification. | |
--firstKlvDateTime | First Klv Date Time (ISO8601). If not set, existing klv time will be used, or if no klv present - current DateTime will be set as first Klv time. | |
--captureMode | Capture Mode: 0 (Compressed) / 1 Uncompressed / 2 (Extracted Klv). Default: 0 (Compressed). | |
--syncKlvMode | SyncKlv Mode. Default - false (generates ASYNC KLV). | |
--ddp | Optional DDP (Meteor) url. | |
--transcodeMisb104 | Transcode Misb 104.5 to Misb 601 | |
--flywheelInfoFile | A path to file that describes the input stream info (video, klv, audio etc) to be used for synthetic stream generation (flywheel). The file is created upon valid input detection. It then used when injector is started without a source. | |
--flywheelInfoReadOnly | If set to true, the file flywheelInfoFile will not be updated when a valid source is detected. This can be used in case the info XML is created manually and should be used in for all input streams. | |
--flywheelVideoFrameFile | A path to a Bitmap file (with extension .bmp) or H.264 IDR frame, preceded by sps+pps (with extension .mpv or .mpg). More info \ref pageFlywheel. | |
--frameResolution | Frame resolution - 'Width'x'Heigth'. Default 720x480. | |
--videoFrameType | Video Frame Type: -1 (NONE), 0 (RGB24), 1 (RGB32), 2 (YV12) | |
--inputFramesRecordingPath | Path for recording of incoming frames. If extension set to .bin - records raw data. If set to bmp, saves bitmaps, but only if the internal data comes as RGB | |
--encodingResolution | Frame resolution - 'Width'x'Heigth'. Default is the source resolution. | |
-b | --bitrate | Encoding bitrate (in KBit/s). Default 2000. |
--framerate | Frame rate. Default 30. | |
--encodingProfile | Baseline = 0, HighProfile = 1, MainProfile = 2. Default 0 (baseline) | |
--lowLatencyMode | Set low latency mode. Default - false | |
--restSelfHost | Rest Self Host url. Can be used for remote control of KlvStreamInjector. | |
--licenseFile | License File path. If not set, Injector will try to load KlvInjector.lic file in Application.StartupPath directory. | |
--licenseKey | License key. | |
--silent | Set silent mode. | |
-? | --help | Help. |
License arguments are persistent, so you should provide them only once.
Commands:
- S - Start Processing
- P - Pause Processing
- E - Stop Processing
- I - Show incoming Klvs. Launch StMonitor.
- O - Show inserted Klvs. Launch StMonitor.
- D - Show CC detection
- C - Select Capture Device
- N - Show NodeInfo
- H - Show arguments
- Q - Quit
System Requirements
OS: Windows 10 64 bit.