VisioForge

.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)は、UAV・ISR・監視システムが映像と並べてテレメトリを伝送するためのバイナリ符号化方式です。タイムスタンプ、プラットフォームとセンサーの位置・姿勢、フレーム中心の地理座標などを運びます。これらのフィールドは MISB ST 0601(UAS Datalink Local Set)で定義され、MISB / STANAG 4609 ストリームでは MPEG-TS 内の独立したメタデータストリームとして伝送されます。

SDK が KLV でできること

KLV を扱う VisioForge SDK は 2 つあります。Media Blocks SDK は Windows、Linux、macOS で MPEG-TS ファイル内の KLV を扱い、Video Capture SDK は Windows で IP カメラや UDP ソースのライブ KLV を録画や再配信にそのまま渡します。

  • 抽出:MPEGTSDemuxBlock が MPEG-TS ファイルのメタデータストリームを MetadataOutput パッドに出力し、KLVFileSinkBlock が KLV パケットを .klv ファイルに書き込みます
  • デコード:KLVParser は MISB ST 0601 ローカルセットの要素を 90 以上読み取り(高精度タイムスタンプからセンサーやフレーム中心の座標まで)、MISB が使う BER 符号化の長さにも対応します
  • 埋め込み(Media Blocks):MPEGTSSinkSettings.Metadata に、.klv ファイルまたはバイト配列から作成した KLVMetadata オブジェクトを指定できます。これは 1 つの静的ペイロードとして多重化され、フレームごとのタイムスタンプ付きトラックにはなりません
  • ライブ 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 ファイルシンクの 3 ブロックで行い、その後 KLVParser が .klv ファイルをデコードします。デマルチプレクサの映像・音声パッドは同時にレンダラーやエンコーダーにも接続できます。

BasicFileSourceBlock
MPEGTSDemuxBlock
KLVFileSinkBlock
KLVParser

KLV の開発を始める

全機能を使える 30 日間のトライアル版をダウンロードして、KLV サンプルを実行してください。エンジンと出力によっては、透かしや未登録版の表示が出ることがあります。

KLV に対応した SDK

年間 €500 から · Lifetime ライセンス €1,500 から