跨协议SFU自适应媒体调度方法、装置、设备及存储介质与流程
本发明涉及视频会议的,更具体地,涉及一种跨协议sfu自适应媒体调度方法、装置、设备及存储介质。
背景技术:
1、sfu(选择性转发单元)架构仅选择性转发媒体流,不做编解码,延迟低、资源消耗小,已成为视频会议等主流架构。在实际应用中,参会终端所采用的通信协议呈现多样化的特点:一方面,基于webrtc(web real-time communication,网页实时通信协议)的浏览器终端以及基于私有协议的终端等新型终端被广泛采用;另一方面,现网中仍大量存在采用rtsp(real time streaming protocol,实时流协议)的网络摄像头,以及采用sip(sessioninitiation protocol,会话初始协议)或h.323协议的传统硬件会议终端等老旧异构终端。因此,在新老异构终端混合参会的场景下,如何使采用不同通信协议的终端接入同一sfu架构的会议系统,成为本领域需要解决的问题。
2、针对上述问题,现有技术中的一种方案采用全网关架构,所有终端先经网关统一协议转换再接入媒体服务器。这使新型终端也需网关处理,增加链路延迟,且终端增多时网关易成性能瓶颈;另一种方案采用全协议内置架构,sfu内核直接集成多种协议栈对接各类终端,但需将webrtc、私有协议及rtsp、sip、h.323的信令与媒体处理逻辑全部置入内核,导致内核臃肿、复杂度高,开发维护困难,任一协议栈缺陷都可能影响整体稳定性。
3、因此,在新老异构终端混合参会的场景下,如何在保证sfu内核精简、媒体转发低延迟的同时,兼容采用rtsp、sip、h.323等协议的老旧异构终端接入,是本领域亟待解决的技术问题。
技术实现思路
1、本发明为解决在保证sfu内核精简和低延迟转发的前提下,兼容老旧异构终端接入的技术问题,提供一种跨协议sfu自适应媒体调度方法、装置、设备及存储介质,本发明采用的技术方案如下。
2、第一方面,本发明提供一种跨协议sfu自适应媒体调度方法,应用于供多种协议类型的终端接入同一会议房间的媒体调度系统,所述系统包括选择性转发单元sfu媒体服务,所述系统还包括与所述sfu媒体服务进程隔离部署的桥接服务,所述方法包括:
3、对所述sfu媒体服务与所述桥接服务执行分层隔离部署,其中,所述sfu媒体服务仅开放第一类协议接入端口,不对外开放第二类协议端口;桥接服务单独监听且仅监听第二类协议端口;
4、按终端所支持的协议类型将终端划分至两条相互隔离的接入链路,支持所述第一类协议的原生终端直接与所述sfu媒体服务建立信令连接与媒体连接并加入目标会议房间,仅支持所述第二类协议的异构终端仅与所述桥接服务建立连接,由所述桥接服务完成该异构终端的信令协商和媒体流的解封装;
5、异构终端接入时,所述桥接服务先完成与该异构终端之间的信令协商和媒体流解封装,以一一映射方式为该异构终端独立创建一个虚拟原生终端,所述虚拟原生终端采用与sfu媒体服务原生支持的预先约定好的协议完全相同的信令格式、媒体流封装和接入流程,从而以标准原生终端身份接入所述sfu媒体服务;其中,所述预先约定好的协议为第一类协议中的一种;
6、所述sfu媒体服务对同一会议房间内的全部参会终端统一采集媒体能力参数信息,并基于采集的媒体能力参数信息判定任意发布端与订阅端之间的媒体参数兼容性;
7、在判定为兼容时,媒体流进入进程内无损转封装流水线,仅执行跨协议时间戳矫正与rtp包头重构,不经编解码直接通过统一track轨道选择性转发;
8、在判定为不兼容时,媒体流进入动态隔离转码worker池流水线,先解码为原始数据再重新编码为订阅端兼容格式,经转封装及时间戳矫正后,所述sfu媒体服务基于订阅终端的身份类型,通过统一track轨道进行选择性转发。
9、在一种实施方式中,所述的跨协议sfu自适应媒体调度方法,还包括:
10、对原生终端,sfu媒体服务将第一类协议中的某一协议定义为标准协议,其他协议映射为与所述标准协议同维度的标准拥塞指标,提取关键指标,其中,所述关键指标包括:报文往返时延 rtt、单向抖动、连续丢包数量、终端可接收最大带宽阈值、报文乱序度;
11、对有反馈通道的异构终端,桥接服务将异构终端核心参数封装到预先约定好的协议完全相同的信令格式中,sfu媒体服务提取接收到的异构终端核心参数,将提取的异构终端核心参数映射、换算为标准拥塞指标,其中,所述异构终端核心参数包括:累计丢包数、丢包率、平均抖动、接收时延偏移;
12、对无任何反馈通道的异构终端,在桥接服务侧独立采集传输统计指标,并通过预设算法模拟生成等效的标准拥塞指标,通过虚拟终端上传至sfu媒体服务;
13、汇总所有终端的标准拥塞指标,根据各终端对应的标准拥塞指标对各终端进行控制。
14、在一种实施方式中,所述的跨协议sfu自适应媒体调度方法,还包括:
15、所述sfu媒体服务在创建所述媒体轨道时标记流类型,将来自直连所述sfu媒体服务的所述原生终端的媒体轨道标记为互动流,将来自所述虚拟原生终端的媒体轨道标记为桥接流;
16、根据媒体轨道标记提供对应的资源,其中,提供给桥接流的资源大于提供给互动流的资源;
17、上行方向与下行方向均按媒体轨道标记分别适用相应策略,其中,上行方向与下行方向中,对互动流均提供更大的缓冲。
18、在一种实施方式中,所述的跨协议sfu自适应媒体调度方法,还包括:
19、为每一个会议房间创建相互隔离的全局媒体时钟,所述全局媒体时钟以预设频率为统一刻度;以所述目标会议房间内第一条来自所述原生终端的媒体流的媒体时钟作为初始锚点,在所述目标会议房间内仅存在来自所述虚拟原生终端的媒体流时,以最先接入的所述虚拟原生终端的媒体流作为临时锚点;并周期性采集原生终端与虚拟原生终端的反馈信息持续修正全局媒体时钟的漂移;
20、对来自所述原生终端的媒体流,将其协议自带的时间戳线性映射至所述预设频率的统一刻度;
21、对来自所述虚拟原生终端的媒体流,由所述桥接服务在所述虚拟原生终端接入阶段上报底层所述异构终端媒体流的初始时间戳起点与原生时基倍率,由所述sfu媒体服务据此计算该媒体流与所述全局媒体时钟之间的固定差值以生成静态偏移量,并对该媒体流的全部帧统一叠加所述静态偏移量;统计该媒体流每帧的时间戳增量波动与帧到达间隔抖动,在所述异构终端本地时钟偏快时逐步减小时间戳增量、在其本地时钟偏慢时增加时间戳增量,且所述时间戳增量的修正量平滑渐变;对视频轨道与音频轨道分别计算偏移量,使同一时刻采集的视频帧与音频帧映射至同一全局时钟刻度;
22、经校正后的媒体帧的时间戳均对齐所述全局媒体时钟,在下发至所述原生终端时反向换算为该原生终端所用协议的原生时基,在下发至所述虚拟原生终端时由所述桥接服务换算为对应所述异构终端适配的rtp时间戳。
23、在一种实施方式中,所述的跨协议sfu自适应媒体调度方法,还包括:
24、在sfu媒体服务中维护统一的标准化track轨道,所述track轨道内存储已完成时序校正且对齐全局时钟的原始音视频裸帧及统一时序标记,不包含任何协议专属封装头;
25、读取订阅通道的元数据标记,以区分原生终端与虚拟原生终端;
26、当订阅终端为原生终端时,从所述统一track轨道中取出音视频裸帧,封装为与所述订阅终端协议匹配的媒体报文,并通过直连通道下发;
27、当订阅终端为虚拟原生终端时,从所述统一track轨道中取出音视频裸帧,使用预先约定好的协议封装,经网络通道发送至所述桥接服务,由所述桥接服务剥离所述预先约定好的协议的封装后重新封装为对应的第二类协议并下发至该异构终端;
28、其中,同一上行发布track轨道同时向多类订阅终端并行输出,不同订阅终端仅外层协议封装不同,轨道内部的原始音视频裸帧及校正后时间戳完全复用。
29、在一种实施方式中,所述基于采集的媒体能力参数信息判定任意发布端与订阅端之间的媒体参数兼容性的过程,包括:
30、基于所述媒体能力参数生成全局终端能力交集矩阵;
31、基于所述能力交集矩阵判定任意发布端与订阅端之间的媒体参数兼容性;
32、其中,所述基于所述媒体能力参数生成全局终端能力交集矩阵的过程,包括:
33、每个会议房间独立生成一套能力交集矩阵;其中,所述能力交集矩阵以所有上行发布端为矩阵行,以所有下行订阅端为矩阵列,矩阵单元格存储对应发布端与订阅端之间支持的公共编码的能力交集;
34、对任意一对发布端、订阅端,提取发布端的全部媒体能力集合和订阅端的全部媒体能力集合,计算二者能力交集,存入矩阵对应单元格;
35、所述基于所述能力交集矩阵判定任意发布端与订阅端之间的媒体参数兼容性的过程,包括:
36、读取所述能力交集矩阵中发布端p与订阅端s对应单元格数据,执行视频兼容判断和音频兼容判断,其中,视频兼容判断为判断视频编码格式、profile和level是否存在公共交集,音频兼容判断为判断音频编码格式是否存在公共交集;
37、当视频兼容判断和音频兼容判断均存在有公共交集时判定为兼容。
38、在一种实施方式中,所述转码worker池流水线的处理包括:
39、自track轨道取出音视频裸帧并送入解码器,解码得到原始视频帧与音频采样;
40、读取所述能力交集以确定目标输出参数,其中,所述目标输出参数包括:编码格式、分辨率、帧率和音频采样率;
41、编码器按所确定的目标输出参数重新编码。
42、第二方面,本发明提供一种跨协议sfu自适应媒体调度装置,应用于供多种协议类型的终端接入同一会议房间的媒体调度系统,所述系统包括选择性转发单元sfu媒体服务,所述系统还包括与所述sfu媒体服务进程隔离部署的桥接服务,所述装置包括:
43、部署模块,用于对所述sfu媒体服务与所述桥接服务执行分层隔离部署,其中,所述sfu媒体服务仅开放第一类协议接入端口,不对外开放第二类协议端口;桥接服务单独监听且仅监听第二类协议端口;
44、接入模块,用于按终端所支持的协议类型将终端划分至两条相互隔离的接入链路,支持所述第一类协议的原生终端直接与所述sfu媒体服务建立信令连接与媒体连接并加入目标会议房间,仅支持所述第二类协议的异构终端仅与所述桥接服务建立连接,由所述桥接服务完成该异构终端的信令协商和媒体流的解封装;异构终端接入时,所述桥接服务先完成与该异构终端之间的信令协商和媒体流解封装,以一一映射方式为该异构终端独立创建一个虚拟原生终端,所述虚拟原生终端采用与sfu媒体服务原生支持的预先约定好的协议完全相同的信令格式、媒体流封装和接入流程,从而以标准原生终端身份接入所述sfu媒体服务;其中,所述预先约定好的协议为第一类协议中的一种;
45、兼容性处理模块,用于所述sfu媒体服务对同一会议房间内的全部参会终端统一采集媒体能力参数信息,并基于采集的媒体能力参数信息判定任意发布端与订阅端之间的媒体参数兼容性;在判定为兼容时,媒体流进入进程内无损转封装流水线,仅执行跨协议时间戳矫正与rtp包头重构,不经编解码直接通过统一track轨道选择性转发;在判定为不兼容时,媒体流进入动态隔离转码worker池流水线,先解码为原始数据再重新编码为订阅端兼容格式,经转封装及时间戳矫正后,所述sfu媒体服务基于订阅终端的身份类型,通过统一track轨道进行选择性转发。
46、第三方面,本发明提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施方式的方法。
47、第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述任一实施方式的方法。
48、本发明中,采用sfu内核与桥接服务分层隔离的架构,sfu内核仅原生集成第一类协议,仅接收采用第一类协议的原生终端接入,不直接处理第二类协议的信令与媒体;由独立于sfu内核的桥接服务对接采用第二类协议的老旧异构终端,桥接服务对第二类协议信令进行解析、对媒体流进行转封装,虚拟生成符合预先约定好的协议为第一类协议中的一种的原生终端,并以原生终端身份接入所述sfu内核的房间,由所述sfu内核对房间内的媒体流进行选择性转发。
49、与现有技术相比,本发明至少具有以下有益效果:
50、第一,采用第一类协议的原生终端的媒体流无需经过网关进行协议转换即可直接接入sfu内核,避免了全网关架构中全部媒体流均需经网关处理所导致的传输链路环节增多、延迟升高的问题,降低了媒体转发延迟,且网关不会成为系统的性能瓶颈;
51、第二,sfu内核中无需内置rtsp、sip、h.323等第二类协议的协议栈,保持了sfu内核的精简,降低了sfu内核的开发、维护和升级难度,克服了全协议内置架构内核臃肿的缺陷;
52、第三,桥接服务与sfu内核进程隔离,异构协议栈的异常不会影响sfu内核的运行稳定性,且桥接服务可独立部署、独立升级,提高了系统的可维护性和可扩展性;
53、第四,在保持sfu内核精简、媒体转发低延迟的同时,实现了对采用rtsp、sip、h.323等第二类协议的老旧异构终端的兼容接入,满足了新老异构终端混合参会场景的需求。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com