开发android版本的直播app

1.前言

最近受一朋友的委托,开发一款教育类的直播app,本来准备让别人来做,不过报价太贵了,动辄十几万甚至还有几十万的,就打算全部自己来写了。我原来是做c++的,没学过java,更没搞过android,故有点难度,不过边学边搞一个月也开发了一款可以使用的软件,这里记录下大致开发过程

2.过程

1.工欲善其事,必先利其器 原来听开发app的朋友说,他们使用的是eclipse+adt, 去google上查了下,说不再支持adt的更新 这里果断采用android studio来进行开发,试验证明用这个相当简单,不过磁盘内存耗的太厉害
2.和原来学别的语言一样,手边需要一本工具书作为参考,这里选择了”Android基础教程”,这本书是获得过图灵奖的,比较经典使用,多看下,选择性看就好,我只是反复看了一两章,其他的暂时对我没什么用
3.搞android开发经常需要翻墙,这里一个好的vpn不可缺少,我使用的是付费的红杏vpn,一个月18块还行,http://www.hx512.com/?ref=168064
4.直播如果自己做,估计需要几个月时间不一定做好,故直接采用了网易云信的一个直播插件,测试还行,正式环境还需要看下。因为还有一个充值部分,这里也是用ping++来实现对接,这是一家做聚合支付的,评价还ok,不过收费有点贵。前期节约时间,减少bug就是节约成本,不去过分要求这些了
5.服务器直接购买了一台阿里云的,自己做机房或托管有点麻烦,服务器端我采用了java+tomcat+mysql+server2012来实现我和网易,ping++,app的数据交互,测试没有问题,正式环境还需要调试
6.网站开发没时间了,只好找一家专门做网站的,我来告诉他做什么东西,让他们来实现了。

3.后话

马云说现在进入了数据时代,我的感觉现在更像九几年的一个前辈说的,进入了组件的时代,一款软件从头开始开发,不使用任何第三方的时代已经过去,或者说仅仅适用于大公司。对于中小企业,微创企业,更多的是和别人的合作,对于前期没有太多人力物力财力的时候,我们更应集中在我们的想法上,使用最小的代价实现我们的想法,这是我们首要考虑的
一: 使用javacv来实现,最终也是用过ffmpeg来进行编码和推流,javacv实现到可以直接接收摄像头的帧数据 需要自己实现的代码只是打开摄像头,写一个SurfaceView进行预览,然后实现PreviewCallback将摄像头每一帧的数据交给javacv即可 javacv地址:https://github.com/bytedeco/javacv demo地址:https://github.com/beautifulSoup/RtmpRecoder/tree/master 二: 使用Android自带的编码工具,可实现硬编码,这里有一个国内大神开源的封装很完善的的库yasea,第一种方法需要实现的Camera采集部分也一起封装好了,进行一些简单配置就可以实现编码推流,并且yasea目前已经直接支持摄像头的热切换,和各种滤镜效果 yasea地址(内置demo):https://github.com/begeekmyfriend/yasea 服务器 流媒体服务器我用的是srs,项目地址:https://github.com/ossrs/srs 关于srs的编译、配置、部署、在官方wiki中已经写的很详细了,并且srs同样是国内开发人员开源的项目,有全中文的文档,看起来很方便 这里有最基本的简单编译部署过程 Android直播实现(二)srs流媒体服务器部署 播放器 android端的播放使用vitamio,还是国内的开源播放器,是不是感觉国内的前辈们越来越屌了^~^! vitamio支持几乎所有常见的的视频格式和流媒体协议 vitamio地址(内置demo):https://github.com/yixia/VitamioBundle 这里使用的是yaesa库,先介绍一下直播实现的流程:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值