细数直播app开发中的音视频传输方式

直播软件是当代人民日常生活中最常使用的软件之一,无论是才艺直播、游戏直播还是其他直播类型,你总会使用过其中一种或几种,以直播app开发为例,今天想讲讲,在我们使用直播app时,直播软件源码中有多少种音视频传输方式在为我们服务。
直播app开发
一、 简述

在直播软件中,有一对多直播和一对一直播两种类型,其中有三种功能的开发离不开音视频传输,分别是“短视频”“一对多直播”和“一对一音视频聊天”。

二 、 直播传输方式

1、 传输方式

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

2、 CDN是什么

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

三、 语音聊天的传输方式

1、 传输方式

一对一直播app开发采用的音频传输方式为:用户甲(推流)→服务器(即时传输)→用户乙

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

扫描二维码关注公众号,回复: 10619015 查看本文章

2、 简单解读缺点

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

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

3、 简单解读优点

直播app开发使用这种方式进行音视频传输,会造成一定的延迟卡顿,但通过服务器也是必须的事,并且如果想要实现软件内实时录音,也需要通过服务器才行。

直播app开发
四、 短视频的传输方式

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

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

2、 简单解读

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

直播app开发不是一件简单的事,仅仅是一个“音视频传输”,在不同功能上所使用的机制就完全不同。

发布了119 篇原创文章 · 获赞 27 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/yun_bao_2144899870/article/details/105379113