广播与P2P通道(上) -- 问题与方案

简介: 我们设想一下网络视频会议的场景:在一个视频会议虚拟房间中,每个人都需要将自己的视频数据发送给房间中的其它人,从而实现在同一个地方进行实时会议的效果。为了简单起见,我们假设,这个虚拟的视频会议房间中只有三个人,其结构可以简化描绘如下:     客户端A需要将自己的视频数据发送给B和C,客户端B需要发给A和C,客户端C需要发给A和B。

我们设想一下网络视频会议的场景:在一个视频会议虚拟房间中,每个人都需要将自己的视频数据发送给房间中的其它人,从而实现在同一个地方进行实时会议的效果。为了简单起见,我们假设,这个虚拟的视频会议房间中只有三个人,其结构可以简化描绘如下:

   

客户端A需要将自己的视频数据发送给B和C,客户端B需要发给A和C,客户端C需要发给A和B。有了这个场景基础,接下来,我们将从数据传送通道的角度来分析在这个模型中可以采用的通道方式,以及进行对比并找出最优的通道模型。所谓最优,就是服务器所占用的带宽(包括上行和下行)最小,因为在现实的视频会议案例中,带宽是不可忽视的成本之一。为了下面能进行更具体的数据分析和比较,我们假设视频的大小为320*240,帧频为10fps,这样,一路视频流经过编码后,所需的码率大概为30KByte/s。

1.模型1:最简单的通道模型

对于上述场景,我们第一反应能想到的解决方案的要点:

(1)所有的视频数据都经过服务器中转。

(2)以客户端A为例,对于采集到的每一帧视频,调用两次发送方法,一次发送给B,一次发送给C,都经过服务器中转。客户端B和C也是同理。

(3)服务器仅仅转发数据,不需加入任何其它的逻辑。

现在,我们计算一下服务器的带宽占用。

上行:30*2*3 = 180KByte/s。(每个客户端需要上传两份相同的视频流,3个客户端)

下行:30*2*3 = 180KByte/s。(每个客户端需要下载另外两个用户的视频流,3个客户端)

在这种模型下,上下行是完全对称的。这个模型有个很明显的缺陷:每个客户端采集的每一帧视频都需要上传两次。修正这个缺陷也很容易,在服务端引入广播功能。

2.模型2:在服务端进行广播

在第一个模型的基础上,我们在服务端增加广播功能,将视频帧的接收者的决定权由客户端转交给服务器:

(1)客户端将采集的每一帧发送给服务器,服务器收到该帧后,根据当前会议的参与者,决定需要将视频帧转发给哪几个客户端。

(2)以客户端A为例,对于采集到的每一帧视频,只需调用一次发送给服务器的方法。

我们再来计算一下服务器的带宽占用。

上行:30*3 = 90KByte/s。(每个客户端上传自己的视频流,3个客户端)

下行:30*2*3 = 180KByte/s。(每个客户端需要下载另外两个用户的视频流,3个客户端)

在这种模型下,上下行不再对称了,上行的流量减小了一半,效果还是很明显的。

3.模型3:结合P2P通道

为了进一步减少服务器的带宽占用,我们还有一个杀手锏,那就是在模型2的基础上使用P2P通道。理想的情况下,A和B以及C相互之间的P2P通道都可以创建成功,这样,就没有任何数据需要经过服务器中转了,所以,服务器的上行和下行的带宽占用都是0。但是,现实中常见的情况很复杂。比如,假设客户端C的路由器的NAT是对称型的,那么,C和A以及C和B之间的P2P通道无法创建成功,但A和B之间的P2P是成功的。基于此假设,我们希望,A和B之间的数据经过P2P通道直接传送,A和C以及B和C之间的数据只有经过服务器转发:

(1)A通过P2P通道将视频帧发送给B,并通过服务器中转给C。

(2)B通过P2P通道将视频帧发送给A,并通过服务器中转给C。

(3)C通过通过服务器将视频帧中转给A和B。 

我们再来计算一下服务器的带宽占用。 

上行:30*3 = 90KByte/s。(每个客户端都要上传自己的视频流,3个客户端) 

下行:30 + 30 + 30*2 = 120KByte/s。(A需要下载C,B需要下载C,C需要下载A和B)

可见,由于P2P通道的存在,降低了下行带宽的占用量。 

4.服务器广播与P2P通道结合深入分析

现在,我们将参与视频会议的人数扩展到N(N>=2),情况依然是复杂的,某些客户端之间的P2P通道成功建立,而某些客户端之间的P2P通道无法创建成功。在这种情况下,如何才能将服务器广播模型与P2P结合起来了?需要做到以下几点:

