首页 > 代码库 > FFmpeg总结(十二)用ffmpeg与nginx实现直播多路流并发播放

FFmpeg总结(十二)用ffmpeg与nginx实现直播多路流并发播放

技术分享

图:撒哈拉沙漠

下载 nginx 和 nginx-rtmp源码: 
http://nginx.org/download/nginx-1.5.10.tar.gz 
https://github.com/arut/nginx-rtmp-module/archive/master.zip

编译安装: 
cd nginx-1.5.10 
./configure –with-http_ssl_module –add-module=../nginx-rtmp-module-master 
make 
make install

浏览器输入localhost:8010(默认80,由于其他服务在用,这里用8010),得到如下:

技术分享

配置nginx支持rtmp,找到nginx.cnf,在http节点结束后加入rtmp节点,如下:

  1. rtmp {    server {

  2.            listen 1935;//监听1935端口

  3.  

  4.            application yuiop {//为什么叫yuiop?你懂的啦

  5.                    live on;

  6.                    record off;

  7.        }

  8.    }

  9. }

FFmpeg开始推流,先推一个直播流来直播

接下来开始看下服务器流是否可看,开始拉流播放

  1. ffplay rtmp://xxx.xxx.xxx.xxx:1935/yuiop/live

也可以在网页端口写点js代码,也能支持播放,效果如下:

技术分享

推一个流,拉一个流不过瘾,直播可是,同时有n多个流在推拉,接着来,推拉两个,很自然也成功了。

技术分享

要是用我之前《Android Multimedia框架总结(二)MediaPlayer框架及播放网络视频案例》的例子,把直播地址,传给mediaplayer,就可以在手机上看直播了。

最后来张全家福,本地电脑和直播服务器同时看直播,有2-3秒延迟

技术分享

第一时间获得不止个人原创 android/音视频技术干货,问题深度总结,FrameWork源码解析,插件化研究,FFmpeg研究,直播技术,最新开源项目推荐,还有更多职场思考

 

FFmpeg总结(十二)用ffmpeg与nginx实现直播多路流并发播放