FFmpeg 的“-vcodec copy”和“-sameq”有什么区别?

ton*_*sid 19 codec ffmpeg video-conversion

使用-vcodec copy-sameq使用 FFmpeg 有什么区别?

他们做同样的事情吗?

slh*_*hck 32

接受的答案是不正确的——或者至少没有真正解释这些选项的实际作用。

  • -c:v copy告诉 FFmpeg 将视频的比特流复制到输出。例如,您的 AVI 视频具有 XviD 视频比特流,您可以将其复制到 MP4 容器,而无需重新编码视频。这实质上为您提供了相同的质量,因为视频比特流中的任何内容都不会改变。

    这是一个将容器从 AVI 更改为 MP4 的示例,如果视频比特流也对 MP4 有效:

    ffmpeg -i input.avi -c:v copy output.mp4
    
    Run Code Online (Sandbox Code Playgroud)

    再次:FFmpeg 将复制它找到的任何内容。这里没有重新编码。基本上,FFmpeg 只是读取和写入容器,不会更改编解码器。

  • sameq告诉 FFmpeg 在使用用于输入的相同编解码器转换视频时使用相同的量化参数。该选项并不能意味着相同的质量。请参阅:FFmpeg 中的“sameq”选项是什么?

    sameq选项很久以前就从 FFmpeg 中删除了,所以它不能再使用了,如果你有一个版本ffmpeg仍然有它,是时候升级了!

  • c:v 是 codec:v 的缩写版本,vcodec 是 codec:v 的别名,所以这 3 个功能相同。来自:https://lists.ffmpeg.org/pipermail/ffmpeg-user/2017-February/035335.html (3认同)

Car*_*rlF 5

-sameq 不会强迫您使用相同的视频编解码器。例如,您可以在使用 -sameq 时将 H.264 转换为 DivX。

  • 如果未指定视频编解码器,我认为 ffmpeg 具有给定容器的默认音频/视频编解码器。我在 OS X 上的 ffmpeg 默认为 mpeg4 yuv420p,用于 MP4 和 AVI 视频,分别带有 libfaac 和 mp2 音频编解码器。也就是说,如果我选择一个 H.264 文件并选择 `-vcodec copy`,它会为视频选择 libx264。如果我选择了`-sameq`,它会选择通用的 mpeg4。 (2认同)