你了解吗?一对一直播软件开发它们才能实现音视频传播

196次 2019-12-26

语音聊天软件是当代人民日常生活中最常使用的软件之一,无论是一对一即时聊天的QQ、微信、还是陌陌等支持陌生人语音社交连线的软件,又或者是直播、聊天室等多人聊天软件,你总归会使过其中一种或几种。

以一对一直播软件开发为例,今天想讲讲,在我们使用聊天软件时,有多少种音视频传输方式在为我们服务。

一、 简述

在一对一直播软件里,有三种功能的开发离不开音视频传输,“短视频”“直播”和“一对一音视频聊天”,在一些软件里,前两者为第三者服务,而另一些软件里,“一对一”和“直播”的分量同样重。

二、 语音聊天的传输方式

1、 传输方式

一对一语音聊天软件的开发中采用的音频传输方式为:用户甲(推流)→服务器(即时传输)→用户乙

多人语音聊天采用的音频传输方式为:用户甲/乙(可同时推流)→服务器(即时传输)→其他用户

2、 简单解读缺点

在两位用户进行私聊时,用户甲的语音先传输到服务器,再被推流到用户乙那里,而不是直接传输到乙那里,“服务器中转”这一步也是出现“抢话”“延迟卡顿”的祸首之一。

在多人用户进行聊天时,音频传输方式其实与一对一私聊差不多,只是多线并行。

3、 简单解读优点

尽管会造成一定的延迟卡顿,但通过服务器也是必须的事,并且如果想要实现软件内实时录音,也需要通过服务器才行。

三、 短视频的传输方式

想确定与谁私聊,肯定是要先略微了解一些对方的,那么如何了解对方呢?可以参与其直播,或者观看其短视频,因此在一对一直播软件开发中,不仅要开发一对一聊天,还要开发其他社交方式,如短视频、直播等

1、 传输方式:用户甲(推流)→服务器(存储起来);用户乙(拉流)←服务器存储区

2、 简单解读

与一对一语音聊天方式不同的是,服务器并未将短视频主动即时传输出去,而是将其存储起来,等待用户乙发起拉流请求,再被动将流传输出去。这么做的优点是可以将短视频长期留存。

四、 直播的传输方式

1、 传输方式

直播采用的音频传输方式为:主播甲(推流)→主服务器(即时传输)→CDN分发网络的各边缘服务器;用户乙/丙/丁(拉流)→CDN的边缘服务器

2、 CDN是什么

一对一直播软件的服务器架构,可简单可复杂,如果一对一直播软件开发中没有涉及到多人直播,那么服务器配置简单一点也行,但如果开发了直播功能,由于直播涉及到的用户众多,因此只靠主服务器进行推拉流活动可能会导致延迟和服务器崩溃,而CDN作为分发网络,可以通过负载均衡等方式,分担主服务器压力,使用户更快收到直播内容,这边是CDN的意义所在。

一对一直播软件开发不是一件简单的事,仅仅是一个“音视频传输”,在不同功能上所使用的机制就完全不同,如果诸位有关于此事不明白的地方,请直接在评论区留言。

声明:文章为原创内容,转载请注明出处