CentOS 7.8环境下FFmpeg安装libwebp编码器以解决‘Unknown encoder 'libwebp'’问题的技术咨询
解决CentOS 7.8中FFmpeg 3.4.8启用libwebp编码器的问题
我来帮你搞定这个问题,咱们一步步操作就行:
1. 先安装libwebp依赖包
首先得把libwebp的开发库装上去,CentOS 7的官方源里就有,直接用yum安装:
sudo yum update -y sudo yum install -y libwebp libwebp-devel
2. 卸载现有FFmpeg版本
你当前的FFmpeg是通过yum安装的,而且没有编译libwebp支持,所以得先卸载掉:
sudo yum remove -y ffmpeg ffmpeg-devel
3. 安装FFmpeg编译所需的依赖
为了避免编译过程中报错,先把所有需要的编译依赖都装上:
sudo yum install -y gcc gcc-c++ make automake autoconf libtool git \ zlib-devel bzip2-devel openssl-devel ncurses-devel libxml2-devel \ libopencore-amrnb-devel libopencore-amrwb-devel libvo-amrwbenc-devel \ fontconfig-devel gnutls-devel ladspa-devel libass-devel libbluray-devel \ libcdio-devel libdrm-devel jack-audio-connection-kit-devel libfreetype-devel \ libfribidi-devel libgsm-devel lame-devel nvenc-devel openal-devel opencl-devel \ opengl-devel libopenjpeg-devel opus-devel pulseaudio-libs-devel librsvg2-devel \ soxr-devel speex-devel theora-devel vorbis-devel v4l2-devel vidstab-devel \ libvpx-devel x264-devel x265-devel xvidcore-devel zvbi-devel modplug-devel \ libmfx-devel
4. 下载并编译FFmpeg 3.4.8(带libwebp支持)
咱们用你原来的配置参数,只添加--enable-libwebp来启用webp编码器:
# 进入源码目录 cd /usr/local/src # 下载FFmpeg 3.4.8源码包 wget https://ffmpeg.org/releases/ffmpeg-3.4.8.tar.gz # 解压 tar -zxvf ffmpeg-3.4.8.tar.gz cd ffmpeg-3.4.8 # 配置编译参数(保留你原有的配置,新增--enable-libwebp) ./configure --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/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 ' --extra-cflags=' ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --disable-encoder=libopus --enable-libpulse --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzvbi --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetect --enable-libwebp # 编译(用nproc自动调用所有CPU核心,加快编译速度) make -j$(nproc) # 安装 sudo make install # 刷新动态链接库 sudo ldconfig
5. 验证libwebp编码器是否启用
重启终端(或者直接执行下面命令),检查编码器列表:
ffmpeg -encoders | grep libwebp
如果输出里有V..... libwebp WebP image format,就说明成功了!
之后你就可以用FFmpeg转换视频为WebP动画了,比如:
ffmpeg -i input.mp4 -loop 0 -vcodec libwebp output.webp
内容的提问来源于stack exchange,提问作者mynameisbutt
相关产品推荐
相关产品推荐

