RTMP简介:
RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。
目标:
搭建本地的rtmp直播服务器,用于后续进行代码推rtmp流进行验证使用
环境:
centos 7
搭建步骤:
1:安装依赖环境
yum -y install git penssl openssl-devel
2:下载rtmp模块
git clone https://github.com/arut/nginx-rtmp-module.git
3:下载Nginx
cd ~ && wget http://nginx.org/download/nginx-1.17.9.tar.gz && tar -zxvf nginx-1.17.9.tar.gz && cd nginx-1.17.9
4:配置编译Nginx并添加rtmp模块
./configure --add-module=../nginx-rtmp-module --with-http_ssl_module
5:编译安装
make && make install
6:配置nginx的rtmp的信息,添加配置
vim /usr/local/nginx/conf/nginx.conf
末尾添加:
rtmp { server { listen 1984; application wlive{ live on; record off; } } }
7:重启Nginx服务
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
8:测试Nginx服务是否启动:
由于虚拟机的ip是192..168.239.135,所以使用本地win10浏览器打开192.168.239.135,可以看到如下内容
9:使用rtmp进行测试
使用ffmpeg推流:(此时的路径中wlive是前面配置的rmp中的application名称,test为流id)推流成功会显示如下截图
ffmpeg -re -i pix.mp4 -vcodec copy -acodec copy -f flv rtmp://192.168.239.135:1984/wlive/test
10:使用vlc进行拉流测试
点击媒体选择打开网络串流,在网络中输入ffmpeg推流的地址:rtmp://192.168.239.135:1984/wlive/test,点击播放,如果有如下的直播画面显示,说明直播服务器搭建完成
结尾总结:后续使用ffmpeg二次开发时,可以作为rtmp的测试直播服务器与vlc进行进行推拉流调试