ffmpeg:无法识别选项“crf”。拆分参数列表时出错:未找到选项

ffmpeg:无法识别选项“crf”。拆分参数列表时出错:未找到选项

我正在尝试合并两个视频(例如这里) 并排显示。
完整日志包含以下命令:

    ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex '[0:v]pad=iw*2:ih[int];[int][1:v]overlay=W/2:0[vid]' -map [vid] -c:v libx264 -crf 23 -preset veryfast output.mp4
ffmpeg version N-90232-g0645698ecc Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.2.0-8ubuntu3.2)
  configuration: --disable-x86asm
  libavutil      56.  8.100 / 56.  8.100
  libavcodec     58. 13.102 / 58. 13.102
  libavformat    58. 10.100 / 58. 10.100
  libavdevice    58.  2.100 / 58.  2.100
  libavfilter     7. 12.100 /  7. 12.100
  libswscale      5.  0.102 /  5.  0.102
  libswresample   3.  0.101 /  3.  0.101
Unrecognized option 'crf'.
Error splitting the argument list: Option not found

但收到标题中提到的消息。
我有来自 Ubuntu 17.10 repos 的 ffmpeg 版本 N-90232-g0645698ecc。

答案1

您的ffmpeg不是来自 Ubuntu 17.10 repo,看起来它是在您的机器上编译的。它缺少--enable-gpl --enable-libx264使用所需的-c:v libx264。无关,但它有 ,--disable-x86asm从不推荐,因为它会导致速度变慢。

您有多种方法可以解决此问题:

答案2

在我的例子中,我的系统调用的是 anaconda3(安装、删除等都不能解决我的问题),你可以使用以下命令确定是否是你的情况:

whereis ffmpeg

之后我看到了所有可能的路径,系统调用的是condaversion 而不是systemversion。要确保您有一个兼容的版本,请使用--crf以下命令安装它:

sudo apt-get install ffmpeg

然后为了调用它,你应该使用系统中的路径或修改你的 PATH 变量(这是修改~/.profile~/.bash更多选项及其工作原理在这里)。我没有这样做,因为除了参数之外,所有东西都可以在 ffmpeg conda 版本上运行--crf

如何使用兼容版本--crf

/usr/bin/ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4

/usr/bin/ffmpeg其中之一是 whereis ffmpeg

相关内容