我在复制 centos 6 实例时遇到问题。看来我的旧服务器上有 2 个版本的 ffmpeg:
ffmpeg -version
给我:
ffmpeg version 1.2.5
built on Jan 30 2014 19:45:47 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)
configuration: --enable-gpl --enable-version3 --enable-shared --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-decoder=png --enable-encoder=png --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib
但/root/bin/ffmpeg -version
给了我:
ffmpeg version git-2016-05-31-971351b Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17)
configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
我尝试使用本指南https://www.ostechnix.com/install-ffmpeg-linux/获取最新版本的 ffmpeg,但它给了我,
ffmpeg version 0.10.16
built on Aug 26 2016 13:01:36 with gcc 4.4.7 20120313 (Red Hat 4.4.7-17)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-gnutls --enable-libass --enable-libcdio --enable-libcelt --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
在使用该指南之前,他们yum install
给了我一个0.6.5
版本,我想这意味着我的 repo 已经过时了。
我怎样才能使用与旧服务器相同的版本,或者安装最新版本?版本号和版权年份对我来说似乎也不对。不应该在发布1.2.5
后才出现吗0.10.16
?
(这些线索引导我到这里,总是使用 -movflags faststart 参数有什么缺点吗? https://stackoverflow.com/questions/23419351/ffmpeg-using-movflags-faststart)
答案1
我可以在这里获取最新版本的 ffmpeg,https://johnvansickle.com/ffmpeg/。我采用了以下步骤:
yum remove ffmpeg
(删除我以前从过时的仓库中构建的版本)wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz
tar xvf ffmpeg-release-64bit-static.tar.xz
mv ffmpeg-4.0.2-64bit-static/ffmpeg ffmpeg-4.0.2-64bit-static/ffprobe /usr/bin/