什么"复制"在ffmpeg命令行中执行?

时间:2016-07-14 16:23:19

标签: ffmpeg video-encoding libavcodec

我知道它复制了一些东西但不是它做了什么(它会影响输出文件的范围)?是开关还是选项?为什么在单词本身之前没有连字符?

我从其他问题中看到它可以copy streams without transcode但是我可以操纵它的其他可能性是什么?

我已完成ffmpeg --help但我没有看到任何有关它的文档。是否有一个我可以阅读更多相关信息的网站?

1 个答案:

答案 0 :(得分:8)

candidates既不是开关也不是选项。它是可以为编解码器选项设置的值,意味着它建议的内容,即复制帧而不是通过解码 - > filter->编码过程。

在您链接的问题中,字符串为copy,这意味着将所有编解码器操作设置为复制,即视频,音频,字幕,数据和附件(如果有)。 -c copy-c的缩写。

如果设置-codec,则表示要复制正在处理的任何视频流。同样适用于-c:v copy-c:a-c:s。当然,FFmpeg必须支持将目标流复用到输出容器中。如果没有,命令将失败。

当要求复制流时,您无法使用音频/视频/多媒体过滤器,因为过滤器需要解码音频/视频帧并对其进行操作。所以他们的结果需要重新编码。但是,您可以将比特流过滤器与副本一起使用,因为这些过滤器不会更改主有效负载,只会更改存储在流中的相关元数据。