1.安装编译环境,如果系统有就不用装了
yum install -y automake autoconf libtool gcc gcc-c++
yum install make
yum install svn
yum install git
2.如果还需要其他的软件就按照下面的方式安装
yum search **
yum install **
3.安装SDL2开发库(没有该库支持,后面安装ffmpeg时ffplay将装不了)
查看系统匹配的版本:
yum search SDL2
安装SDL2开发库:
yum install SDL2-devel.x86_64
4.安装libx264(没有该库支持,后面执行ffmpeg推流命令时可能报错)
5.通过git命令拉取最新的ffmpeg
方式一:官方地址下载用tar -xjvf ffmpeg-4.2.1.tar.bz2
命令解压
方式二:直接通过git命令clone下载
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
国内git下载速度较慢,如果不需要最新版本,可以考虑通过svn下载(FFmpeg 2.8.5版本)
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
6.切换到下载的ffmpeg源码目录下执行以下命令
./configure --prefix=/usr/softinstall/ffmpeg --enable-gpl --enable-shared --enable-libx264
libx264未安装报错则需先行安装(libx264安装)
make
make install
7.配置环境变量(参考:安装linux下tar.gz包)
vim /etc/profile
export FFMPEG_PATH=/usr/softinstall/ffmpeg
export CLASSPATH=$FFMPEG_PATH/lib:$CLASSPATH
PATH=$FFMPEG_PATH/bin:$PATH
source /etc/profile
ffmpeg -version
执行./configure --prefix=/usr/softinstall/ffmpeg
命令时报错:
[root@localhost ffmpeg]# ./configure --prefix=/usr/softinstall/ffmpeg
nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.
解决方案
缺失yasm,安装yasm(具体安装方式)
执行./configure --prefix=/usr/softinstall/ffmpeg
命令时报错:
libavcodec/x86/h264_qpel_mmx.c: Assembler messages:
libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp'
libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp'
libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp'
make: *** [libavcodec/x86/dsputil_mmx.o] Error 1
解决方案
把libavcodec/x86/h264_qpel_mmx.c
中的"g"
替换为"rm"
即可。
可以采用gedit使用批量替换。使用vim,进入命令行模式,输入:%s/"g"/"rm"/g
即可全部替换。执行后就可以重新执行./configure命令了。