我正在尝试合并两个视频(例如这里) 并排显示。
完整日志包含以下命令:
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
从不推荐,因为它会导致速度变慢。
您有多种方法可以解决此问题:
使用ffmpeg来自 repo 的包:
sudo apt-get install ffmpeg
下载最近编译的
ffmpeg
二进制文件并将其放入/usr/local/bin
或中~/bin
。
答案2
在我的例子中,我的系统调用的是 anaconda3(安装、删除等都不能解决我的问题),你可以使用以下命令确定是否是你的情况:
whereis ffmpeg
之后我看到了所有可能的路径,系统调用的是conda
version 而不是system
version。要确保您有一个兼容的版本,请使用--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