title: 12.nginx-rtmp-module直播实现 CreateTime: 2019-07-11 00:00:12 UpdateTime: 2019-07-11 00:00:12 CategoryName: web --- --- title: "12.nginx-rtmp-module直播实现" date: 2019-07-11T00:00:12+08:00 draft: false tags: ["web"] categories: ["web"] author: "springrain" --- **参考资料** ------------ **实现思路** ------------ 安装nginx-rtmp-module,让Nginx支持RTMP和HLS协议,支持客户端和手机浏览器的回播和直播. nginx-rtmp-module下载: configure编译时安装: ```shell ./configure --add-module=/path/to/nginx-rtmp-module ``` **配置** -------- 配置文件已经添加到 01.Nginx安装配置.doc 的conf.zip中,请自行查看,主要配置截图如下: ![](/public/12/document_image_rId15.jpeg) ![](/public/12/document_image_rId16.jpeg) **测试推流** ------------ 使用ffmpeg测试推送RTMP流到nginx 例如把本地的test.mp4变成RTMP流推送到Nginx ```shell ffmpeg -re -i test.mp4 -c copy -f flv rtmp://nginx的IP/live/test ``` 其中rtmp://nginx的IP/live/test就是流的地址,我们在nginx中配置了名字为live的application,后面的test是一个名称,可以自定义. **测试RTMP播放** ---------------- 流发布成功之后,使用VLC media player测试读取RTMP数据流正常播放视频,就可以了. ![](/public/12/document_image_rId17.png) ![](/public/12/document_image_rId18.png) **测试HLS播放** --------------- 使用Android或者IOS手机浏览器,访问 http://nginx的IP/live/test/index.m3u8 **PC浏览器播放直播** -------------------- 使用videojs-contrib-hls组件播放m3u8格式,实现PC浏览器的直播 参考:http://videojs.github.io/videojs-contrib-hls/