移动端图文直播技术方案的分析

最近公司的项目要实现一个赛事的图文直播,类似网易新闻的NBA直播。

具体的需求:
1. 主播端(php实现)可以推送消息到直播间
2. 客户端(android/iOS实现)接收消息
3. 消息的种类比较多,支持文字,图片(包括GIF图),图文混排(相对固定的几种格式)
4. 客户端用户不能发言,发言需要去专门的讨论区(im,类似群)

最初的需求分析:
1. 用socket实现消息的传递
2. 服务器端的开发工作量比较大。除了完成基本的消息传递,还要处理直播间的逻辑,维护直播间的状态,以及搭建一个主播用的主播端

后来发现,这个需求非常像IM里的聊天室,它与聊天室的区别在于:
1. 不能限制聊天室的人数(可能几万人同时在看直播)
2. 聊天室的数量非常多(每场比赛都要创建一个聊天室)
3. 聊天室有即时性(比赛结束后,聊天室就要关闭)
4. 需要保存聊天室的历史消息(用于用户回看)
5. 自定义的消息格式比较多

所以,比对了一下现成的几个IM方案:
1 . 公司已经有的视频直播方案
优点:有现成的代码,数据传输部分有源码,也有直播间的概念。
缺点:视频传输使用的是rtmp格式,这个需要修改,自己定义一个新的格式。以及,c++人手不够。。。

2 . 公司已有的基于netty框架的项目
优点:有现成的代码,开源的框架。
缺点:netty是一个java框架,没有php版本。另外已有的项目里,并没有直播间的概念,需要重新设计。

3 . 基于socket的全新的开发方案
优点:重新开发,对代码的掌控会比较好
缺点:开发周期长,可能遇到各种坑

4 . 友盟IM框架
优点:现成的框架,自带UI,服务器端也有相应的api
缺点:友盟IM的聊天室人数有限制,最多支持2000人,满足不了项目需求

5 . 网易云信IM框架
优点:现成的框架,开源的ui,聊天室人数无限制,满足项目需求
缺点:UI是开源的,需要你手动添加到自己的项目里

总结,1,2,5都是我们可以接收的方案,具体的选择还是要看人手以及公司的技术储备。
从时间上来说,如果没有技术储备,方案5的时间是最短的。如果想在项目开发的同时积攒一定的技术储备,建议选择2或者3
视频直播的方案,复杂度会比较高,在现有技术人员没有相关经验的情况下,不建议采用。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值