ffmpeg是否支持KLV元数据?

时间:2014-09-06 13:56:39

标签: ffmpeg metadata

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

谢谢, 然

2 个答案:

答案 0 :(得分:10)

此时,FFMPEG本身不支持MISB KLV元数据,也没有针对这些类型的KLV元数据的解复用器或解码器。

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

具体了解您尝试从哪些容器中提取数据会很有帮助。代替这些信息,我在我的回答和例子中假设了MPEG TS。我还想指出在此回复时"UAS Local Dataset" is now 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>

答案 1 :(得分:3)

我不确定UAV元数据601.5是否与KLV相同,但自2013年10月28日提交69a042e以来,FFmpeg可以解除KLV元数据的分解:

此修复了#2579的机票:Data stream from UAV video reported as "Unknown" type and without codec_id set,因此您也可以在其中找到其他相关信息。

相关问题