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

标签 ffmpeg video-encoding libavcodec

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

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

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

最佳答案

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

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

如果设置 -c:v copy ,这意味着复制任何正在处理的视频流。 -c:a 也是如此或 -c:s-c:d .当然,FFmpeg 必须支持将目标流复用到输出容器中。如果没有,该命令将失败。

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

关于ffmpeg - "copy"在 ffmpeg 命令行中做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38379412/

相关文章:

ffmpeg - 如何在不损失 COLAB FFMPEG 质量的情况下将 .m2ts .vob 视频转换为 mkv

c++ - OpenCV编码为H264

FFMPEG:是否有可能在新 API 中获得 coded_width?

linux - vlc 3.0 ./configure 给出 "Missing libav or FFmpeg"尽管我有它们

iOS Swift 移动 FFMpeg 说初始化复杂过滤器时出错。无效的论点

flash - 是否可以使用 FFMPEG 生成 F4V 视频?

ubuntu - FFMPEG - 合并视频后音频丢失

audio - 将较大的音频文件编码为 .mpg 时,av_write_frame 失败

ffmpeg - 如何从 Raspberry Pi 上的 Action 中获取 .mp4 视频?

c++ - 在 libavformat 中设置 "re"标志