Open-source GStreamer plugin suite for KLV metadata workflows (MISB ST 0601.8 / STANAG 4609)

Hi everyone,

I wanted to share an open-source GStreamer plugin suite I have been developing for KLV metadata workflows:

It is aimed at practical MPEG-TS / STANAG 4609 style pipelines and currently provides:

  • JSON ↔ KLV conversion
  • MISB ST 0601.8 support (93 tags)
  • frame-synchronous KLV injection alongside H.264 / H.265
  • PMT rewriting for KLVA metadata signaling
  • Python and C++ examples for local, UDP, and SRT workflows

The current elements are:

  • klvmetaenc
  • klvmetadec
  • klvframeinject
  • tspmtrewrite

The project is written in C11 for the plugin side, uses Meson as the recommended build/test path, and includes extra documentation for installation, packaging, testing, Docker usage, and design decisions.

I built it to cover the full path from metadata generation/decoding to actual transport-oriented integration inside GStreamer pipelines.

I would be glad to get feedback from the community, especially regarding:

  • element design
  • caps and negotiation
  • MPEG-TS metadata signaling choices
  • interoperability with existing GStreamer tooling

Hopefully it can also be useful to others working with KLV metadata in real pipelines.

I also shared a short overview on LinkedIn:

demo_gstklvplugin