CentOS 7系统下FFmpeg脚本运行故障求助
CentOS 7系统下FFmpeg脚本运行故障求助
我在CentOS 7服务器上运行一个依赖FFmpeg的脚本时遇到了问题,脚本抛出了如下错误信息:
ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36) configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --enable-libfdk-aac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus -...
看起来你贴的错误信息没完整显示,不过从已有的内容来看,CentOS 7默认自带的FFmpeg版本是2.8.15,这个版本比较老旧,很多新特性或编码格式支持不全,大概率是脚本需要的功能这个版本不支持导致的。我给你几个常见的解决思路:
升级FFmpeg到新版本:CentOS 7的官方源里的FFmpeg版本太低,建议用第三方源来安装新版。步骤如下:
- 先安装EPEL和Nux Dextop源:
sudo yum install epel-release -y sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm - 卸载旧版FFmpeg(如果已安装):
sudo yum remove ffmpeg ffmpeg-devel -y - 安装新版FFmpeg:
sudo yum install ffmpeg ffmpeg-devel -y - 验证版本:
安装后应该会得到4.x或更高版本,基本能支持大部分脚本的需求。ffmpeg -version
- 先安装EPEL和Nux Dextop源:
检查脚本依赖的FFmpeg参数/编码:如果升级后还是有问题,得仔细看脚本里调用FFmpeg的命令,确认用到的参数、编码格式是否在新版FFmpeg里支持。比如有些脚本可能用了
libx265或者其他新版才有的编码器,升级后就能解决。确认FFmpeg路径是否正确:有时候脚本里指定的FFmpeg路径不是系统默认的
/usr/bin/ffmpeg,可以在脚本里改成绝对路径,或者把新版FFmpeg的路径加入环境变量PATH里。
如果能把完整的错误信息贴出来,我可以帮你更精准地定位问题哦!
备注:内容来源于stack exchange,提问作者Nick Eyre
相关产品推荐
相关产品推荐

