语音聊天软件是大家日常生活中最常用的软件之一。无论是一对一即时聊天,QQ、微信等支持陌生人语音社交的软件,还是直播、聊天室等多人聊天软件,想必大家总会使用其中的一个或多个。
以一对一直播软件开发为例子,今天我想讲一下,在我们使用聊天软件的时候,有多少音视频的传输方式在为咱们服务呢?
在一对一直播软件中,三大功能的开发离不开音视频传输,“短视频、直播”和“一对一音视频聊天”。在一些软件中,前两者服务于第三方,而在另一些软件中,“一对一直播”同样重要。
二是语音聊天传输工具。
1. 传输方式
在开发一对一语音聊天软件时,采用的音频传输方式为:用户A(推送流)——服务器(即时传输)——用户B
多用户语音聊天的音频传输方式为:用户A和B(同时流媒体)—服务器(即时传输)—其他用户。
2•简单地解释弱点
当两个用户进行私聊时,用户A的语音不是直接传输给用户B,而是先传输到服务器,然后再转发给用户B。这也是造成“抢占”和“延迟”的原因之一。
多用户聊天时,音频传输方式类似于一对一私聊,但多线并行。
3 .简单地解释优点
虽然有延迟,但是需要通过服务器,如果想要实现软件内的实时记录,也是需要经过服务器的。
三、短视频传输方式
如果你想要和某人私下聊天,你必须先了解他们一点,那么你如何去了解他们呢?您可以参与其直播,也可以观看其短视频。因此,在开发一对一直播软件时,不仅要开发一对一聊天,还要开发短视频、直播等其他社交方式
1. 传输方式:用户A(推送流)→服务器(存储流);User B(拉流)←服务器存储区域
2. 简单的解释
与一对一语音聊天不同的是,服务器不主动、即时地传输短视频,而是存储短视频,等待用户B发起拉流请求,然后被动地流出去。这样做的好处是短视频可以保存很长时间。
4. 直播的传播方式
1. 传输方式
直播采用的音频传输方式为:主播A(推送流)→主服务器(即时传输)→CDN分发网边缘服务器;用户B/C/D(拉流)→CDN边缘服务器
2. CDN是什么
一对一服务器的软件架构,可以从简单到复杂,如果一个没有涉及很多人在软件开发中,所以服务器配置简单,但如果软件的功能开发,因为软件涉及众多用户,所以只依靠主服务器进行推拉流活动可能会导致服务器延迟和服务器崩溃,作为一个分布式网络,CDN可以通过负载均衡等方法分担主服务器的压力,使用户可以更快地接收到直播内容。这就是CDN的意义所在。