ffmpeg是否支持KLV元数据?

ran*_*nsh 8 metadata ffmpeg

ffmpeg元数据,也在http://wiki.multimedia.cx/index.php?title=FFmpeg_Metadata中描述, 也支持MISB标准的无人机元数据601.5?和KLV一样吗?

谢谢,冉

par*_*ech 12

FFMPEG本身不支持MISB KLV元数据,也不具备这些类型的KLV元数据的解复用器或解码器.

但是,FFMPEG可用于从ISO 13818-1的MPEG传输流(TS)等容器中提取数据基本流.此功能适用于UDP流和本地MPEG TS文件.请参阅响应结束时的示例.这些示例只是从流中提取数据,它们不会解析它们.通过使用包括C和Python在内的多种语言管道输出或后处理,可以很容易地实时解析.

了解您尝试从哪些容器中提取数据将会很有帮助.代替这些信息,我在我的回复和例子中假设了MPEG TS.我还想指出,在此响应时,"UAS Local Dataset"的当前标准现在是ST0601.8.

我已经在Mac OS X 10.9.5上用FFMPEG 2.5.4亲自测试了以下示例.

可以修改以下示例,以便通过替换为" - "将输出发送到stdout.

以线速从MPEG-TS文件中提取数据流并保存为二进制文件: ffmpeg -i <MPEGTS_infile> -map data-re -codec copy -f data <binary_outfile>

以帧速率从MPEG-TS文件中提取数据流并保存到二进制文件: ffmpeg -re -i <MPEGTS_infile> -map data-re -codec copy -f data <binary_outfile>

以流速从MPEG-TS UDP流中提取数据流并保存为二进制文件: ffmpeg -i udp://@<address:port> -map data-re -codec copy -f data <binary_outfile>

以流速从MPEG-TS UDP流中提取数据流并直接从STDOUT提取: ffmpeg -i udp://@<address:port> -map data-re -codec copy -f data -

通过UDP以帧速率从MPEG-TS文件流式传输视频,音频和数据流: ffmpeg -re -i <MPEGTS_infile> -map 0 -c copy -f mpegts udp://<address:port>

  • 几年前,我遇到了这个问题,并实现了python解析器,请参阅[https://github.com/paretech/klvcms](https://github.com/paretech/klvcms)。解析器灵活,可扩展但不完整。它更多地是一种API,但可以轻松地将数据打印到文本文件中,或传递给行中的下一个处理项目。另外,根据您的需求(可能还有您的从属关系),像[PAR GV](http://www.gv30.net/)这样的程序可能会更好地满足您的需求。 (2认同)