首页 / 专利库 / 多媒体工具与应用 / 媒体流 / 视频流 / 视频流处理方法、装置、服务器、电子设备及存储介质

视频流处理方法、装置、服务器电子设备及存储介质

阅读:223发布:2020-05-08

专利汇可以提供视频流处理方法、装置、服务器电子设备及存储介质专利检索,专利查询,专利分析的服务。并且本 申请 一种提供 视频流 处理方法、装置、 服务器 、 电子 设备及存储介质,所述方法应用于服务器,所述服务器中配置有多个加解密芯片;所述服务器用于在当前进行的视频会议中接收多个第一视频流,包括:确定第一视频流的数据量大小及加解密类型;获取第一视频流,并确定多个加解密芯片分别对应的芯片负载;根据所述数据量大小及所述加解密类型以及芯片负载,确定与第一视频流适配的至少一个加解密芯片;将第一视频流发送给所述至少一个加解密芯片,并获取由至少一个加解密芯片对所述第一视频流进行加密或解密后的第二视频流;将第二视频流分别发送给多个终端。本申请可以实现对多路视频流进行负载均衡的并行加解密处理,以保证视频的实时性。,下面是视频流处理方法、装置、服务器电子设备及存储介质专利的具体信息内容。

1.一种视频流处理方法,其特征在于,所述方法应用于服务器,所述服务器中配置有多个加解密芯片;所述服务器用于在当前进行的视频会议中接收多个第一视频流,所述多个第一视频流由参与所述视频会议的多个终端发送给所述服务器;对所述多个第一视频流中的每个第一视频流并行进行所述视频流处理,包括:
确定所述第一视频流的数据量大小,及所述第一视频流对应的加解密类型;
获取所述第一视频流,并确定所述多个加解密芯片分别对应的芯片负载;
根据所述数据量大小及所述加解密类型,以及所述多个加解密芯片分别对应的芯片负载,确定与获取的所述第一视频流适配的至少一个加解密芯片;
将所述第一视频流发送给所述至少一个加解密芯片,并获取由所述至少一个加解密芯片对所述第一视频流进行加密或解密后的第二视频流;
将所述第二视频流分别发送给所述多个终端。
2.根据权利要求1所述的方法,其特征在于,所述服务器中还配置有编解码器及多种数据传输接口,所述数据传输接口用于在所述服务器中进行数据传输,所述编解码器用于接收所述多个第一视频流;其中,每种数据传输接口具有对应的接口参数;获取所述第一视频流,包括:
根据所述接口参数,确定所述多种数据传输接口分别对应的数据传输速率;
根据所述数据量大小,及所述多种数据传输接口分别对应的数据传输速率,在所述多种数据传输接口中,确定与所述第一视频流对应的目标数据传输接口;
通过所述目标数据传输接口,从所述编解码器中获取所述第一视频流;
获取由所述至少一个加解密芯片对所述第一视频流进行加密或解密后的第二视频流,包括:
采用所述编解码获取所述第二视频流;其中,所述第二视频流经所述目标数据传输接口传输至所述编解码器。
3.根据权利要求1所述的方法,其特征在于,将所述第一视频流发送给所述至少一个加解密芯片,并获取经所述至少一个加解密芯片加密或解密后的第二视频流,包括:
在所述至少一个加解密芯片的数量超过预设数量时,将所述第一视频流拆分为多个子文件包;其中,所述多个子文件包的数量与所述至少一个加解密芯片的数量相同,且每个子文件包具有文件标识及子文件序列号;
将所述多个子文件包一一对应地发送给所述至少一个加解密芯片,所述至少一个加解密芯片用于对接收到的子文件包进行加密或解密;
根据所述文件标识及所述子文件序列号,将加密或解密后的多个子文件包组包为第二视频流;
获取所述第二视频流。
4.根据权利要求1所述的方法,其特征在于,所述第一视频流包括加解密标签;确定所述第一视频流的数据量大小,及所述第一视频流对应的加解密类型,包括:
根据所述第一视频流的分辨率,确定所述第一视频流对应的数据量大小;
根据所述加解密标签,确定所述第一视频流对应的加解密类型。
5.根据权利要求1所述的方法,其特征在于,根据所述数据量大小及所述加解密类型,以及所述多个加解密芯片分别对应的芯片负载,确定所述第一视频流适配的至少一个加解密芯片,包括:
根据所述加解密类型,在所述多个加解密芯片中,确定与所述加解密类型匹配的多个目标加解密芯片;
根据所述数据量大小及所述多个目标加解密芯片分别对应的芯片负载,确定分配给所述第一视频流的目标加解密芯片的芯片数量;
将所述芯片数量个目标加解密芯片,确定为与所述第一视频流对应的至少一个加解密芯片。
6.根据权利要求1所述的方法,其特征在于,在获取经所述至少一个加解密芯片加密或解密后的第二视频流之后,所述方法还包括:
从所述第二视频流中获取目的地址,以及,确定所述服务器在当前网络中所使用的地址;
在所述目的地址为所述服务器在当前网络中所使用的地址时,对所述第二视频流进行解码。
7.一种视频流处理装置,其特征在于,所述装置应用于服务器,所述服务器中配置有多个加解密芯片;所述服务器用于在当前进行的视频会议中接收多个第一视频流,所述多个第一视频流由参与所述视频会议的多个终端发送给所述服务器;所述装置包括:
确定模,用于确定所述第一视频流的数据量大小,及所述第一视频流对应的加解密类型;
视频流获取模块,用于获取所述第一视频流;
芯片负载确定模块,用于确定所述多个加解密芯片分别对应的芯片负载;
加解密芯片确定模块,用于根据所述数据量大小及所述加解密类型,以及所述多个加解密芯片分别对应的芯片负载,确定与获取的所述第一视频流适配的至少一个加解密芯片;
视频流加解密模块,用于将所述第一视频流发送给所述至少一个加解密芯片,并获取由所述至少一个加解密芯片对所述第一视频流进行加密或解密后的第二视频流;
视频流发送模块,用于将所述第二视频流分别发送给所述多个终端。
8.一种编解码服务器,其特征在于,包括并行加解密装置,所述并行加解密装置包括加解密传输模块及多个加解密芯片;所述编解码服务器用于在当前进行的视频会议中接收多个第一视频流,所述多个第一视频流由参与所述视频会议的多个终端发送给所述编解码服务器;所述并行加解密装置用于执行权利要求1至6任一项所述的视频流处理方法。
9.一种电子设备,其特征在于,包括:一个或多个处理器;和其存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如权利要求1至6所述的一个或多个的视频流处理方法。
10.一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如权利要求1至6任一项所述的视频流处理方法。

