Xmpp+openfire+smack音视频(PC和移动端)

一、XMPP

XMPP协议是一种基于XML的协议,叫做可扩展通讯和表示协议,其前身是Jabber,一个开源形式组织产生的网络即时通讯协议。XMPP协议目前被IETF国际标准组织完成了标准化工作,标准化的核心结果为两部分:1、核心的XML流传输协议;2、基于XMLFreeEIM流传输的即时通讯扩展应用。

XMPP官网上有基于XMPP协议的各种平台的服务器、客户端以及各种语言支持的內库,也就是说基于XMPP协议的各个平台的服务器和各种语言的客户端可以互相通信。

XMPP协议扩展出了Jingle协议使其支持语音和视频通讯,WebRTC是基于Jingle协议实现的音视频技术,能够很好的支持浏览器和移动端的音视频。

 

二、openfire对音视频的支持

Openfire是基于XMPP协议实现的一款java即时通讯服务器,Openfire源码插件里面有对jingle协议的支持,使其能进行音视频业务,但是该jingle插件基本很久没维护,但是Openfire里面有Sip(Sip是一种音视频协议)插件,使其也能进行音视频的相关业务。在github上有Sip协议与Jingle协议进行相互转化的源码可以下载使用。

基于XMPP协议的java內库应用比较流行的有smack和asmack,smack是基于PC平台的,asmack是基于Android平台的,实质上asmack是smack裁剪之后的版本。通过查看asmack和smack的源码发现,asmack不支持jingle协议和sip协议,而smack却支持jingle协议和sip协议。通过查阅相关资料和相关测试发现最新的smack能够在Android 4.1以上运行,而比较老版本的smack是不支持Android平台的。

 

通过以上分析可以得出XMPP协议支持音视频的相关业务,如果选取XMPP协议,开发语言是java语言的,可以选取Openfire+smack(注意最新版本)+SIP/Jingle,能够保证PC、移动端都能正常开发。在开发过程中大家好好利用XMPP开源这一特点,都可以下载到各个部分的源码。

 

另一种方案是选取WebRtc进行音视频业务,能够支持浏览器和移动端。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值