Hi,
I am trying to extract real-time drone position (CoT/telemetry) from a Parrot Anafi (SkyController 3) using the RTSP stream (rtsp://192.168.53.1/live).
Our setup:
- Source: RTSP stream from SkyController 3.
- Goal: Extract KLV metadata (MISB 0601) to generate CoT (Cursor-on-Target) for ATAK.
- Processing: Using
FFmpegto demux the stream andklvdata(Python) for parsing.
The Problem: We have identified the metadata stream (usually labeled as Video: h264, none by FFmpeg), but we are facing several issues:
- Dynamic Stream Mapping: The metadata stream ID changes (e.g., from
0:2to0:4) between sessions, making it hard to target consistently. - Parser Errors: Even when correctly mapped, standard KLV parsers fail with “index-sized integer” errors or “UnknownElement” attributes. It seems the KLV data is either wrapped in a non-standard way or contains proprietary tags that break the MISB 0601 compliance.
- Data Consistency: FFmpeg often reports “dimensions not set” when trying to pipe the metadata stream, even when using
-c copy -f data.
Question: Is there a specific bitstream filter or a recommended way to extract the raw KLV packets from the RTSP stream so they are readable by standard MISB parsers? Are there any proprietary headers we need to skip before the Universal Label (06 0e 2b 34...)?
Any guidance on the exact structure of the vmeta packets within the RTSP container would be greatly appreciated.
Best regards,
Jindrich