.NET KLV / MISB 元数据 SDK
从 MPEG-TS 读取 KLV 遥测数据,解码 MISB ST 0601 元素,并在保留元数据的同时录制或转发实时 MISB 视频流 — 全部使用 C# 和 .NET。
每年 €500 起 · Lifetime 许可证 €1,500 起
什么是 KLV 和 MISB
KLV(Key-Length-Value,SMPTE ST 336)是无人机、ISR 和监控系统用来随视频传输遥测数据的二进制编码:时间戳、平台和传感器的位置与姿态,以及画面中心的地理位置。MISB ST 0601(UAS Datalink Local Set)定义了这些字段,MISB / STANAG 4609 流将它们作为 MPEG-TS 中独立的元数据流传输。
SDK 如何处理 KLV
VisioForge 有两款 SDK 支持 KLV:Media Blocks SDK 在 Windows、Linux 和 macOS 上处理 MPEG-TS 文件中的 KLV;Video Capture SDK 在 Windows 上将 IP 摄像机或 UDP 源的实时 KLV 传入录制文件或转发流。
- 提取:MPEGTSDemuxBlock 在 MetadataOutput 引脚上输出 MPEG-TS 文件的元数据流,KLVFileSinkBlock 将 KLV 数据包写入 .klv 文件
- 解码:KLVParser 读取 MISB ST 0601 本地集元素 — 超过 90 个,从精确时间戳到传感器和画面中心坐标 — 并处理 MISB 使用的 BER 编码长度
- 嵌入(Media Blocks):MPEGTSSinkSettings.Metadata 接受由 .klv 文件或字节数组创建的 KLVMetadata 对象;它作为单个静态负载复用,而不是逐帧带时间戳的轨道
- 录制和转发实时 KLV(Video Capture SDK,Windows):MPEGTSOutput.KLVEnabled 将源中的 KLV 复用到 MPEG-TS 文件,FFMPEGEXEOutput.KLVEnabled 在 MPEG-TS、RTP MPEG-TS 和 HLS 输出中携带 KLV(录制到文件时还需设置 UsePipe)
- 读取实时数据包:OnDataFrameBuffer 事件逐个传递 KLV 数据包及其大小和时间戳(DataFrameType.KLV)
代码示例
精简自 KLV Demo 和 ip-camera-klv-mpegts-recorder 示例。
从 MPEG-TS 文件提取 KLV 并解码 MISB ST 0601
C#将实时 MISB 视频流连同 KLV 录制为 MPEG-TS
C#管线
在 Media Blocks SDK 中,KLV 提取由文件源、MPEG-TS 解复用器和 KLV 文件接收器三个模块完成,随后由 KLVParser 解码 .klv 文件。解复用器的视频和音频引脚可以同时连接渲染器或编码器。
开始使用 KLV
下载功能完整的 30 天试用版并运行 KLV 示例。根据所用引擎和输出,可能会出现水印或未注册版本提示。
支持 KLV 的 SDK
Media Blocks SDK .NET
适用于 Windows、Linux 和 macOS 的管线 SDK:在您自己的视频处理流程旁解复用、提取和嵌入 MPEG-TS 中的 KLV。
了解更多 →Video Capture SDK .NET
适用于 Windows 的采集 SDK:录制或转发来自 IP 摄像机和 UDP 源的实时 MISB 视频流,并在输出中保留 KLV。
了解更多 →每年 €500 起 · Lifetime 许可证 €1,500 起
