语音片断
语音片断的发送、接收都是通过长连接分包进行。
发送:语音录制过程中,客户端每2秒发一次,每次2.5K左右
接收:服务器将语音分片文件整体当成一条消息,和文本消息一样的方式推送
总结,语音分片发送和文本相差不大,只是语音因为体积较大,录制过程中会同时上传操作,加快发送速度,取消时,删除已上传部分即可。
图片、视频片断、小视频
都类似,只是文件类型,大小不一样,客户端处理方式不同,对于服务器差别不大。
发送:https短连接,不走长连接,所有发送完后SyncKey 会通过长连接回推
接收:通过长连接接收图片的缩略图、视频截图+下载地址,用户点击图片时,走https下载原图、视频文件
实时对讲
长连接用于对讲会话的建立和维护信令传输,语言通过UDP中转。
测试的两个客户端都在同一个路由器下面,但数据流量都是通过140.206.160.179 上海联通的服务器做中转,也就是没有做p2p直传。
对讲机同时只有一个人说话,多人同时说话需要做混音、降噪、回声消除等,对讲机的音质应该会更可控吧
二人音视频
会话建立过程应该和SIP 差不多,通过长连接发起会话邀请-回铃-接听-数据传输,和实时对讲很多类似吧。
不同的是,二人音视频会走p2p,而且在发起邀请后就开始打洞,并且在对方接听前,也会不断的传输udp包,应该是探测p2p路径的可靠性速率吧。
udp的路径选择:
- 现在网络环境下,服务器带宽不再是首要考虑的问题,因为二人音视频使用量并不会太多,用户体验更为重要
- p2p一般都要比服务器中转要好,但p2p 建立较为耗时,所以在邀请阶段就开始p2p打洞
- p2p速率也并不一定要比服务器中转好,最好在通话过程中,也能动态切换使用的链路
posted on 2016-11-05 00:28
聂文龙 阅读(291)
评论(0) 编辑 收藏 引用