1.安装准备软件
yum install -y yasm
2.源码编译安装 x264
cd /var/www/setup
mkdir x264
cd x264
wget https://codeload.github.com/qupai/x264/zip/master
tar -zxvf x264-master
cd x264-master
#查看帮助信息
./configure --help
#我们需要的是x264以.so or .a的形式来支援ffmpeg,所以一般就关注shared和static关键词就可以了, --disable-cli一定要填,不然make出错
./configure --prefix=/usr/local/x264 --enable-shared --enable-static --disable-cli --enable-strip --enable-yasm
make
make install
3.源码编译安装 FFMPEG
在FFmpeg官网获取源码 http://ffmpeg.org/download.html ,当前版本为 ffmpeg-3.4.2.tar.bz2 ,配置完成后编译并安装
cd /var/www/setup
mkdir ffmpeg
cd ffmpeg
wget https://ffmpeg.org/releases/ffmpeg-4.1.tar.bz2
tar -jxvf ffmpeg-4.1.tar.bz2
cd ffmpeg-4.1
./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-yasm --enable-libx264 --enable-gpl --enable-pthreads --extra-cflags=-I/usr/local/x264/include --extra-ldflags=-L/usr/local/x264/lib --disable-x86asm
make
make install
如果遇到错误,把相关lib目录添加到lib
find / -name libavdevice.so.58
#find / -name libx264.so.*
vim /etc/ld.so.conf
#将上述目录添加到最后一行并保存退出;
/sbin/ldconfig
#执行 ldconfig -v 命令,更新 ld.so.cache,使修改立即生效:
ldconfig -v
4. 创建软连接
#相当于 windows 中的创建快捷方式:
ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/
ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/
ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/
5. 头文件拷贝
#路径 /usr/local/ffmpeg/include/ 包含的文件信息如下:
cd /usr/local/ffmpeg/include/
ls
#/usr/local/ffmpeg/include 目录下创建 ffmpeg 目录:
mkdir ffmpeg
#将 /usr/local/ffmpeg/include 路径下所有目录复制到 ffmpeg 目录中:
复制代码
cp -r libswscale/ /usr/local/ffmpeg/include/ffmpeg/
cp -r libswresample/ /usr/local/ffmpeg/include/ffmpeg/
cp -r libpostproc/ /usr/local/ffmpeg/include/ffmpeg/
cp -r libavutil/ /usr/local/ffmpeg/include/ffmpeg/
cp -r libavformat/ /usr/local/ffmpeg/include/ffmpeg/
cp -r libavfilter/ /usr/local/ffmpeg/include/ffmpeg/
cp -r libavcodec/ /usr/local/ffmpeg/include/ffmpeg/
cp -r libavdevice/ /usr/local/ffmpeg/include/ffmpeg/
#将 /usr/local/ffmpeg/include 路径下 ffmpeg/ 目录复制到 /usr/include/:
cp -r ffmpeg/ /usr/include/
6.PKG_CONFIG_PATH 变量设置
ffmpeg 安装程序会在 /usr/local/ffmpeg/lib/pkgconfig 目录下提供 libavcodec.pc libswscale.pc 等5个.pc文件,分别对应安装的五个库文件。必须要让 pkg-config 能找到 ffmpeg 的 *.pc 文件,通过 PKG_CONFIG_PATH 来设置 pkg-config 来更新。
cd /usr/local/ffmpeg/lib/pkgconfig/
vim /etc/profile
#添加如下配置:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/local/ffmpeg/lib/pkgconfig
export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$PATH:$FFMPEG_HOME
#使配置立即生效:
source /etc/profile
7.测试推流
ffmpeg -version
ffmpeg -f v4l2 -r 25 -video_size vga -pix_fmt yuv420p -i /dev/video0 -b:v 300k -c:v h264_omx -f flv rtmp://10.8.0.188/live/01
ffmpeg -f video4linux2 -qscale 10 -r 12 -s 640x480 -i /dev/video0 -f alsa -i hw:1 -ab 16 -ar 22050 -ac 1 -f mp3 -f flv rtmp://127.0.0.1/rtmpsvr/rtmp1
ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -f flv rtmp://127.0.0.1:1935/live/live
ffmpeg -r 30 -i /dev/video0 -vcodec h264 -max_delay 100 -f flv -g 5 -b 700000 rtmp://10.8.0.188/rtmpsvr/rtmp1
ffmpeg -f v4l2 -framerate 10 -i /dev/video0 -q 10 -f flv rtmp://127.0.0.1/live/wei
ffmpeg -f v4l2 -framerate 10 -i /dev/video0 -q 10 -f flv rtmp://127.0.0.1/hls/cctv
ffmpeg /dev/video0
ffmpeg /dev/video0 -f flv rtmp://127.0.0.1/live/live