FFMPEG中的`-map data-re`选项是什么作用?

4

我试图从视频流中提取和解析KLV数据。我在Github存储库中找到了以下示例。我想知道映射选项data-re是做什么用的?

$ ffmpeg -i Day\ Flight.mpg -map data-re -codec copy -f data - 

我理解命令的其他部分,并知道-map用于从输入中选择流。但是data-re是什么意思呢?我在文档(例如这里这里)中找不到任何解释,也没有类似的映射选项或流标识符。
2个回答

5
这是一个错别字和错误的用法。仅在使用-filter_complex时才使用任意标签名称。
使用:
$ ffmpeg -i Day\ Flight.mpg -map 0:d -c copy -f data -

我能理解用户试图使用data,但是data-re?可能是-map data -re的双重拼写错误,其中-re是用于"以本地帧速率读取输入"的选项 (-map data在这种情况下仍然无效)。


它确实有效,并将KLV流分离到输出文件中。你可以试试看。我的ffmpeg版本是3.4.8,我无法更改它。问题是是否有关于这个映射“specifier”(?)/“identifier”(?)的任何文档。 - zardosht
2
@zardosht 如果某物不存在,就没有文档可供参考。只需解析 data-re 中的 d 即可得到 -map d,这是有效的。较新版本的 ffmpeg 将会提示 Invalid stream specifier: data-re. - llogan

1

它目前不是一个有效的值。可能在历史上曾经是一个值,但我怀疑。最有可能的是,它“工作”的原因是因为地图参数解析器会忽略额外的字母,如果懒惰评估匹配流并且ddata-re中可以匹配数据流,则会出现这种情况。解析器不再那么笨拙。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接