说明书全文

视频流处理方法、装置、服务器电子设备及存储介质

技术领域

[0001] 本申请涉及视频数据处理技术领域,特别是涉及一种视频流处理方法、装置、服务器、电子设备及存储介质。

背景技术

[0002] 视联网是网络发展的重要里程碑,其能够实现目前互联网无法实现的全网高清视频实时传输,是以太网的高级形态,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
[0003] 目前,由于视联网具有传输速度快、高清视频化,可以支持大量视频在线传输的优势,越来越多的客户使用视联网进行视频会议。在视频会议场景中,经常有多对多的开会业务,这些业务会产生巨量的数据流。并且,出于一些视频会议的保密需求,需要在视频会议中对数据进行加密传输。但是,由于视频会议是实时传输的,对视频的实时性要求很高,当需要对多路视频流数据进行加解密传输时,会造成一定的通信时延,使得视频会议的实时性降低。即,现有的技术在满足多路视频流的加解密传输时,无法保证多路视频流的实时性。
[0004] 申请内容
[0005] 鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种视频流处理方法、装置、服务器、电子设备及存储介质。
[0006] 本申请实施例的第一方面,公开了一种视频流处理方法,所述方法应用于服务器,所述服务器中配置有多个加解密芯片;所述服务器用于在当前进行的视频会议中接收多个第一视频流,所述多个第一视频流由参与所述视频会议的多个终端发送给所述服务器;对所述多个第一视频流中的每个第一视频流并行进行所述视频流处理,包括:
[0007] 确定所述第一视频流的数据量大小,及所述第一视频流对应的加解密类型;
[0008] 获取所述第一视频流,并确定所述多个加解密芯片分别对应的芯片负载;
[0009] 根据所述数据量大小及所述加解密类型,以及所述多个加解密芯片分别对应的芯片负载,确定与获取的所述第一视频流适配的至少一个加解密芯片;
[0010] 将所述第一视频流发送给所述至少一个加解密芯片,并获取由所述至少一个加解密芯片对所述第一视频流进行加密或解密后的第二视频流;
[0011] 将所述第二视频流分别发送给所述多个终端。
[0012] 本申请实施例的第二方面,提供了一种视频流处理装置,所述装置应用于服务器,所述服务器中配置有多个加解密芯片;所述服务器用于在当前进行的视频会议中接收多个第一视频流,所述多个第一视频流由参与所述视频会议的多个终端发送给所述服务器;所述装置包括:
[0013] 确定模,用于确定所述第一视频流的数据量大小,及所述第一视频流对应的加解密类型;
[0014] 视频流获取模块,用于获取所述第一视频流;
[0015] 芯片负载确定模块,用于确定所述多个加解密芯片分别对应的芯片负载;
[0016] 加解密芯片确定模块,用于根据所述数据量大小及所述加解密类型,以及所述多个加解密芯片分别对应的芯片负载,确定与获取的所述第一视频流适配的至少一个加解密芯片;
[0017] 视频流加解密模块,用于将所述第一视频流发送给所述至少一个加解密芯片,并获取由所述至少一个加解密芯片对所述第一视频流进行加密或解密后的第二视频流;
[0018] 视频流发送模块,用于将所述第二视频流分别发送给所述多个终端。
[0019] 本申请实施例的第三方面,提供了一种编解码服务器,包括并行加解密装置,所述并行加解密装置包括加解密传输模块及多个加解密芯片;所述编解码服务器用于在当前进行的视频会议中接收多个第一视频流,所述多个第一视频流由参与所述视频会议的多个终端发送给所述编解码服务器;所述并行加解密装置用于执行本申请第一方面所述的视频流处理方法。
[0020] 本申请实施例的第四方面,提供了一种电子设备,包括:一个或多个处理器;和其存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行本申请第一方面所述的一个或多个的视频流处理方法。
[0021] 本申请实施例的第五方面,提供了一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行本申请第一方面所述的视频流处理方法。
[0022] 本申请实施例包括以下优点:
[0023] 本申请实施例,在服务器接收到视频会议中的多个第一视频流后,对于每个第一视频流进行如下视频流处理:确定该第一视频流的数据量大小和加解密类型之后,获取该第一视频流,并确定每个加解密芯片对应的芯片负载,之后,根据第一视频流的数据量大小和加解密类型、每个加解密芯片对应的芯片负载,确定与获取的该第一视频流适配至少一个加解密芯片;由至少一个加解密芯片对第一视频流进行加密后或解密,并将获取到的对第一视频流经进行加密或解密后的第二视频流分别发送给多个终端。一方面,由于对各进行加密或解密的加解密芯片的芯片数量、芯片负载等均与各第一视频流相适配,提高了对第一视频流进行加解密的负载均衡性。另一方面,由于是对多个第一视频流并行地进行视频流处理,因此,使得在对多路视频流进行加解密传输时,可以利用多个加解密芯片对多路视频流进行并发的加解密处理,从而提高了加解密效率,缩短了发送视频流至最终接收视频流的过程时长,进而在视频会议中确保了视频的实时性。附图说明
[0024] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0025] 图1是本申请的一种视联网的组网示意图;
[0026] 图2是本申请的一种节点服务器的硬件结构示意图;
[0027] 图3是本申请的一种接入交换机的硬件结构示意图;
[0028] 图4是本申请的一种以太网协转网关的硬件结构示意图;
[0029] 图5是本申请实施例的一种视频流处理方法的通信环境图;
[0030] 图6是本申请实施例的一种视频流处理方法的步骤流程图
[0031] 图7是本申请可选实施例中的一种视频流处理方法中对视频流进行加密或解密的步骤流程图;
[0032] 图8是本申请实施例的在对多路视频流进行解密密传输的具体实例中的视频流处理方法的完整流程图;
[0033] 图9是本申请实施例的在具体实例所应用的服务器中用于进行视频流处理的系统架构图;
[0034] 图10是本申请实施例的一种视频流处理装置的结构框图
[0035] 图11是本申请实施例提供的一种编解码服务器的结构框图。

