关于openfire的android音/视频聊天的方案问题,探索了两周了,依然感觉模糊不清,不知道选择那一条路线
方式1:
使用openfire作为服务器,spark作为客户端,通过openfire的一个red5插件redfire,既可以使用spark能进行语音/视频聊天,不过需要支持flash,然后想实现android的音/视频聊天,找了半天的资料找不到,普通的文本聊天有了很多例子。openfire是xmpp协议的服务器,通过使用smack类库实现聊天交互,smack是xmpp协议实现的客户端类库,在android上用的是asmack,asmack就是smack在android上的使用。通过这个方案完全可以实现基本的文本聊天,包括PC,android都没有问题,不过就是关于音/视频聊天的问题比较棘手,找了很多资料,没有一个实例,最后放弃重新找其他方案
方式2:
由于 Ignite Realtime官方已经抛弃了redfire插件,所以竟然官方已经抛弃,说明redfire方案不是很好,所以资料也非常少,如果有幸能够用redfire搭建音/视频聊天,我想应该还是可以优化的。我也暂时的把redfire先放下,找其他方案。
还是使用openfire作为服务器,使用openfire meeting插件,这个插件是Jitsi Videobridge之后的延续,由jitsi提供,客户端使用jitsi meeting 连接openfire,连接存在问题,不过可以获取openfire上的用户列表,但不能聊天。openfire meeting是可以在web端视频聊天,这个没有问题,找了很多资料还是没能找到关于android的实现例子。
jingle是xmpp协议的拓展,用于支持语音视频的协议,协议由WebRTC实现,WebRTC的客户端插件在此下载,可以用在spark中,有一篇资料很好:
A video plugin for Spark using WebRTC
在openfire中用jitsi videobridge插件,不过jitsi videobridge插件已经被放弃。关于jitsi videobridge插件的源码:https://download.jitsi.org/jitsi-videobridge/openfire/
关于网友提供的方案:http://bbs.csdn.net/topics/390935295
如果您有比较好的资料和方案,能和我聊不