参考:
https://blog.csdn.net/li_wen01/article/details/70639397
https://www.jianshu.com/p/76c1be068170
1.下载源代码
#下载nginx源代码
wget https://nginx.org/download/nginx-1.13.4.tar.gz
#下载rtmp插件模块
git clone https://github.com/arut/nginx-rtmp-module.git
2.编译nginx源代码
#安装一些编译依赖的库
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
#解压
tar xvf nginx-1.13.4.tar.gz
#进入主目录
cd nginx-1.13.4
#配置config
./configure --add-module=./../nginx-rtmp-module
#编译
make -j4
#安装
sudo make install
如上,安装完成后会在/usr/local/下创建一个nginx文件夹
验证安装:
sudo /usr/local/nginx/sbin/nginx
在服务器的所在PC机浏览器中输入 http://localhost/ 或 192.168.31.18(本机的IP地址),可以看到如下:
说明了nginx流媒体服务器已经搭建完成
3.nginx服务器配置
sudo vi /usr/local/nginx/conf/nginx.conf
#在该nginx.conf文件的最后面添加如下
rtmp {
server {
listen 1935;
application live {
live on;
record off;
}
}
}
重启nginx服务器
sudo ./sbin/nginx -t
sudo ./sbin/nginx -s reload
在服务器所在的机器中设置防火墙端口使能
firewall-cmd --permanent --add-port=1935/tcp
firewall-cmd --reload
4.推流到nginx流媒体服务器测试
4.1 我们在树莓派中使用ffmpeg推流一个MP4的文件到流媒体服务器
ffmpeg -re -i test.mp4 -c copy -f flv rtmp://192.168.31.18:1935/live
执行ffmpeg时,我们还可以看到该命令后面会实时的打印推流的具体的一些信息,例如 速率 帧率 播放速度等
4.2 然后我们在局域网内的任意一个机器使用vlc查看rtmp推流
rtmp://192.168.31.18:1935/live
点击播放,即可看到推流的实时画面
推流树莓派CSI摄像头视频流命令
ffmpeg -ss 0 -i /dev/video0 -c:v h264_omx -f flv rtmp://192.168.31.18:1935/live
ffmpeg -f v4l2 -r 25 -video_size vga -pix_fmt yuv420p -i /dev/video0 -b:v 500k -c:v h264_omx -an -f flv rtmp://192.168.31.18:1935/live