"copy" 在 ffmpeg 命令行中做什么?

What does "copy" do in a ffmpeg command line?

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

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

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

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

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

的缩写

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

请求复制流时不能使用 audio/video/multimedia 过滤器,因为过滤器需要解码 audio/video 帧并对其进行操作。所以他们的结果需要重新编码。但是,您可以将比特流过滤器与副本一起使用,因为它们不会改变主要有效负载,而只会改变存储在流中的相关元数据。