大神请进,Android音视频聊天各种实现方式问题

移动开发 码拜 7年前 (2017-04-13) 1222次浏览
最近项目需要,要完成一款局域网通信软件,主要实现Android端的文字、语音、视频聊天功能,并且实现服务器,服务器端能实现客户端上下线监控以及资源推送等简单功能,但是服务器端现在还没人做,想找找有没有现成的,减少工作量。
这两天查了一些资料看主流的实现方式有以下几种:
1.  xmpp+openfire方式,客户端调用asmack类库,这种方式比较成熟,尤其服务器端已有比较完整的demo,但是 全部的相关资料都是文字聊天,没有音视频,又有的说xmpp视频传输支持的不好,openfire冗余大的问题。
2、tcp通信,通过调用Android提供的相关tcp,udp网络传输api实现,这种实现方式也很普遍,但就是得从最开始实现。
3、jingle:据说gtalk就是在方案一的基础上用jingle实现了视频聊天,不过资料特别少。
4、jitsi,貌似是xmpp+sip, 这个git上有比较完整的源程序,但是感觉好复杂,研究透它实现可行么?
5、sip协议,可以用于视频通信
本人初步想通过xmpp和android tcp api组合完成,xmpp实现与服务器的交互和资源推送,tcp实现音视频聊天,不知道可行么,这两种协议在一块工作可以么? 还是直接研究下jitsi的实现更靠谱一些。
这方面知识浅薄,烦请有相关这方面研究的高手指点一二,那种实现方式比较可取!谢谢谢谢!
解决方案

20

文字聊天推送用xmpp+openfire是够了,
语音要单独弄个服务器 加密和压缩 个人觉得都要用JNI  C/C++库去处理提高性能,你可以用Apache MINA做为TCP基础框架。
像图片发送都可以用单独的服务器去处理,独立处理。
题主的项目就相当于一个小型的微信系统了。 看你的用户需求和用户量。基本都是TCP Socket通信,
部分可用HTTP,例如用户登录注册,版本更新等。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明大神请进,Android音视频聊天各种实现方式问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)