树莓派centos 第四十四章 nginx + ffmpeg + rtmp搭建视频流服务器

31 篇文章 2 订阅
8 篇文章 0 订阅

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

树莓派centos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值