什么是“复制"?在ffmpeg命令行中做什么? [英] What does "copy" do in a ffmpeg command line?

查看:97
本文介绍了什么是“复制"?在ffmpeg命令行中做什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道它会复制某些内容,但它会做什么(它会影响输出文件的扩展程度)?是开关还是选件?为什么在单词本身之前没有连字符?

I know that it copies something but other than that what does it do (to what extend it affects the output file)? Is it a switch or option? Why does it not have a hyphen before the word itself?

我从其他问题中看到,它可以复制不进行转码的流,但是什么是还有其他我可以操纵的可能性?

I see from other questions that it can copy streams without transcode but what are other possibility that I can manipulate it?

我已经完成了 ffmpeg --help ,但是我没有看到任何有关它的文档.是否有一个我可以阅读更多有关该网站的网站?

I have done ffmpeg --help but I don't see any documentation about it. Is there a website I can read more about it?

推荐答案

copy 既不是开关也不是选项.这是可以为编解码器选项设置的值,并表示它的建议,即复制帧,而不是进行解码->过滤->编码过程.

copy is neither a switch nor an option. It's the value that can be set for the codec option, and means what it suggests i.e. copy the frames over instead of going through a decode->filter->encode process.

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

In the question you linked, the string is -c copy, which means set all codec operations to copy i.e. video, audio, subtitles, data and attachments, if any. -c is short for -codec.

如果设置 -c:v复制,则意味着复制正在处理的所有视频流. -c:a -c:s -c:d 也是一样.当然,FFmpeg必须支持将目标流混合到输出容器中.否则,该命令将失败.

If you set -c:v copy, it means to copy any video streams being processed. Same holds for -c:a or -c:s or -c:d. Of course, FFmpeg must support muxing the targeted stream into the output container. If it does not, the command will fail.

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

You cannot use audio/video/multimedia filters when asking to copy the stream over, since filters need to decode the audio/video frames and manipulate them. So their result needs to be re-encoded. You can, however, use bitstream filters with copy since those don't alter the main payload but only the associated metadata stored in the stream.

这篇关于什么是“复制"?在ffmpeg命令行中做什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