参考资料

http://dev.qq.com/topic/57a42ee6503dfcb22007ede8

http://blog.csdn.net/kingroc/article/details/50839994

http://blog.csdn.net/defonds/article/details/9274479

https://github.com/arut/nginx-rtmp-module

https://github.com/arut/nginx-rtmp-module/wiki/Directives

实现思路

安装nginx-rtmp-module,让Nginx支持RTMP和HLS协议,支持客户端和手机浏览器的回播和直播.

nginx-rtmp-module下载:

https://github.com/arut/nginx-rtmp-module

configure编译时安装:

1
./configure --add-module=/path/to/nginx-rtmp-module

配置

配置文件已经添加到 01.Nginx安装配置.doc 的conf.zip中,请自行查看,主要配置截图如下:


测试推流

使用ffmpeg测试推送RTMP流到nginx

例如把本地的test.mp4变成RTMP流推送到Nginx

1
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数据流正常播放视频,就可以了.

测试HLS播放

使用Android或者IOS手机浏览器,访问

http://nginx的IP/live/test/index.m3u8

PC浏览器播放直播

使用videojs-contrib-hls组件播放m3u8格式,实现PC浏览器的直播

参考:http://videojs.github.io/videojs-contrib-hls/