(1)每个客户端需要记录自己与哪些用户创建了P2P通道。

(2)服务器也要知道每个客户端的P2P通道的状态。(客户端的P2P通道状态发生变化时,及时报告给服务器)

(3)当服务器收到一个视频帧时,首先,查看当前参与会议的用户,然后,根据视频帧的发送者的P2P通道状态,来综合决定该视频帧需要转发给哪些客户端。

        (比如本文的例子,服务器收到A的视频帧,发现A和B之间的P2P是通的,所以,它就只将该帧转发给C。)

(4)在客户端发送视频帧时,又可细分为三种情况:

  a.当某个客户端发现自己和所有的与会者都建立了P2P通道时,那么,它就不用把视频帧发送给服务器了。

  b.如果客户端与所有与会者的P2P通道都没有建立成功,那么,它只需要将视频帧发送给服务器。

  c.如果客户端与部分与会者建立了P2P通道,那么,它不仅需要将视频帧发送给服务器,还需要将该帧经过每个P2P通道发送一次。

本篇我们提出了广播消息与经服务器中转、P2P通道传送等方案结合时,可能发生的各种情况,以及在每种情况下服务器消耗的上行与下行的带宽。综合看来,模型3对服务器带宽的占用是最少的,但是,其实现也是最复杂的。我们将在下篇详细介绍基于ESFramework通信框架对上述模型3的完整实现,敬请期待。

 

目录
相关文章
|
算法 物联网 Swift
Qwen3 X ModelScope工具链: 飞速训练 + 全面评测
Qwen于近日发布了Qwen3系列模型,包含了各个不同规格的Dense模型和MoE模型。开源版本中,Dense模型基本沿用了之前的模型结构,差别之处在于对于Q和K两个tensor增加了RMSNorm;MoE模型去掉了公共Expert,其他结构基本与前一致。在模型大小上,涵盖了从0.6B到32B(Dense)和235B(MoE)不同的尺寸。
2087 15
|
4天前
|
人工智能 自然语言处理 安全
阿里云AI数智鉴密:AI 生成内容如何拿到一张"防篡改的身份证"
隐形水印 + C2PA签名:让AI生成内容“持证上岗”。
1122 0
|
13天前
|
人工智能 自然语言处理 安全
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
本文聚焦阿里云2026年推出的三款自研AI办公产品,清晰拆解千问办公、Qoder Teams、Qoder CN的差异化定位与能力边界:千问办公主打职场全场景提效,支持自然语言指令一键完成PPT生成、数据分析等高频办公任务;Qoder Teams面向程序员团队,深度整合AI代码生成、团队协同与企业知识库能力;Qoder CN则专为金融、政务等强合规场景打造,实现数据不出境与VPC私有化部署。文章同步给出分场景选型指南与最新活动定价,帮助不同类型的企业按需组合产品,实现业务岗、研发岗与强合规场景的AI能力全覆盖。
3731 4
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
|
4天前
|
人工智能 运维 BI
阿里云千问办公QwenWork深度解析:基于Qwen3.8,六大核心能力重构企业全自动化工作流与计费选型指南
传统AI办公工具大多停留在对话问答、文档摘要、简单文案生成层面,只能完成单点碎片化任务,无法自主拆解复杂业务流程,很难串联多工具、多文档、外部业务系统完成端到端完整工作交付。很多企业在落地AI办公的时候,需要组合多款不同工具,来回切换界面,手动复制粘贴中间结果,智能化改造落地门槛居高不下。千问办公QwenWork是整合多款智能体产品能力打造的一体化企业办公智能体平台,底层基座依托Qwen3.8大模型,打通桌面端Agent、云端Agent、企业协同Agent三种运行形态,不再局限简单问答,接收业务目标之后自主拆解任务步骤,调用各类工具,处理文档、表格、浏览器自动化、数据查询,直接输出可交付的办公
1350 0
|
4天前
|
人工智能 安全 前端开发
刚刚 GPT-6 Astra 发布,全球最强,AGI 时代到来!
OpenAI 正式推出 GPT-6 Astra 模型,带大家看看这次 GPT 有哪些提升,跟 Claude Fable 5.1 有什么差距?AI 编程能力如何?AGI 真的来了么?
611 0
|
10天前
|
人工智能 并行计算 数据可视化
秋叶ComfyUI-AKI最新整合包|完整部署教程+核心指令手册
秋叶ComfyUI-AKI一键整合包,国内适配最优、稳定性最强的商用/学习级版本:全封装虚拟环境、预装90%常用节点、内置绘世启动器与成熟工作流,免配置、零依赖、解压即用,完美兼顾新手入门与专业批量生产需求。(239字)