Nginx是优秀的开源并且可以添加插件的服务端,其中就有开源的RTMP插件nginx-rtmp-module实现了RTMP推流服务。
项目地址为:
https://github.com/arut/nginx-rtmp-module
搭建思路:
1. 采用nginx+nginx-rtmp-module搭建rtmp服务端
2. ffmpeg作为推送端,将视频流转为adobe flash flv格式封装后推送到nginx rtmp服务
Nginx服务端:
nginx下载:
https://github.com/nginx/nginx/tree/branches/stable-1.10
nginx-rtmp-module下载:
https://github.com/arut/nginx-rtmp-module.git
编译安装:
./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module
make && make install
添加rtmp配置:
sudo vim /usr/local/nginx/conf/nginx.conf
rtmp {
server {
listen 1900;
application myapp {
live on;
}
}
}
启动服务:
cd /usr/local/nginx/sbin
sudo ./nginx
FFmpeg推流端:
ffmpeg -re -i 1080.mp4 -f flv rtmp://192.168.8.137:1900/myapp/test
这里需要说明一下adobe flash flv默认的标准里面并没有h265编码的支持,需要h265的话需要扩展flv的标准。