ffmpeg无法找到编码器libvpx

Wiz*_*Wiz 51 ffmpeg libvpx

当我跑

ffmpeg -y -i test.mov -threads 8 -f webm -aspect 16:9 -vcodec libvpx -deinterlace -g 120 -level 216 -profile 0 -qmax 42 -qmin 10 -rc_buf_aggressivity 0.95 -vb 2M -acodec libvorbis -aq 90 -ac 2 OUTPUT_FILE.webm
Run Code Online (Sandbox Code Playgroud)

它返回错误说 Unknown encoder 'libvpx'

我通过macports安装了libvpx,libvorbis,libogg和ffmpeg

小智 128

您的macport配置不是使用libvpx构建的.尝试卸载ffmpeg并使用Homebrew来安装软件包而不是macports:

brew install ffmpeg --with-libvpx

or

brew reinstall ffmpeg --with-libvpx
Run Code Online (Sandbox Code Playgroud)

然后你的命令应该工作.

  • 我不知道为什么,但是当我重新安装libvpx和libvorbis时,我仍然遇到了webm错误.然而,当我做了所有这些时,它起作用了.不确定哪个标志是修复.`brew重新安装ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass --with-libvo-aacenc --with-libvorbis --with-libvpx - with-opencore-amr --with-openjpeg --with-opus --with-rtmpdump --with-speex --with-theora --with-tools` (10认同)
  • `--with-libvorbis`也是必需的.webm需要vorbis进行音频压缩.如果您从ffmpeg获得实验编码器警告,也可以将`--with-theora`添加到编译器选项中. (6认同)
  • 不再需要在Brew中使用新的ffmpeg!只需升级即可:`brew upgrade ffmpeg` (2认同)

Ela*_*adG 6

我不确定如何以及是否可以更改Macports上的默认配置.无论如何,你可以手动方式做到这一点.

打开终端并cd到您的首选目录.在安装之前,请检查您安装的ffmpeg的版本,位置和版本.which ffmpeg然后使用port uninstall ffmpeg然后which ffmpeg再次验证ffmpeg是否正确卸载.

从以下位置下载源代码:

git clone https://github.com/FFmpeg/FFmpeg ffmpeg
Run Code Online (Sandbox Code Playgroud)

cd到ffmpeg目录

cd ffmpeg
Run Code Online (Sandbox Code Playgroud)

配置并使用您的配置,使用"./configure --help"获取有关可能配置的信息

./configure --extra-cflags=-I/opt/local/include --extra-ldflags=-L/opt/local/lib --enable-gpl --enable-version3 --enable-nonfree --enable-libvpx --enable-libvorbis
Run Code Online (Sandbox Code Playgroud)

我建议添加额外的c/ld标志,因为/ opt/local /是默认的macport安装目录.

制作,安装ffmpeg

make
sudo make install
Run Code Online (Sandbox Code Playgroud)

这些步骤中有很多后备,如果您有任何问题,请在评论中询问.