前面介绍了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/srscd 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地址换成自己部署的ipsudo ./objs/ffmpeg/bin/ffmpeg -re -i ./doc/source.200kbps.768x320.flv \-vcodec copy \-f flv -y rtmp://192.168.31.126/srstest/teststream

不出意外的话在终端中就应该开始一帧一帧的推流了:
Android直播实现(二)srs流媒体服务器部署_第1张图片

这样就推流成功了,然后用srs的在线播放器试一下能否观看
http://winlinvip.github.io/srs.release/trunk/research/players/srs_player.html

Android直播实现(二)srs流媒体服务器部署_第2张图片

服务器启动以后,把Android推流和播放端的ip改为服务器的部署ip,就可以开始直播了

如果没有成功,可以利用srs在线播放器来帮助测试:
1.测试推流可以在Android上向服务器推流,用srs在线播放,播放成功推流就没问题了
2.测试播放可以像上边一样,先用ffmpeg推流一个视频文件,在Android端播放

更多相关文章

  1. 基于Eclipse的Android JNI层测试应用开发过程记录
  2. android 播放rtsp协议流媒体
  3. 可靠的功能测试--Espresso和Dagger2
  4. Android怎么从服务器端获取数据
  5. android通过webservice连接SQL数据库(一)服务器端
  6. 详解Android客户端与服务器交互方式

随机推荐

  1. linq to sql的一个问题
  2. MySQL5.7多源复制
  3. Spark SQL:如果是NULL处理。
  4. mysql index hint 在index不存在时的处理
  5. 数据库的认识+SQL
  6. MySQL5.7.10下载及安装及配置
  7. 使用不同的条件,在同一个表的一个SQL查询
  8. 下标越界: '[number: 0]'
  9. 如何将MDB (Access)文件转换为MySQL(或纯
  10. phthon 连接sql server数据库执行存储过