具体实施方式

[0036] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
[0037] 在阐述本申请实施例之前,首先对本申请所述的视联网进行详细介绍。视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
[0038] 视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
[0039] 为使本领域技术人员更好地理解本申请实施例,以下对视联网进行介绍:
[0040] 视联网所应用的部分技术如下所述:
[0041] 网络技术(Network Technology)
[0042] 视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大第一视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(Circuit Switching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
[0043] 交换技术(Switching Technology)
[0044] 视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
[0045] 服务器技术(Server Technology)
[0046] 视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
[0047] 储存器技术(Storage Technology)
[0048] 统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
[0049] 网络安全技术(Network Security Technology)
[0050] 视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
[0051] 服务创新技术(Service Innovation Technology)
[0052] 统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
[0053] 视联网的组网如下所述:
[0054] 视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
[0055] 如图1所示,视联网分为接入网和城域网两部分。
[0056] 接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
[0057] 其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
[0058] 类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
[0059] 其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
[0060] 城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
[0061] 由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
[0062] 形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
[0063] 视联网设备分类
[0064] 1.1本申请实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网协转网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
[0065] 1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网协转网关),终端(包括各种机顶盒,编码板,存储器等)。
[0066] 各接入网设备的具体硬件结构为:
[0067] 节点服务器:
[0068] 如图2所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
[0069] 其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模块202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
[0070] 接入交换机:
[0071] 如图3所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
[0072] 其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块304进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
[0073] 交换引擎模块303轮询所有包缓存器队列,可以包括两种情形:
[0074] 如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
[0075] 如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
[0076] 码率控制模块308是由CPU模块304来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
[0077] CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
[0078] 以太网协转网关:
[0079] 如图4所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
[0080] 其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
[0081] 下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MACDA,添加终端的以太网MAC DA、以太网协转网关的MAC SA、以太网length or frame type,并发送。
[0082] 以太网协转网关中其他模块的功能与接入交换机类似。
[0083] 终端:
[0084] 主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
[0085] 1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
[0086] 2、视联网数据包定义
[0087] 2.1接入网数据包定义
[0088] 接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
[0089] 如下表所示,接入网的数据包主要包括以下几部分:
[0090] DA SA Reserved Payload CRC
[0091] 其中:
[0092] 目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
[0093] 源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
[0094] 保留字节由2个字节组成;
[0095] payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
[0096] CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法
[0097] 2.2城域网数据包定义
[0098] 城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本申请实施例中引入参数:标签,来唯一描述一个城域网设备。
[0099] 本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
[0100] 如下表所示,城域网的数据包主要包括以下几部分:
[0101]DA SA Reserved 标签 Payload CRC
[0102] 即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
[0103] 结合上述视联网的特性,提出本申请实施例的核心构思之一,在服务器中配置多个加解密芯片,采用多个加解密芯片对服务器接收到的视频会议中的多路视频流进行并发加解密,具体地,根据每路视频流被确定出的数据量大小及加解密类型,以及多个加解密芯片分别对应的芯片负载,确定每一路视频流适配的至少一个加解密芯片,以确定出的该至少一个加解密芯片对每路视频流进行加解密。
[0104] 参考图5,示出了本申请实施例的一种视频流处理方法实施例的应用环境图,该视频流处理方法可以应用于现有的视联网中,在该视联网中分布有服务器501及多个终端502(图中仅示出了4个终端),其中,每个终端502都可以与服务器501进行视联网协议的通信,在进行视频会议时,服务器501可以接收一个终端502的视频,并将该一个终端502的视频转发给其他多个终端502。
[0105] 实际中,在多方组会的视频会议中,服务器501需要同时接收多个终端502的视频流,并需要将该多个终端502的视频流转发给其他终端。例如,服务器501同时接收终端a和终端b发送的视频流,并需要将终端a和终端b发送的视频流分别转发给终端c和终端d,即,将终端a的视频流分别转发给终端c和终端d,也将终端b发送的视频流分别转发给终端c和终端d。
[0106] 虽然,按照视联网的特性,可以在视频会议中进行高清大量的视频传输,但是,对于一些需要保密的视频会议而言,服务器需要对同时接收到的多路视频流进行加解密处理后再转发,这样,就增加了通信时延,进而降低了视频的实时性。
[0107] 为保证在视联网中进行视频会议时视频的实时性,本申请提出了一种视频流处理方法。参考图6,示出了申请实施例的一种视频流处理方法实施例的步骤流程图,所述方法可以应用于服务器,在所述服务器中配置有多个加解密芯片;所述服务器可以用于在当前进行的视频会议中接收多个第一视频流,所述多个第一视频流由参与所述视频会议的多个终端发送给所述服务器。
[0108] 其中,各加解密芯片可以具有芯片参数,芯片参数是描述加解密芯片的芯片负载大小、加解密类型、芯片型号、规格等的参数。
[0109] 实际中,多个终端发送的多个第一视频流,可以理解为是每个终端发送一路第一视频流,则多个终端可以发送多个第一视频流,不同的第一视频流对应的视频画面、视频分辨率、码率都可以不同。
[0110] 其中,服务器可以对所述多个第一视频流中的每个第一视频流并行进行所述视频流处理,其中,所述的并行进行可以是指服务器同时执行多个第一视频流的视频流处理,如,有3路视频流,则可以同时对该3路视频流进行视频流处理。参照图6所示,具体可以包括以下步骤:
[0111] 步骤601,确定所述第一视频流的数据量大小,及所述第一视频流对应的加解密类型。
[0112] 实际中,视频流是指视频数据的流式传输,第一视频流可以理解为是当前时刻接收到的视频数据,则第一视频流的数据量大小可以是指该当前时刻接收到的视频数据的大小。具体而言,因视频数据的大小与视频的码率、分辨率等有关,则可以根据第一视频流的码率或分辨率确定该第一视频流的数据量大小。实际中,分辨率越大或码率越大,则视频数据越大。
[0113] 本申请实施例中,加解密类型可以是指该第一视频流被加密或需要被解密所采取的算法类型,具体可以包括如下量大类,一类是商密算法,如:AES(Advanced Encryption Standard,高级加密标准)、3DES(Triple Data Encryption Algorithm、三重数据加密算法)、DES(Data Encryption Standard,数据加密标准)。另一类是国密算法,如:SM1、SM2(椭圆曲线公钥密码算法)、SM4、SM4。
[0114] 实际中,第一视频流的加解密类型可以由发送该第一视频流的终端添加到该第一视频流的指定字段中,具体地,指定字段可以根据实际需求指定。进而,服务器可以从第一视频流的指定字段中确定加解密类型。
[0115] 步骤602,获取所述第一视频流,并确定所述多个加解密芯片分别对应的芯片负载。
[0116] 本申请实施中,由于服务器是通过自身配置的网络接口接收多个第一视频流,在确定所第一视频流的数据量大小及加解密类型后,便可以获取经由网络接口接收到的该多个第一视频流,以对该多个第一视频流进行加密或解密处理。
[0117] 本申请实施例,为了提高并行地对多个第一视频流进行加密或解密的效率,可以采用负载均衡的方式对各个第一视频流进行加解密。具体地,在获取到第一视频流后,可以确定每个加解密芯片各自的芯片负载。
[0118] 其中,芯片负载是指加解密芯片能加解密的视频数据的最大数据量,如,加解密芯片最大能对数据量为400KB的视频数据进行加解密,则其芯片负载即为400KB。具体实施时,由于每个加解密芯片都可以具有各自的芯片参数,则可以通过芯片参数中记载的芯片负载确定芯片负载。在一种可选示例中,在服务器中可以存储对多个加解密芯片的芯片参数表,芯片参数表中保存每个加解密芯片的标识和对应的芯片参数,则服务器可以通过芯片参数表确定每个加解密芯片的芯片负载。
[0119] 在另一种可选的示例中,服务器在获取到各第一视频流后,可以控制每个加解密芯片反馈自身在当前的芯片负载,在当前的芯片负载是指该加解密芯片当前还能进行加解密的数据最大量。如,加解密芯片反馈当前的芯片负载为80KB,则表示该加解密芯片还能对80KB的数据进行加解密。当然,80KB仅是举例而言,不能作为本申请对加解密芯片负载的限定。
[0120] 步骤603,根据所述数据量大小及所述加解密类型,以及所述多个加解密芯片分别对应的芯片负载,确定与获取的所述第一视频流适配的至少一个加解密芯片。
[0121] 为了负载均衡地对各第一视频流进行加解密,提高对多路视频进行加解密处理的效率,本申请实施例中,可以将第一视频流发送给芯片负载与第一视频流的数据量大小适配、且加解密类型与第一视频流适配的加解密芯片进行加密或解密处理。具体地,在确定第一视频流适配的加解密芯片时,该视频的加解密的芯片的加解密类型与第一视频流对应的加解密类型相同。
[0122] 具体地,加解密芯片的加解密类型也可以通过上述的芯片参数确定,其中,加解密芯片的加解密类型是指该加解密芯片在对数据进行加密或解密时,所采用的密码算法。如,加解密芯片的加解密类型是SM1,则表示该加解密芯片采用SM1算法对数据进行加密或解密,则实际中,采用SM1算法进行加密或解密的数据便可以由该加解密芯片进行加密或解密。
[0123] 具体实施时,若单个的加解密芯片的芯片负载不大于所述第一视频流的数据量大小,则可以为第一视频流分配多个加解密芯片,以多个加解密芯片对第一视频流进行加解密,进而提高对数据量大的视频流的加解密效率。若单个的加解密芯片的芯片负载大于所述第一视频流的数据量大小,则可以为第一视频流分配单个的加解密芯片。
[0124] 步骤604,将所述第一视频流发送给所述至少一个加解密芯片,并获取由所述至少一个加解密芯片对所述第一视频流进行加密或解密后的第二视频流。
[0125] 实际中,为每个第一视频流确定好适配的加解密芯片后,可以利用确定好的至少一个加解密芯片对第一视频流进行加密或解密。
[0126] 参考图7所示,示出了在一种可选示例中,该步骤604的步骤流程图,如图7所示,该步骤604具体可以包括以下步骤:
[0127] 步骤6041,在所述至少一个加解密芯片的数量超过预设数量时,将所述第一视频流拆分为多个子文件包。
[0128] 其中,所述多个子文件包的数量与所述至少一个加解密芯片的数量相同;且每个子文件包具有文件标识及子文件序列号。
[0129] 具体实施时,预设数量可以是1,即在所述至少一个加解密芯片的数量超过1个时,则可以将第一视频流进行拆分。具体地,可以将第一视频流拆分为与所述至少一个加解密芯片的数量相同的多个子文件包。如,加解密数量的为3个,则将第一视频流拆分为3个子文件包。
[0130] 实际中,由于第一视频流是传输中的视频数据,而视频数据由多个视频数据包按照时间先后顺序组成,每个视频数据包均具有自己的时间戳。这样,在将第一视频流拆分为多个子文件包时,可以对第一视频流的多个视频数据包按照所述时间戳所表征的时间先后顺序进行拆分,进而顺序地得到多个子文件包,每个子文件包中可以包括第一视频流的部分视频数据包,且该部分视频数据包在子文件包中的排列位置与各自的时间戳相对应。
[0131] 其中,文件标识可以是指该第一视频流的视频流标识,用于唯一标识该第一视频流。子文件序列号可以表征每个子文件包在第一视频流中的位置。例如,第一视频流包括100个视频数据包,每个视频数据包具有各自的时间戳,需要将该第一视频流拆分为3个子文件包,则可以将时间戳所表征的时间在前的30个视频数据包作为一个子文件包,且该子文件包的序列号为001,将时间戳所表征的时间在最后的10个视频数据包作为一个子文件包,且该子文件包的序列号为003,其余的30个视频数据包又作为一个子文件包,且该子文件包的序列号为002。
[0132] 步骤6042,将所述多个子文件包一一对应地发送给所述至少一个加解密芯片,所述至少一个加解密芯片用于对接收到的子文件包进行加密或解密。
[0133] 该第一视频流被拆分成的子文件包的数量与被分配该第一视频流的加解密芯片的数量相同,则可以将每个子文件包发送给一个被分配的加解密芯片,以使加解密芯片对自身接收到的子文件包进行加密或解密。
[0134] 如,第一视频流被拆分为3个子文件包,其序列号分别为001、002、003,被分配给该第一视频流的加解密芯片分别为芯片A、芯片B、芯片C,则可以将001的子文件包发送给芯片A,将002的子文件包发送给芯片B,将003的子文件包发送给芯片C。
[0135] 实际中,在一个加密视频会议中,若终端发出的视频流是经过加密的视频流,则可以对该路视频流进行解密,若终端发出的视频流是需要加密的视频流,则可以对该路视频流进行加密。
[0136] 步骤6043,根据所述文件标识及所述子文件序列号,将加密或解密后的多个子文件包组包为第二视频流。
[0137] 在分配给各第一视频流的至少一个加解密芯片完成对各个子文件包的加密或解密时,可以将加密或解密后的多个子文件包进行组包,以得到第二视频流。具体地,由于服务器对多个第一视频流进行并行地加解密,因此,在全部加解密芯片完成对子文件包的加密或解密后,得到的多个子文件包可能分属于不同的第一视频流。因此,本申请实施例可以根据加密或解密后的子文件包的文件标识,确定属于同一个第一视频流的多个子文件包,并根据同一个第一视频流的多个子文件包各自的子文件序列号,将该多个子文件包组合为第二视频流。
[0138] 如,被多个加解密芯片加密或解密后得到20个子文件包,其中2个子文件包的文件标识相同,表示属于同一个第一视频流A,该2个子文件包的子文件序列号分别为001、002,则将002的子文件包组合到001的子文件包之后,进而得到了该第一视频流A被加密或解密后的第二视频流。参照上述过程,可以对剩余的18个子文件包进行组包。
[0139] 其中,在所述至少一个加解密芯片的数量未超过1个时,即,采用单个的加解密芯片对第一视频流进行加密或解密时,则可以不用对第一视频流进行拆分,直接将第一视频流发送给该单个的加解密芯片,最后则可以直接获取该单个的加解密芯片对第一视频流进行加密或解密后的第二视频流。
[0140] 步骤6044,获取所述第二视频流。
[0141] 步骤605,将所述第二视频流分别发送给所述多个终端。
[0142] 实际中,在加解密芯片将第一视频流加密或解密后,即得到第二视频流,服务器则可以获取该第二视频流,以便通过网络接口将该第二视频流分别发送给多个终端。具体而言,由于服务器是在视频会议中进行视频流处理,参与视频会议的终端都可以观看参与该视频会议的其他终端的视频流,则实际中,服务器可以将一个第二视频流分别发送给多个终端。
[0143] 本申请实施例,由于采用负载均衡的并行加解密方式对多路视频流进行处理,提高了对多路视频流的加解密效率,进而缩短了对多路视频流的加解密时间,从而降低了一路视频流从被发出到最终被接收播放时的通信时延,保证了在视频会议中的视频实时性。
[0144] 结合上述实施例,为了使得在获取第一视频流时,可以提高获取第一视频流的效率,以进一步提高对多路视频流的加解密效率,在一种可选的实施例中,所述服务器中还可以配置有编解码器及多种数据传输接口,所述数据传输接口可以用于在所述服务器中进行数据传输,所述编解码器可以用于接收所述多个第一视频流。
[0145] 在该可选示例中,服务器在通过网络接口接收到多个第一视频流时,可以将该多个第一视频流传输给编解码器。
[0146] 在该可选示例中,数据传输接口可以包括但不限于:GMAC(千兆网媒体访问控制)接口、USB(Universal Serial Bus,通用串行总线)接口及PCIE(peripheral component interconnect express,高速串行计算机扩展总线)接口。其中,每种数据传输接口具有对应的接口参数。该接口参数可以包括但不限于下述参数:传输速率参数、接口型号参数。具体地,编解码器可以同时与多种数据传输接口进行连接。
[0147] 则相应地,在上述步骤602中获取所述第一视频流具体可以包括以下步骤:
[0148] 步骤6021,根据所述接口参数,确定所述多种数据传输接口分别对应的数据传输速率。
[0149] 由于接口参数可以包括传输速率参数,则可以根据该传输速率参数确定每种数据传输接口具备的数据传输速率,其中,数据传输速率是指一秒内传输的数据的大小。如,确定出GMAC接口的数据传输速率为1Gbps,USB接口的数据传输速率为3.2Gbps、PCIE接口的数据传输速率为8Gbps。
[0150] 步骤6022,根据所述数据量大小,及所述多种数据传输接口分别对应的数据传输速率,在所述多种数据传输接口中,确定与所述第一视频流对应的目标数据传输接口。
[0151] 本申请实施例,为了提高获取多个第一视频流的速率,根据确定出的每个第一视频流的数据量的大小,为每个第一视频流分配对应的数据传输接口,该被分配给第一视频流的数据传输接口被称为目标数据传输接口。例如,以以上3种数据传输接口为例,在多个第一视频流中,可以为数据量大小超过预设第一阈值的第一视频流分配PCIE接口,为数据量大小未超过预设第一阈值但是超过预设第二阈值的第一视频流分配USB接口,为数据量大小未超过预设第二阈值的第一视频流分配GMAC接口。
[0152] 这样,可以通过传输速率高的接口获取数据量大的第一视频流,通过传输速率较低的接口获取数据量较小的第一视频流,提高了数据量大的第一视频流的获取效率,又使得数据量较小的第一视频流不占用传输速率高的接口,在提高对多路第一视频流进行并发获取的效率的同时,保证了对多种数据传输接口的均衡利用。
[0153] 步骤6023,通过所述目标数据传输接口,从所述编解码器中获取所述第一视频流。
[0154] 实际中,由于在为每个第一视频流确定对应的目标数据传输接口前,每个第一视频流均位于编解码器中,则在为每个第一视频流确定对应的目标数据传输接口后,便可以通过分配好的目标数据传输接口从编解码器中获取所述第一视频流。
[0155] 以上述3种数据传输接口为例,现服务器向编解码器传输了三路第一视频流,分别为A1、A2、A3;其中,为A1分配GMAC接口,为A2分配USB接口,为A3分配PCIE接口,则服务器又从编解码器中通过GMAC接口获取A1视频流,通过USB接口获取A2视频流,通过PCIE接口获取A3视频流。
[0156] 相应地,在步骤604中获取由所述至少一个加解密芯片对所述第一视频流进行加密或解密后的第二视频流,具体可以包括以下步骤:
[0157] 步骤6041,采用所述编解码获取所述第二视频流。
[0158] 其中,所述第二视频流经所述目标数据传输接口传输至所述编解码器。
[0159] 实际中,在得到每个第一视频流被加密或解密后的第二视频流时,也可以通过之前为每个第一视频流确定好的目标数据传输接口,将各第二视频流传输给编解码器,以在最后发送第二视频流给各个终端时,可以将编解码器中的各第二视频流传输给网络接口,并从网络接口将第二视频流分别发送给多个终端。
[0160] 以上述3种数据传输接口及上述视频流A1、A2、A3为例,视频流A1、A2、A3对应的被加密或解密后的视频流分别为B1、B2、B3,则可以通过GMAC接口将B1传输给编解码器,通过USB接口将B2传输给编解码器,通过PCIE接口将B3传输给编解码器。
[0161] 采用上述技术方案时,由于在获取各第一视频流时,是借由与第一视频流的数据量大小相匹配的数据传输接口传输第一视频流,进而使得数据量大的第一视频流占用具有较高数据传输速率的接口,由于数据传输速率越大,数据传输越快,因而可以提高对多路第一视频流的并发获取效率,进而降低第一视频流在服务器内的传输时长,从而从整体上降低第一视频流从发出到被接收播放的过程耗时,从而进一步保证了视频会议中的视频实时性。
[0162] 结合以上实施例,在一种可选的示例中,每个第一视频流都可以包括加解密标签,则相应地,步骤601具体可以包括以下步骤:
[0163] 步骤6011,根据所述第一视频流的分辨率,确定所述第一视频流对应的数据量大小。
[0164] 本申请实施例中,由于第一视频流是实时传输中的视频数据,其第一视频流是边采集边发送,因而可能并不是一个完整的视频文件中的视频数据,此种情况下,可以根据第一视频流的分辨率确定第一视频流的数据量大小。由于分辨率越高,视频包含的像素量越多,数据量越大,则实际中,可以采用分辨率对应的数据量表征第一视频流的数据量大小。
[0165] 如,以上述视频流A1、A2、A3为例,这三路视频流的分辨率分别为1080P、4K以及8K视频流,1080P对应的数据量为1920*1080,4K对应的数据量为4096*2160、8K对应的数据量为7680*4320。则可以用1920*1080表征A1的数据量,用4096*2160表征A2的数据量,用7680*4320表征A3的数据量。
[0166] 步骤6012,根据所述加解密标签,确定所述第一视频流对应的加解密类型。
[0167] 实际中,加解密标签便可以是写入该字段中的对加解密类型进行标识的标签,具体地,加解密标签可以是发送第一视频流的终端写入该第一视频流的指定字段,也可以是服务器根据该第一视频流携带的加解密信息确定出加解密标签,进而写进该该第一视频流的指定字段,其中,加解密标签可以是字符串。则服务器中负责进行加解密的单元便可以通过读取指定字段的加解密标签,以确定加解密标签所表征的加解密类型。
[0168] 结合以上实施例,在一种可选的示例中,步骤603具体可以包括以下步骤,以确定每个第一视频流适配的至少一个加解密芯片:
[0169] 步骤6031,在所述多个加解密芯片中,确定与所述加解密类型匹配的多个目标加解密芯片。
[0170] 实际中,服务器中可以配置包括多种加解密类型的加解密芯片,同一种加解密类型的加解密芯片的数量可以是多个,则在为每个第一视频流确定目标加解密芯片时,可以在服务器配置的多个加解密芯片中确定与该第一视频流的加解密类型相同的多个目标加解密芯片。
[0171] 如,以上述6种加解密类型为例,分别为AES、3DES、DES、SM1、SM2、SM4、SM4。以第一视频流为上述的A1为例,视频流A1的加解密类型为SM1,则可以将加解密类型为SM1的全部加解密芯片确定为A1的目标加解密芯片。
[0172] 步骤6032,根据所述数据量大小及所述多个目标加解密芯片分别对应的芯片负载,确定分配给所述第一视频流的目标加解密芯片的芯片数量。
[0173] 步骤6033,将所述芯片数量个目标加解密芯片,确定为与所述第一视频流适配的至少一个加解密芯片。
[0174] 在确定出与第一视频流的加解密类型相同的多个目标加解密芯片后,则进一步可以根据第一视频流的数据量大小和各个目标加解密芯片各自的芯片负载,确定分配给目标加解密芯片的数量。具体地,芯片数量个目标加解密芯片的芯片负载总和大于第一视频流的数据量。
[0175] 如,以上述视频流A1、A2、A3为例,A1对应的数据量假设为a1,A2对应的数据量假设为4a1、A3对应的数据量假设为16a1。其中,每一个加解密芯片的芯片负载均为6a1。确定到与A1对应的有3个加解密芯片,因3个加解密芯片的芯片负载均大于A1的数据量,则可以将其中的任意一个加解密芯片确定为A1的加解密芯片。确定到与A2对应的有2个加解密芯片,则也可以将其中的任意一个加解密芯片确定为A2的加解密芯片,确定到与A2对应的有5个加解密芯片,则可以将5个加解密芯片中的任意3个加解密芯片确定为A3的加解密芯片。
[0176] 实际中,若存在两个以上的第一视频流的加解密类型相同,且这两个以上的第一视频流的数据量的总和未超过单个加解密芯片的芯片负载,则可以将该单个加解密芯片确定为两个以上的第一视频流的加解密芯片,以实现单个加解密芯片对多个视频流的加解密,进而节约加解密芯片资源。
[0177] 如,以上述视频流A1、A2、A3为例,若A2和A3的加解密类型相同,加解密芯片的芯片负载均为6a1,而A2和A3的数据量总和为5a1,则可以将A2和A3放入到同一个加解密芯片中进行加密或解密。
[0178] 结合以上实施例,在一些视联网的视频会议场景中,出于实际需要,服务器可能需要对每路视频流的画面进行检测,以识别参会方的身份或进行视频流的画面的优化。则在一种可选的示例中,在步骤604之后,该视频流处理方法还可以包括以下步骤:
[0179] 步骤606,从所述第二视频流中获取目的地址,以及,确定所述服务器在当前网络中所使用的地址。
[0180] 实际中,第一视频流中可以包括源地址和目的地址,其中,源地址为发送该第一视频流的终端在视联网中的地址,目的地址为该第一视频流的最终的目的终端在视联网中的地址。本申请实施例中,目的地址可以是在终端在视联网中使用的视联网号码,也可以是终端的MAC地址。
[0181] 服务器在当前网络中所使用的地址可以是服务器在当前所处的视联网中使用的视联网号码,也可以是服务器的MAC地址。
[0182] 步骤607,在所述目的地址为所述服务器在当前网络中所使用的地址时,对所述第二视频流进行解码。
[0183] 在第一视频流的目的地址为服务器在当前网络中使用的地址时,表示该服务器是该第一视频流的最终目的终端,实际场景中,则表示在视频会议中终端采集的视频需要经服务器通过服务器的识别,因此服务器可以对该第一视频流进行解码,并对解码后的视频画面进行识别,如,识别视频画面中的参会人是否为指定的参会人。具体而言,可以利用上述的编解码器对该第一视频流进行解码。
[0184] 参照图8所示,示出了在对多路视频流进行解密密传输的具体实例中的视频流处理方法的完整流程图,首先,对该具体实例所应用的服务器进行介绍,参照图9所示,示出了在具体实例所应用的服务器中用于进行视频流处理的系统架构图;在该服务器中配置有FPGA(Field Programmable Gate Array,现场可编程阵列)芯片、编解码芯片(即上述所述的编解码器)及多个加密芯片,其中,编解码芯片与FPGA芯片之间连接有三种数据传输接口,分别为GMAC接口、USB3.0接口及PCIE接口,该三种接口分别用于在编解码芯片及FPGG芯片之间进行数据的传输,加密芯片与FPGA之间通过数据接口USB2.0连接。
[0185] 如图8所示,数据流A1、A2、A3为已经加密的视频流,GMAC通道、USB3.0通道及PCIE通道是上述三种数据传输接口形成的数据传输通道,具体地,完整地包括以下处理流程:
[0186] 首先,服务器的网络接收端(网络接口)接收到数据流A1、A2、A3,该数据流A1、A2、A3传输至编解码芯片。
[0187] 接着,编解码芯片可以先判断数据流A1、A2、A3的解密类型,解密类型实例中有两种,分别为国密SM系列以及AES和3DES系列,在识别完成解密类型后,为了便于FPGA识别需要解密的类型,编解码芯片在数据流A1、A2、A3上加入需要解密的类型。完成解密类型识别后,编解码芯片对数据流进行分辨率的分类,由于每种分辨率的视频流数据大小不一致,如A1为1080P类型,A2为4K类型,由于1080P的数据量为1920*1080,4K的数据量为4096*2160,故A2的数据量为A1的4倍,A3为A1的16倍,因此,数据量大的数据流需要大带宽的传输接口。故编解码芯片确定A1使用GMAC(传输速率为1Gbps),A2使用USB3.0(传输速率为3.2Gbps)、A3使用PCIE(传输速率为8Gbps)。
[0188] 之后,FPGA通过上述GMAC接口获取数据流A1,通过上述USB3.0接口获取数据流A2,通过上述PCIE接口获取数据流A3。进而实现了数据流的多路同步传输,可以极大地提高传输带宽,同时,让大带宽的数据通过传输效率高的接口,可以避免需要数据拆分传输的问题。
[0189] 接着,在数据流A1、A2、A3传输至FPGA芯片后,FPGA芯片首先根据数据流A1、A2、A3的解密类型分配加密芯片,加密芯片在获取到FPGA传送过来的视频流后,将负载状态反馈至FPGA,即,在本实例中,FPGA可以根据加密芯片反馈的负载状态确定加密芯片的芯片负载。
[0190] 例如,数据流A1、A2、A3的数据量均由a1表示,则数据量分别为a1、4*a1、16*a1,现有加密芯片的最大负载为6a1,数量为n片,则FPGA首先将判断据流A1、A2、A3各自需要的加密芯片的数量,根据数量确定是否需进行数据拆分,以及是否有单路或者多路流可以满足单个加密芯片的负载。例如,A1、A2的总数据量为5a1,则不用拆分,可以采用一个加密芯片进行解密。A3则需要拆分为6a1+6a1+4a1,占用3个加密芯片,拆分前需要进行时间戳同步以及位置同步(可以通过上述的子文件序列号同步)。
[0191] 之后,加密芯片解密完成后,FPGA对解密后的数据流A1、A2可以直接获取,对数据流A3依据时间戳进行组包。之后,FPGA通过上述GMAC接口、USB3.0接口、PCIE接口分别将解密后的数据流A1、A2、A3回传给编解码芯片。
[0192] 最后,编解码芯片再将数据流A1、A2、A3传输给网络接口以发送给视频会议中的多个终端,以完成对多路视频流的整个处理过程。
[0193] 需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
[0194] 参考图10,示出了本申请实施例的一种视频流处理装置的结构框图,所述装置可以应用于服务器,所述服务器中可以配置有多个加解密芯片;所述服务器用于在当前进行的视频会议中接收多个第一视频流,所述多个第一视频流由参与所述视频会议的多个终端发送给所述服务器;所述装置具体可以包括以下模块:
[0195] 确定模块1001,用于确定所述第一视频流的数据量大小,及所述第一视频流对应的加解密类型;
[0196] 视频流获取模块1002,用于获取所述第一视频流;
[0197] 芯片负载确定模块1003,用于确定所述多个加解密芯片分别对应的芯片负载;
[0198] 加解密芯片确定模块1004,用于根据所述数据量大小及所述加解密类型,以及所述多个加解密芯片分别对应的芯片负载,确定与获取的所述第一视频流适配的至少一个加解密芯片;
[0199] 视频流加解密模块1005,用于将所述第一视频流发送给所述至少一个加解密芯片,并获取由所述至少一个加解密芯片对所述第一视频流进行加密或解密后的第二视频流;
[0200] 视频流发送模块1006,用于将所述第二视频流分别发送给所述多个终端。
[0201] 可选地,所述服务器中还可以配置有编解码器及多种数据传输接口,所述数据传输接口用于在所述服务器中进行数据传输,所述编解码器用于接收所述多个第一视频流;其中,每种数据传输接口具有对应的接口参数;所述视频流获取模块具体可以包括以下单元:
[0202] 数据传输速率确定单元,可以用于根据所述接口参数,确定所述多种数据传输接口分别对应的数据传输速率;
[0203] 目标数据传输接口确定单元,可以用于根据所述数据量大小,及所述多种数据传输接口分别对应的数据传输速率,在所述多种数据传输接口中,确定与所述第一视频流对应的目标数据传输接口;
[0204] 视频流获取单元,可以用于通过所述目标数据传输接口,从所述编解码器中获取所述第一视频流;
[0205] 所述视频流加解密模块,具体可以用于采用所述编解码获取所述第二视频流;其中,所述第二视频流经所述目标数据传输接口传输至所述编解码器。
[0206] 可选地,所述第视频流加解密模块具体可以包括以下单元:
[0207] 文件拆分单元,可以用于在所述至少一个加解密芯片的数量超过预设数量时,将所述第一视频流拆分为多个子文件包。
[0208] 其中,所述多个子文件包的数量与所述至少一个加解密芯片的数量相同;且每个子文件包具有文件标识及子文件序列号。
[0209] 加解密单元,可以用于将所述多个子文件包一一对应地发送给所述至少一个加解密芯片,所述至少一个加解密芯片用于对接收到的子文件包进行加密或解密。
[0210] 组包单元,可以用于根据所述文件标识及所述子文件序列号,将加密或解密后的多个子文件包组包为第二视频流;
[0211] 获取单元,可以用于获取所述第二视频流。
[0212] 可选地,所述第一视频流包括加解密标签;所述确定模块具体可以包括以下单元:
[0213] 数据量大小确定单元,可以用于根据所述第一视频流的分辨率,确定所述第一视频流对应的数据量大小。
[0214] 加解密类型确定单元,可以用于根据所述加解密标签,确定所述第一视频流对应的加解密类型。
[0215] 可选地,所述加解密芯片确定模块具体可以包括以下单元:
[0216] 目标加解密芯片确定单元,可以用于根据所述加解密类型,在所述多个加解密芯片中,确定与所述加解密类型匹配的多个目标加解密芯片。
[0217] 芯片数量确定单元,可以用于根据所述数据量大小及所述多个目标加解密芯片分别对应的芯片负载,确定分配给所述第一视频流的目标加解密芯片的芯片数量。
[0218] 加解密芯片确定单元,可以用于将所述芯片数量个目标加解密芯片,确定为与所述第一视频流适配的至少一个加解密芯片。
[0219] 可选地,所述装置具体可以还包括以下模块:
[0220] 地址确定单元,可以用于从所述第二视频流中获取目的地址,以及,确定所述服务器在当前网络中所使用的地址。
[0221] 解码单元,可以用于在所述目的地址为所述服务器在当前网络中所使用的地址时,对所述第二视频流进行解码。
[0222] 对于视频流处理装置实施例而言,由于其与视频流处理方法实施例基本相似,所以描述的比较简单,相关之处参见视频流处理方法实施例的部分说明即可。
[0223] 参照图11所示,示出了本申请实施例提供的一种编解码服务器1100的结构框图,具体地,该编解码服务器1100可以包括并行加解密装置1101,所述并行加解密装置1101包括加解密传输模块1102及多个加解密芯片1103;所述编解码服务器1100用于在当前进行的视频会议中接收多个第一视频流,所述多个第一视频流由参与所述视频会议的多个终端发送给所述编解码服务器。其中,所述并行加解密装置1101用于执行所述的视频流处理方法。
[0224] 可选地,加解密传输模块1102具体可以包括以下器件:编解码芯片1103、FPGA芯片1104,及多种数据传输接口。图中仅示出了GMAC接口、USB接口及PCIE接口。其中,编解码芯片1103可以与编解码服务器1100的网络接口1105连接,该网络接口1105简称网口,可以用于接收视联网内的终端发送的数据。FPGA芯片1104可以同时通过上述多种数据传输接口与编解码芯片1103连接,且FPGA芯片1104与多个加解密芯片1103分别可以通过USB接口连接。
具体地,该编解码服务器1100可以利用包括FPGA芯片1104与编解码芯片1103的并行加解密装置1101,去实现所述的视频流处理方法。
[0225] 本申请实施例还提供了一种电子设备,包括:一个或多个处理器;和[0226] 其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本申请实施例所述的一个或多个的视频流处理方法。
[0227] 本申请实施例还提供了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本申请实施例所述的视频流处理方法。
[0228] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0229] 本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0230] 本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0231] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0232] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0233] 尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
[0234] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0235] 以上对本申请所提供的一种视频流处理方法、装置、服务器、电子设备及可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