Android直播实现(二)srs流媒体服务器部署
前面介绍了Android端的编码、推流和播放
Android直播实现(一)Android端推流、播放
但是作为android程序员,写好了推流器和播放器,没有服务器来测试还是很头疼的,这里就介绍一下srs服务器的最简单的部署,如果有兴趣深入研究的可以去看看官方的wiki,因为是国内开发人员开源的,提供中文文档,讲解的很详细 https://github.com/ossrs/srs/wiki/v3_CN_Home
编译:
官方推荐在CentOs 6.x 和 Ubuntu12.x下编译,为了避免不必要的麻烦,我直接在Ububtu 12.04.5上进行编译和部署的
首先clone srs源码
git clone https://github.com/ossrs/srs
cd srs/trunk
然后进行编译
./configure --rtmp-hls --with-http-api --with-ffmpeg && make
//--rtmp-hls:开启ssl/hls,其他功能都处于关闭状态。
//--with-http-api:开启http api接口。
//--with-ffmpeg:开启FFMPEG
这里只编译了基础功能,更详细的配置可以看:https://github.com/ossrs/srs/wiki/v1_CN_Build
编译完之后启动就可以了
//启动时也可以自定义去配置,制定一个conf文件就可以了,这里用现成的rtmp.conf来启动
./objs/srs -c conf/rtmp.conf
如果没报错,这个时候服务器就已经启动了,把Android推流和播放端的ip地址,改成srs部署的ip就可以实现直播了(注意:如果是用虚拟机,要把网络模式换位桥接模式,让虚拟机拥有独立的ip,否则主系统可以访问到srs,但局域网内的手机是访问不到的)
为了测试srs是否已经成功启动,可以先用ffmpeg 对一个本地视频文件进行推流,srs的/doc/下有测试的flv文件,直接用ffmpeg进行推流
//ip地址换成自己部署的ip
sudo ./objs/ffmpeg/bin/ffmpeg -re -i ./doc/source.200kbps.768x320.flv \-vcodec copy \-f flv -y rtmp://192.168.31.126/srstest/teststream
不出意外的话在终端中就应该开始一帧一帧的推流了:
这样就推流成功了,然后用srs的在线播放器试一下能否观看
http://winlinvip.github.io/srs.release/trunk/research/players/srs_player.html
服务器启动以后,把Android推流和播放端的ip改为服务器的部署ip,就可以开始直播了
如果没有成功,可以利用srs在线播放器来帮助测试:
1.测试推流可以在Android上向服务器推流,用srs在线播放,播放成功推流就没问题了
2.测试播放可以像上边一样,先用ffmpeg推流一个视频文件,在Android端播放
上一篇: nginx + rtmp 搭建流媒体服务器直播平台
下一篇: 学习springCloud杂记