CN112995543B - 分布式视频切换系统、方法、设备 - Google Patents
分布式视频切换系统、方法、设备 Download PDFInfo
- Publication number
- CN112995543B CN112995543B CN202110548087.6A CN202110548087A CN112995543B CN 112995543 B CN112995543 B CN 112995543B CN 202110548087 A CN202110548087 A CN 202110548087A CN 112995543 B CN112995543 B CN 112995543B
- Authority
- CN
- China
- Prior art keywords
- video
- switching
- code stream
- module
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/268—Signal distribution or switching
Abstract
本发明属于视频切换领域,具体涉及一种分布式视频切换系统、方法、设备,旨在解决现有多系统级联方案在提升集成度的同时,无法保证不同类型视频切换的速度、同步性及无缝切换效果的问题。本系统包括网络交换协议处理模块,接收浅压缩、深压缩视频码流并进行单播或组播切换;浅压缩、深压缩视频解码模块,进行浅压缩、深压缩解码;本地视频输入模块,对本地输入视频进行设定电路交换协议封装;电路交换模块,对视频进行电路交换;视频处理和输出模块,对视频进行处理和输出;控制模块,协调网络交换协议处理模块和电路交换模块完成视频的切换以及加退组处理。本发明在提高设备集成度的同时,确保视频切换的速度,同步性和无缝切换效果。
Description
技术领域
本发明属于视频切换领域,具体涉及一种分布式视频切换系统、方法、设备。
背景技术
在视频分布式系统中,通常情况下都会按照编码和解码节点方式进行部署,每个节点一般支持1路视频的编码或者1路视频的解码。而对于设备集成度要求高的场景下,会将多个节点集中安装到机箱中,实现多路编码或者多路解码,他们之间是完全独立运行的。以上两种方式,视频切换均是通过网络单播和组播的方式实现。
以上系统方案中,存在一些缺陷,例如:设备集成度低,设备成本高,实施难度大等,特别针对本地信号多,网络编解码视频少的情况下,全部按照分布式节点设计,在集成度和成本角度的矛盾更加突出。当前主流解决方案是采用将分布式节点和传统矩阵级联,分布式实现网络视频编解码完成互联互通,矩阵完成本地视频切换功能。此种方式一定程度上降低了成本,部分降低了集成度,但由于是2个系统级联,增加了系统同步控制的复杂度,并且无法保证不同类型视频切换的速度,同步性,以及无缝切换效果。基于以上问题,本发明提出一种分布式视频切换系统。
发明内容
为了解决现有技术中的上述问题,即为了解决现有多系统级联方案在提升集成度的同时,无法保证不同类型视频切换的速度、同步性以及无缝切换效果的问题,本发明第一方面,提出了一种分布式视频切换系统,包括控制模块、网络交换协议处理模块、电路交换模块、浅压缩视频解码模块、深压缩视频解码模块、视频处理和输出模块、本地视频输入模块;
所述网络交换协议处理模块,配置为接收浅压缩视频码流、深压缩视频码流,并进行单播或组播切换;
所述浅压缩视频解码模块,配置为对网络交换协议处理模块切换的浅压缩视频码流进行解码,解码后,发送至控制模块、电路交换模块;
所述深压缩视频解码模块,配置为对网络交换协议处理模块切换的深压缩视频码流进行解码、缓冲、静帧、更新处理,处理后,发送至控制模块、电路交换模块;
所述本地视频输入模块,配置为对本地输入视频进行设定电路交换协议封装后,发送至电路交换模块;
所述电路交换模块,配置为对本地输入视频、浅压缩视频码流和深压缩视频码流进行电路交换,并发送至控制模块、视频处理和输出模块;
所述视频处理和输出模块,配置为对视频进行缩放、静帧、更新处理;处理后,发送给显示设备进行显示;
所述控制模块,配置为协调网络交换协议处理模块和电路交换模块完成视频的切换以及加退组处理;还配置为对浅压缩视频解码模块、深压缩视频解码模块、视频处理和输出模块进行参数配置和状态查询;所述加退组为加入、退出组播组。
在一些优选的实施方式中,所述浅压缩视频码流为无损码流,所述深压缩视频码流为H264码流。
在一些优选的实施方式中,当控制模块接收到单路视频切换指令后,视频切换方法为:
获取待切换的视频的类型;所述视频的类型包括浅压缩视频码流、深压缩视频码流、本地输入视频;
当待切换的视频的类型是本地输入视频时,则先通过视频处理与输出模块进行静帧处理,静帧后,仅做一次电路交换,然后解除视频静帧;
当待切换的视频的类型是深压缩视频码流时,在已经占有解码通道的情况下,先完成新的深压缩视频码流的加组和关键帧解码,然后将旧的输出的深压缩视频码流进行静帧处理;静帧后,将深压缩视频码流缓冲进行更新,输出新的深压缩视频码流,并将旧的深压缩视频码流退出组播;
如果没有占有解码通道的情况下,则先通过视频处理与输出模块进行静帧处理,静帧后,依次进行电路交换、深压缩视频码流的加组、退组、关键帧解码,然后解除静帧;
当待切换的视频的类型是浅压缩视频码流时,在有空闲解码通道的情况下,先完成浅压缩视频码流的加组和退组切换,然后通过电路交换模块切换浅压缩视频码流到视频处理和输出模块;
如果无空闲解码通道的情况下,先对浅压缩视频码流进行静帧,静帧后,完成旧的浅压缩视频码流的退组、新的浅压缩视频码流的加组,然后解除静帧。
在一些优选的实施方式中,当控制模块接收到多路视频切换指令后,视频切换方法为:
统计多路视频切换指令中,3种视频切换类型各自对应的视频切换数量;若视频切换数量不为0,表示多路视频切换指令中包含该种视频切换类型;
基于统计的视频切换数量,判断多路视频切换指令中是否包含浅压缩视频码流切换、深压缩视频码流切换、本地输入视频切换3种类型,若否,则先通过视频处理与输出模块进行静帧处理,静帧后,依次对本地输入视频进行电路交换、对浅压缩视频码流和深压缩视频码流进行加退组处理、对深压缩视频码流关键帧进行解码处理,然后解除静帧;否则判断多路视频切换指令中是否存在单路视频切换方法中的深压缩视频码流没有占有解码通道的情况下的切换方式或者浅压缩视频码流无空闲解码通道的情况下的切换方式;
若存在,则先通过视频处理与输出模块进行静帧处理,静帧后,依次对本地输入视频进行电路交换、对浅压缩视频码流和深压缩视频码流进行加退组处理、对深压缩视频码流关键帧进行解码处理,然后解除静帧;
否则,同步对深压缩视频码流加组和深压缩视频码流关键帧解码,以及浅压缩视频码流加组、退组,然后同步对视频处理和输出模块输出的视频静帧和深压缩视频码流静帧,静帧后,对本地输入视频进行电路交换,最后解除静帧。
在一些优选的实施方式中,在所述浅压缩视频解码模块中,一路解码对应一个浅压缩网口;在所述深压缩视频解码模块中,多路解码对应一个深压缩网口。
本发明的第二方面,提出了一种分布式视频切换方法,基于上述的分布式视频切换系统,包括以下步骤:
步骤S10,获取所述分布式视频切换系统中控制模块接收的视频切换指令,作为输入指令;
步骤S20,判断所述输入指令的类型,若所述输入指令为单路视频切换指令,则跳转步骤S30;若所述输入指令为多路视频切换指令,则跳转步骤S40;
步骤S30,获取待切换的视频的类型,并根据待切换的视频的类型,通过预设的单路视频切换方法进行单路视频的切换,切换完成后,结束;所述待切换的视频的类型包括浅压缩视频码流、深压缩视频码流、本地输入视频;
步骤S40,通过预设的多路视频切换方法进行多路视频切换。
在一些优选的实施方式中,所述预设的单路视频切换方法为:
获取待切换的视频的类型;所述视频的类型包括浅压缩视频码流、深压缩视频码流、本地输入视频;
当待切换的视频的类型是本地输入视频时,则先通过视频处理与输出模块进行静帧处理,静帧后,仅做一次电路交换,然后解除视频静帧;
当待切换的视频的类型是深压缩视频码流时,在已经占有解码通道的情况下,先完成新的深压缩视频码流的加组和关键帧解码,然后将旧的输出的深压缩视频码流进行静帧处理;静帧后,将深压缩视频码流缓冲进行更新,输出新的深压缩视频码流,并将旧的深压缩视频码流退出组播;
如果没有占有解码通道的情况下,则先通过视频处理与输出模块进行静帧处理,静帧后,依次进行电路交换、深压缩视频码流的加组、退组、关键帧解码,然后解除静帧;
当待切换的视频的类型是浅压缩视频码流时,在有空闲解码通道的情况下,先完成浅压缩视频码流的加组和退组切换,然后通过电路交换模块切换浅压缩视频码流到视频处理和输出模块;
如果无空闲解码通道的情况下,先对浅压缩视频码流进行静帧,静帧后,完成旧的浅压缩视频码流的退组、新的浅压缩视频码流的加组,然后解除静帧。
在一些优选的实施方式中,所述预设的多路视频切换方法为:
统计多路视频切换指令中,3种视频切换类型各自对应的视频切换数量;若视频切换数量不为0,表示多路视频切换指令中包含该种视频切换类型;
基于统计的视频切换数量,判断多路视频切换指令中是否包含浅压缩视频码流切换、深压缩视频码流切换、本地输入视频切换3种类型,若否,则先通过视频处理与输出模块进行静帧处理,静帧后,依次对本地输入视频进行电路交换、对浅压缩视频码流和深压缩视频码流进行加退组处理、对深压缩视频码流关键帧进行解码处理,然后解除静帧;否则判断多路视频切换指令中是否存在单路视频切换方法中的深压缩视频码流没有占有解码通道的情况下的切换方式或者浅压缩视频码流无空闲解码通道的情况下的切换方式;
若存在,则先通过视频处理与输出模块进行静帧处理,静帧后,依次对本地输入视频进行电路交换、对浅压缩视频码流和深压缩视频码流进行加退组处理、对深压缩视频码流关键帧进行解码处理,然后解除静帧;
否则,同步对深压缩视频码流加组和深压缩视频码流关键帧解码,以及浅压缩视频码流加组、退组,然后同步对视频处理和输出模块输出的视频静帧和深压缩视频码流静帧,静帧后,对本地输入视频进行电路交换,最后解除静帧。
本发明的第三方面,提出了一种分布式视频切换设备,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的分布式视频切换方法。
本发明的第四方面,提出了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的分布式视频切换方法。
本发明的有益效果:
本发明在提高设备集成度的同时,确保视频切换的速度,同步性和无缝切换效果。
1)本发明通过对网络交换和电路交换的协同控制,既实现了多种IP编解码的网络交换,也实现了本地视频输入的电路交换。
2)本发明通过增加切换的视频类型判定,切换的码流类型判定,以及解码通道资源的计算,来决定走传统视频切换方法,还是走快速切换方法。进而实现本地视频,浅压缩视频,深压缩视频根据各自视频流特点选择最优切换方法进行切换,能够最大程度的优化切换流畅度,达到快速,同步,无缝的效果。
附图说明
通过阅读参照以下附图所做的对非限制性实施例所做的详细描述,本申请的其他特征、目的和优点将会变得更明显。
图1是本发明一种实施例的分布式视频切换系统的框架示意图;
图2是本发明一种实施例的多路视频切换的流程示意图;
图3是本发明一种实施例的单路视频切换的流程示意图;
图4是本发明一种实施例的适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明的一种分布式视频切换系统,如图1所示,包括控制模块、网络交换协议处理模块、电路交换模块、浅压缩视频解码模块、深压缩视频解码模块、视频处理和输出模块、本地视频输入模块;
所述网络交换协议处理模块,配置为接收浅压缩视频码流、深压缩视频码流,并进行单播或组播切换;
所述浅压缩视频解码模块,配置为对网络交换协议处理模块切换的浅压缩视频码流进行解码,解码后,发送至控制模块、电路交换模块;
所述深压缩视频解码模块,配置为对网络交换协议处理模块切换的深压缩视频码流进行解码、缓冲、静帧、更新处理,处理后,发送至控制模块、电路交换模块;
所述本地视频输入模块,配置为对本地输入视频进行设定电路交换协议封装后,发送至电路交换模块;
所述电路交换模块,配置为对本地输入视频、浅压缩视频码流和深压缩视频码流进行电路交换,并发送至控制模块、视频处理和输出模块;
所述视频处理和输出模块,配置为对视频进行缩放、静帧、更新处理;处理后,发送给显示设备进行显示;
所述控制模块,配置为协调网络交换协议处理模块和电路交换模块完成视频的切换以及加退组处理;还配置为对浅压缩视频解码模块、深压缩视频解码模块、视频处理和输出模块进行参数配置和状态查询;所述加退组为加入、退出组播组。
为了更清晰地对本发明分布式视频切换系统进行说明,下面结合附图对本发明系统实施例中各系统展开详述。
本发明一种实施例的分布式视频切换系统,包括控制模块、网络交换协议处理模块、电路交换模块、浅压缩视频解码模块、深压缩视频解码模块、视频处理和输出模块、本地视频输入模块。
图1为本发明分布式视频切换系统的示例图,网络交换协议处理模块,配置为接收N路浅压缩网口传输的浅压缩视频码流、K路深压缩网口传输的深压缩视频码流,并对浅压缩视频码流、深压缩视频码流进行单播或组播的切换;还配置为对单播或者组播协议的维护和处理。其中,在本发明中浅压缩视频码流优选为无损码流,深压缩视频码流优选为H264码流。
浅压缩解码模块和网口是一对一的关系,即一路解码对应一个浅压缩网口;浅压缩解码模块配置为对网络交换协议处理模块切换的浅压缩视频码流进行解码,解码后,发送至控制模块、电路交换模块;
深压缩解码模块和网口是多对一的关系,即多路深压缩解码模块对应一个深压缩网口;深压缩视频解码模块,配置为对网络交换协议处理模块切换的深压缩视频码流进行解码、缓冲、静帧、更新处理,处理后,发送至控制模块、电路交换模块。
本地视频输入模块有N路,配置为对本地输入视频进行设定电路交换协议封装后,发送至电路交换模块;封装的电路交换协议在其他实施例中可以根据实际情况进行设定。
电路交换模块,配置为对本地输入视频、浅压缩视频码流和深压缩视频码流进行电路交换,完成视频切换功能,并发送至控制模块、视频处理和输出模块;
视频处理和输出模块有M路,配置为对视频进行缩放、静帧、更新处理。处理后,发送给显示设备进行显示;
所述控制模块,配置为协调网络交换协议处理模块和电路交换模块完成视频的切换以及加退组处理;还配置为对浅压缩视频解码模块、深压缩视频解码模块、视频处理和输出模块进行参数配置和状态查询;所述加退组为加入、退出组播组。
传统的视频切换方法为:控制模块接收到视频切换命令后,先将视频输出静帧,之后进行将切换命令发给电路交换模块进行电路交换,将切换命令发给相关的浅压缩和深压缩模块和网络交换协议处理模块。等以上这些模块处理完成之后,进行解除视频输出静帧的处理。但不同类型压缩视频码流的网络带宽,网络组播加退组时间,视频解码时间,视频切换流程均不相同,多路切换过程中,最慢视频码流切换时间将成为静帧时间。因此,传统的视频切换方法尽管可以保证多路视频输出切换的一致性,但是会造成视频静帧时间过长,会到1~2s中,这个用于体验会非常差。
基于此,本发明通过对网络交换和电路交换的协同控制,增加切换的视频类型判定,切换的码流类型判定,以及解码通道资源的计算,来决定走传统视频切换方法,还是走快速切换方法。具体为:
获取控制模块接收的视频切换指令,若为单路视频切换指令,则视频切换过程如图3所示,具体如下:
获取待切换的视频的类型;所述视频的类型包括浅压缩视频码流、深压缩视频码流、本地输入视频;
当待切换的视频的类型是本地输入视频时,则先通过视频处理与输出模块进行静帧处理,静帧后,仅做一次电路交换,然后解除视频静帧;
当待切换的视频的类型是深压缩视频码流时,仅做一次码流加退组,具体为:
在已经占有解码通道的情况下,先完成新的深压缩视频码流的加组和关键帧解码,然后将旧的输出的深压缩视频码流进行静帧处理;静帧后,将深压缩视频码流缓冲进行更新,输出新的深压缩视频码流,并将旧的深压缩视频码流退出组播;
如果没有占有解码通道的情况下,则先通过视频处理与输出模块进行静帧处理,静帧后,依次进行电路交换、深压缩视频码流的加组、退组、关键帧解码,然后解除静帧;
由于264码流占用网络带宽小,先做加组新视频码流,静帧,切换,再退组旧视频码流,减少加组和退组带来的切换延时。
当待切换的视频的类型是浅压缩视频码流时,在有空闲解码通道的情况下,走浅压缩视频码流快速切换方法,即先完成浅压缩视频码流的加组和退组切换,然后通过电路交换模块切换浅压缩视频码流到视频处理和输出模块;这样用户看到的图像的切换时间与第一种情况一样,仅看到一次电路交换的切换效果。
如果无空闲解码通道的情况下,走浅压缩视频码流快速切换方法,即对浅压缩视频码流进行静帧,静帧后,完成旧的浅压缩视频码流的退组、新的浅压缩视频码流的加组,然后解除静帧,这样用户体验最差,但也仅看到一次网络换流的切换效果。
其中,旧的浅压缩视频码流为视频切换动作之前正在显示的浅压缩视频码流,新的浅压缩视频码流为视频切换动作之后将要显示的浅压缩视频码流,新、旧浅压缩视频码流的组播地址不同。
获取控制模块接收的视频切换指令,若为多路视频切换指令,则视频切换过程如图2所示,具体如下:
多路视频切换中,优先满足切换一致性,所以需要根据切换流类型,以及空闲解码通道数量综合选择切换方法;
统计多路视频切换指令中,3种视频切换类型各自对应的视频切换数量;若视频切换数量不为0,表示多路视频切换指令中包含该种视频切换类型;
基于统计的视频切换数量,判断多路视频切换指令中是否包含浅压缩视频码流切换、深压缩视频码流切换、本地输入视频切换3种类型,若否,则先通过视频处理与输出模块进行静帧处理,静帧后,依次对本地输入视频进行电路交换、对浅压缩视频码流和深压缩视频码流进行加退组处理、对深压缩视频码流关键帧进行解码处理,然后解除静帧;否则判断多路视频切换指令中是否存在单路视频切换方法中的深压缩视频码流没有占有解码通道的情况下的切换方式或者浅压缩视频码流无空闲解码通道的情况下的切换方式;
若存在,作为最差场景,先通过视频处理与输出模块进行静帧处理,静帧后,依次对本地输入视频进行电路交换、对浅压缩视频码流和深压缩视频码流进行加退组处理、对深压缩视频码流关键帧进行解码处理,然后解除静帧;
否则,作为最优场景,同步对深压缩视频码流加组和深压缩视频码流关键帧解码,以及浅压缩视频码流加组、退组,然后同步对视频处理和输出模块输出的视频静帧和深压缩视频码流静帧,静帧后,对本地输入视频进行电路交换,最后解除静帧。
上述通过将快速切换方法和传统的视频切换方法的结合,在保证同步、无缝切换的同时,减少切换过程中视频静帧的时间。
另外,需要说明的是,上述实施例提供的分布式视频切换系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第二实施例的一种分布式视频切换方法,基于上述的分布式视频切换系统,包括以下步骤:
步骤S10,获取所述分布式视频切换系统中控制模块接收的视频切换指令,作为输入指令;
步骤S20,判断所述输入指令的类型,若所述输入指令为单路视频切换指令,则跳转步骤S30;若所述输入指令为多路视频切换指令,则跳转步骤S40;
步骤S30,获取待切换的视频的类型,并根据待切换的视频的类型,通过预设的单路视频切换方法进行单路视频的切换,切换完成后,结束;所述待切换的视频的类型包括浅压缩视频码流、深压缩视频码流、本地输入视频;
步骤S40,通过预设的多路视频切换方法进行多路视频切换。
其中,预设的单路视频切换方法、预设的多路视频切换方法可参考上述的系统中的当控制模块接收到单路视频切换指令后,视频切换方法、当控制模块接收到多路视频切换指令后,视频切换方法。
所述技术领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的方法具体的工作过程及有关说明,可以参考前述系统实施例中的对应过程,在此不再赘述。
本发明第三实施例的一种分布式视频切换设备,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的分布式视频切换方法。
本发明第四实施例的一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的分布式视频切换方法。
所述技术领域的技术人员可以清楚的了解到,未描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考签署方法实例中的对应过程,在此不再赘述。
下面参考图4,其示出了适于用来实现本申请方法、系统、装置实施例的服务器的计算机系统的结构示意图。图4示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统包括中央处理单元(CPU,Central Processing Unit)401,其可以根据存储在只读存储器(ROM,Read Only Memory)402中的程序或者从存储部分408加载到随机访问存储器(RAM,Random Access Memory)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O,Input/Output)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,Liquid Crystal Display)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN(局域网,Local AreaNetwork)卡、调制解调器等的网络接口卡的通讯部分409。通讯部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通讯部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
术语“第一”、 “第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (8)
1.一种分布式视频切换系统,其特征在于,该系统包括:控制模块、网络交换协议处理模块、电路交换模块、浅压缩视频解码模块、深压缩视频解码模块、视频处理和输出模块、本地视频输入模块;
所述网络交换协议处理模块,配置为接收浅压缩视频码流、深压缩视频码流,并进行单播或组播切换;
所述浅压缩视频解码模块,配置为对网络交换协议处理模块切换的浅压缩视频码流进行解码,解码后,发送至控制模块、电路交换模块;
所述深压缩视频解码模块,配置为对网络交换协议处理模块切换的深压缩视频码流进行解码、缓冲、静帧、更新处理,处理后,发送至控制模块、电路交换模块;
所述本地视频输入模块,配置为对本地输入视频进行设定电路交换协议封装后,发送至电路交换模块;
所述电路交换模块,配置为对本地输入视频、浅压缩视频码流和深压缩视频码流进行电路交换,并发送至控制模块、视频处理和输出模块;
所述视频处理和输出模块,配置为对视频进行缩放、静帧、更新处理;处理后,发送给显示设备进行显示;
所述控制模块,配置为协调网络交换协议处理模块和电路交换模块完成视频的切换以及加退组处理;还配置为对浅压缩视频解码模块、深压缩视频解码模块、视频处理和输出模块进行参数配置和状态查询;所述加退组为加入、退出组播组;
其中,当控制模块接收到单路视频切换指令后,视频切换方法为:
获取待切换的视频的类型;所述视频的类型包括浅压缩视频码流、深压缩视频码流、本地输入视频;
当待切换的视频的类型是本地输入视频时,则先通过视频处理与输出模块进行静帧处理,静帧后,仅做一次电路交换,然后解除视频静帧;
当待切换的视频的类型是深压缩视频码流时,在已经占有解码通道的情况下,先完成新的深压缩视频码流的加组和关键帧解码,然后将旧的输出的深压缩视频码流进行静帧处理;静帧后,将深压缩视频码流缓冲进行更新,输出新的深压缩视频码流,并将旧的深压缩视频码流退出组播;
如果没有占有解码通道的情况下,则先通过视频处理与输出模块进行静帧处理,静帧后,依次进行电路交换、深压缩视频码流的加组、退组、关键帧解码,然后解除静帧;
当待切换的视频的类型是浅压缩视频码流时,在有空闲解码通道的情况下,先完成浅压缩视频码流的加组和退组切换,然后通过电路交换模块切换浅压缩视频码流到视频处理和输出模块;
如果无空闲解码通道的情况下,先对浅压缩视频码流进行静帧,静帧后,完成旧的浅压缩视频码流的退组、新的浅压缩视频码流的加组,然后解除静帧。
2.根据权利要求1所述的分布式视频切换系统,其特征在于,所述浅压缩视频码流为无损码流,所述深压缩视频码流为H264码流。
3.根据权利要求1所述的分布式视频切换系统,其特征在于,当控制模块接收到多路视频切换指令后,视频切换方法为:
统计多路视频切换指令中,3种视频切换类型各自对应的视频切换数量;若视频切换数量不为0,表示多路视频切换指令中包含该种视频切换类型;
基于统计的视频切换数量,判断多路视频切换指令中是否包含浅压缩视频码流切换、深压缩视频码流切换、本地输入视频切换3种类型,若否,则先通过视频处理与输出模块进行静帧处理,静帧后,依次对本地输入视频进行电路交换、对浅压缩视频码流和深压缩视频码流进行加退组处理、对深压缩视频码流关键帧进行解码处理,然后解除静帧;否则判断多路视频切换指令中是否存在单路视频切换方法中的深压缩视频码流没有占有解码通道的情况下的切换方式或者浅压缩视频码流无空闲解码通道的情况下的切换方式;
若存在,则先通过视频处理与输出模块进行静帧处理,静帧后,依次对本地输入视频进行电路交换、对浅压缩视频码流和深压缩视频码流进行加退组处理、对深压缩视频码流关键帧进行解码处理,然后解除静帧;
否则,同步对深压缩视频码流加组和深压缩视频码流关键帧解码,以及浅压缩视频码流加组、退组,然后同步对视频处理和输出模块输出的视频静帧和深压缩视频码流静帧,静帧后,对本地输入视频进行电路交换,最后解除静帧。
4.根据权利要求1所述的分布式视频切换系统,其特征在于,在所述浅压缩视频解码模块中,一路解码对应一个浅压缩网口;在所述深压缩视频解码模块中,多路解码对应一个深压缩网口。
5.一种分布式视频切换方法,其特征在于,基于权利要求1-4任一项所述的分布式视频切换系统,包括以下步骤:
步骤S10,获取所述分布式视频切换系统中控制模块接收的视频切换指令,作为输入指令;
步骤S20,判断所述输入指令的类型,若所述输入指令为单路视频切换指令,则跳转步骤S30;若所述输入指令为多路视频切换指令,则跳转步骤S40;
步骤S30,获取待切换的视频的类型,并根据待切换的视频的类型,通过预设的单路视频切换方法进行单路视频的切换,切换完成后,结束;所述待切换的视频的类型包括浅压缩视频码流、深压缩视频码流、本地输入视频;
其中,所述预设的单路视频切换方法为:
当待切换的视频的类型是本地输入视频时,则先通过视频处理与输出模块进行静帧处理,静帧后,仅做一次电路交换,然后解除视频静帧;
当待切换的视频的类型是深压缩视频码流时,在已经占有解码通道的情况下,先完成新的深压缩视频码流的加组和关键帧解码,然后将旧的输出的深压缩视频码流进行静帧处理;静帧后,将深压缩视频码流缓冲进行更新,输出新的深压缩视频码流,并将旧的深压缩视频码流退出组播;
如果没有占有解码通道的情况下,则先通过视频处理与输出模块进行静帧处理,静帧后,依次进行电路交换、深压缩视频码流的加组、退组、关键帧解码,然后解除静帧;
当待切换的视频的类型是浅压缩视频码流时,在有空闲解码通道的情况下,先完成浅压缩视频码流的加组和退组切换,然后通过电路交换模块切换浅压缩视频码流到视频处理和输出模块;
如果无空闲解码通道的情况下,先对浅压缩视频码流进行静帧,静帧后,完成旧的浅压缩视频码流的退组、新的浅压缩视频码流的加组,然后解除静帧;
步骤S40,通过预设的多路视频切换方法进行多路视频切换。
6.根据权利要求5所述的分布式视频切换方法,其特征在于,所述预设的多路视频切换方法为:
统计多路视频切换指令中,3种视频切换类型各自对应的视频切换数量;若视频切换数量不为0,表示多路视频切换指令中包含该种视频切换类型;
基于统计的视频切换数量,判断多路视频切换指令中是否包含浅压缩视频码流切换、深压缩视频码流切换、本地输入视频切换3种类型,若否,则先通过视频处理与输出模块进行静帧处理,静帧后,依次对本地输入视频进行电路交换、对浅压缩视频码流和深压缩视频码流进行加退组处理、对深压缩视频码流关键帧进行解码处理,然后解除静帧;否则判断多路视频切换指令中是否存在单路视频切换方法中的深压缩视频码流没有占有解码通道的情况下的切换方式或者浅压缩视频码流无空闲解码通道的情况下的切换方式;
若存在,则先通过视频处理与输出模块进行静帧处理,静帧后,依次对本地输入视频进行电路交换、对浅压缩视频码流和深压缩视频码流进行加退组处理、对深压缩视频码流关键帧进行解码处理,然后解除静帧;
否则,同步对深压缩视频码流加组和深压缩视频码流关键帧解码,以及浅压缩视频码流加组、退组,然后同步对视频处理和输出模块输出的视频静帧和深压缩视频码流静帧,静帧后,对本地输入视频进行电路交换,最后解除静帧。
7.一种分布式视频切换设备,其特征在于,包括:
至少一个处理器;以及
与至少一个所述处理器通信连接的存储器;其中,
所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现权利要求5-6任一项所述的分布式视频切换方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现权利要求5-6任一项所述的分布式视频切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110548087.6A CN112995543B (zh) | 2021-05-19 | 2021-05-19 | 分布式视频切换系统、方法、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110548087.6A CN112995543B (zh) | 2021-05-19 | 2021-05-19 | 分布式视频切换系统、方法、设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112995543A CN112995543A (zh) | 2021-06-18 |
CN112995543B true CN112995543B (zh) | 2021-08-06 |
Family
ID=76336841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110548087.6A Active CN112995543B (zh) | 2021-05-19 | 2021-05-19 | 分布式视频切换系统、方法、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112995543B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117319675B (zh) * | 2023-11-28 | 2024-02-27 | 苏州元脑智能科技有限公司 | 服务器管理控制芯片的视频压缩系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110753230A (zh) * | 2019-11-15 | 2020-02-04 | 北京淳中科技股份有限公司 | 视频流传输系统和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN206524849U (zh) * | 2017-01-20 | 2017-09-26 | 中国第一汽车股份有限公司 | 一种支持most总线的前部娱乐系统 |
US10051205B1 (en) * | 2017-08-31 | 2018-08-14 | Icron Technologies Corporation | Devices, systems, and methods for instant video switching in an extension environment |
CN111372144B (zh) * | 2020-03-23 | 2021-09-28 | 北京小鸟科技股份有限公司 | 组播视频码流的链路备份系统及方法 |
CN112804264B (zh) * | 2021-04-01 | 2021-06-22 | 北京小鸟科技股份有限公司 | 多种编码标准与传输接口自适应切换方法、系统及设备 |
-
2021
- 2021-05-19 CN CN202110548087.6A patent/CN112995543B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110753230A (zh) * | 2019-11-15 | 2020-02-04 | 北京淳中科技股份有限公司 | 视频流传输系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112995543A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108055304B (zh) | 远程数据的同步方法、装置、服务器、设备和存储介质 | |
CN110290398B (zh) | 视频下发方法、装置、存储介质及电子设备 | |
CN105898506A (zh) | 媒体文件的多屏播放方法和系统 | |
CN116962719A (zh) | 针对屏幕数据的有效帧内编码 | |
CN112995543B (zh) | 分布式视频切换系统、方法、设备 | |
CN113542660A (zh) | 一种实现会议多画面高清显示的方法、系统及存储介质 | |
CN114222166B (zh) | 多路视频码流实时处理、同屏播放方法及相关系统 | |
CN108668179A (zh) | 媒体索引文件的传输方法及相关设备 | |
CN114422799A (zh) | 视频文件的解码方法、装置、电子设备、程序产品 | |
US11539919B1 (en) | Dynamic cloud video composition | |
CN113259729B (zh) | 数据切换的方法、服务器、系统及存储介质 | |
CN115567754A (zh) | 视频播放方法、装置、设备及存储介质 | |
CN105824707A (zh) | 一种流媒体服务多进程的合并回源方法及设备 | |
CN113242446B (zh) | 视频帧的缓存方法、转发方法、通信服务器及程序产品 | |
CN115914745A (zh) | 视频的解码方法、装置、电子设备及计算机可读介质 | |
CN105120323A (zh) | 一种分布式播放器任务调度的方法及系统 | |
CN114584808A (zh) | 一种视频流获取方法、装置、系统、设备和介质 | |
CN112153322B (zh) | 数据分发方法、装置、设备及存储介质 | |
CN115297359A (zh) | 多媒体数据传输方法、装置、电子设备及存储介质 | |
CN116546262A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN109640004B (zh) | 一种低带宽的计算机视频传输方法和系统 | |
CN112804162B (zh) | 一种调度方法、装置、终端设备和存储介质 | |
CN113727183B (zh) | 直播推流方法、装置、设备、存储介质及计算机程序产品 | |
CN115695856B (zh) | 视频组播码流快速切换设备、方法、电子设备及存储介质 | |
CN112887742B (zh) | 直播流处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |