视频流包处理方法与装置

文档序号:172839 发布日期:2021-10-29 浏览:40次 >En<

阅读说明:本技术 视频流包处理方法与装置 (Video stream packet processing method and device ) 是由 唐宇 温健 于 2021-09-22 设计创作,主要内容包括:本申请提供了一种视频流包处理方法与装置、电子设备及存储介质,方法包括:判断当前收到的视频流包是否为fec包或者视频帧的首包或者视频帧的末包;若当前收到的视频流包为fec包或者视频帧的首包或者视频帧的末包,则计算所述当前收到的视频流包的序列号,与第一包的序列号之间的间隔,其中,所述第一包为WebRTC的stash-frames中存储的完整帧的一个包或者已收到的fec包中的一个包;将所述间隔与预设的间隔阈值进行比较,并根据比较结果确定所述当前收到的视频流包与所述第一包之间的包是否连续,能够消除由于引入Ulpfec功能所引起的WebRTC中H264的帧间依赖合法性误判的发生,从而使H264与Ulpfec能够共存。(The application provides a video stream packet processing method and device, electronic equipment and a storage medium, wherein the method comprises the following steps: judging whether the currently received video stream packet is a fec packet or a first packet of a video frame or a last packet of the video frame; if the currently received video stream packet is a fec packet or a first packet of a video frame or a last packet of a video frame, calculating an interval between a sequence number of the currently received video stream packet and a sequence number of a first packet, wherein the first packet is one packet of a complete frame stored in a status _ frames of the WebRTC or one packet of the received fec packets; and comparing the interval with a preset interval threshold, and determining whether the packets between the currently received video stream packet and the first packet are continuous or not according to the comparison result, so that the occurrence of inter-frame dependence legality misjudgment of the H264 in the WebRTC caused by introducing the Ulpfc function can be eliminated, and the H264 and the Ulpfc can coexist.)

视频流包处理方法与装置

技术领域

本发明涉及计算机技术领域,特别涉及一种视频流包处理方法与装置、电子设备及存储介质。

背景技术

Ulpfec是一种提升弱网QoS(Quality of Service,服务质量)的手段,在高RTT(Round-Trip Time,往返时延)及一定丢包率的弱网环境下尤其有效。其工作原理为对要保护的数据进行异或计算,生成冗余包(以下简称fec包),从而在丢失数据包时可以通过冗余包与其他数据包进行异或运算恢复丢失的数据包。

对于Ulpfec,会与H264编码的视频数据包使用同一个SSRC (Synchronizationsource,同步源)传输,共用一个seq_num(Sequence Number,序列号)序列。而由于H264编码的视频数据有帧间依赖关系,需要进行帧间依赖合法性判断。在WebRTC中,H264的帧间依赖合法性通过序列号seq_num的连续性进行判断,因而fec包的丢包会导致H264帧间依赖合法性的误判,从而导致视频卡顿及无法播放等问题。因此默认在WebRTC中,对于H264编码的视频流,Ulpfec功能会自动关闭。

因此,如何提供一种方案,以消除由于引入Ulpfec功能所引起的WebRTC中H264的帧间依赖合法性误判的发生,从而使H264与Ulpfec能够共存,从而使H264也可以享受Ulpfec带来的弱网体验优化,成为亟待解决的技术问题。

发明内容

针对现有技术存在的技术问题,本申请实施例提供一种视频流包处理方法与装置、电子设备及存储介质。

第一方面,本申请实施例提供了一种视频流包处理方法,包括:

判断当前收到的视频流包是否为fec包或者视频帧的首包或者视频帧的末包;

若当前收到的视频流包为fec包或者视频帧的首包或者视频帧的末包,则计算所述当前收到的视频流包的序列号,与第一包的序列号之间的间隔,其中,所述第一包为WebRTC的stash_frames中存储的完整帧的一个包或者已收到的fec包中的一个包;

将所述间隔与预设的间隔阈值进行比较,并根据比较结果确定所述当前收到的视频流包与所述第一包之间的包是否连续。

第二方面,本申请实施例还提供了一种视频流包处理装置,包括:

判断单元,用于判断当前收到的视频流包是否为fec包或者视频帧的首包或者视频帧的末包;

计算单元,用于若当前收到的视频流包为fec包或者视频帧的首包或者视频帧的末包,则计算所述当前收到的视频流包的序列号,与第一包的序列号之间的间隔,其中,所述第一包为WebRTC的stash_frames中存储的完整帧的一个包或者已收到的fec包中的一个包;

比较单元,用于将所述间隔与预设的间隔阈值进行比较,并根据比较结果确定所述当前收到的视频流包与所述第一包之间的包是否连续。

第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面所述的视频流包处理方法的步骤。

第四方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面所述的视频流包处理方法的步骤。

综上,本申请实施例提供的视频流包处理方法与装置、电子设备及存储介质,先判断当前收到的视频流包是否为fec包或者视频帧的首包或者视频帧的末包;若当前收到的视频流包为fec包或者视频帧的首包或者视频帧的末包,则计算所述当前收到的视频流包的序列号,与第一包的序列号之间的间隔;将所述间隔与预设的间隔阈值进行比较,并根据比较结果确定所述当前收到的视频流包与所述第一包之间的包是否连续,整个方案用于WebRTC中H264的帧间依赖合法性判断时,能够消除误判的发生,从而使H264与Ulpfec能够共存,从而使H264也可以享受Ulpfec带来的弱网体验优化。

附图说明

图1为本申请实施例提供的一种视频流包处理方法的流程示意图;

图2为本申请实施例提供的一种视频流包处理装置的结构示意图;

图3为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。

参照图1所示,为本申请实施例提供的一种视频流包处理方法的流程示意图,具体包括:

S10、判断当前收到的视频流包是否为fec包或者视频帧的首包或者视频帧的末包;

本实施例中,可以理解的是,至少一个数据包组成一个视频帧,视频帧在传输时以数据包的形式传输。在执行本实施例的视频流包处理方法时,首先会判断当前收到的视频流包是否为fec包或者视频帧的首包或者视频帧的末包,具体可以通过包中携带的标识来判断。

S11、若当前收到的视频流包为fec包或者视频帧的首包或者视频帧的末包,则计算所述当前收到的视频流包的序列号,与第一包的序列号之间的间隔,其中,所述第一包为WebRTC的stash_frames中存储的完整帧的一个包或者已收到的fec包中的一个包;

本实施例中,可以理解的是,stash_frames是一个帧缓存队列,用于缓存已经收到组成帧的所有数据包,但不符合帧间连续性的帧数据。已组好的帧因H264连续性判断失败,会暂存至stash_frames中,举例来说,假设视频帧序列中前后相邻的三帧分别为Frame1、Frame2和Frame3,已收到组成Frame1的所有数据包和组成Frame3的所有数据包,未收到组成Frame2的数据包,则H264连续性判断失败,会将Frame3暂存至stash_frames中。在确定出当前收到的视频流包为fec包或者视频帧的首包或者视频帧的末包时,会计算所述当前收到的视频流包的序列号,与第一包的序列号之间的间隔,其中,所述第一包为WebRTC的stash_frames中存储的完整帧的一个包或者已收到的fec包中的一个包,其中,序列号之间的间隔为序列号之间的序列号的数量,比如序列号112和序列号109之间的间隔为2。

S12、将所述间隔与预设的间隔阈值进行比较,并根据比较结果确定所述当前收到的视频流包与所述第一包之间的包是否连续。

本实施例中,需要说明的是,在比较结果为所述间隔小于所述间隔阈值时,确定所述当前收到的视频流包与所述第一包之间的包是否连续,具体可以标识所述当前收到的视频流包与所述第一包之间的包已收到,并更新WebRTC中用于记录当前最后连续的关键帧I帧pid(pid即一帧的最后一个包的序列号)、最后一帧pid与最后一个包的序列号的三元组。此时H264在进行帧间依赖合法性判断时,就可以基于此三元组确定所述当前收到的视频流包与所述第一包之间的包是连续的,使帧间依赖合法性判断通过,从而实现H264与Ulpfec的共存。

本申请实施例提供的视频流包处理方法,先判断当前收到的视频流包是否为fec包或者视频帧的首包或者视频帧的末包;若当前收到的视频流包为fec包或者视频帧的首包或者视频帧的末包,则计算所述当前收到的视频流包的序列号,与WebRTC的stash_frames中存储的完整帧的包的序列号或者已收到的fec包的序列号之间的间隔;将所述间隔与预设的间隔阈值进行比较,并根据比较结果确定所述当前收到的视频流包与所述第一包之间的包是否连续,整个方案用于WebRTC中H264的帧间依赖合法性判断时,能够消除误判的发生,从而使H264与Ulpfec能够共存,从而使H264也可以享受Ulpfec带来的弱网体验优化。

在前述方法实施例的基础上,所述若当前收到的视频流包为fec包或者视频帧的首包或者视频帧的末包,则计算所述当前收到的视频流包的序列号,与第一包的序列号之间的间隔,可以包括:

若当前收到的视频流包为fec包,且判断获知所述stash_frames中存储有序列号小于所述当前收到的视频流包的序列号的完整帧,则计算所述当前收到的视频流包的序列号,与第一帧的末包的序列号之间的间隔,其中,所述第一帧为所述完整帧中距离所述当前收到的视频流包最近的一帧;或者

若当前收到的视频流包为fec包,且判断获知已收到的fec包中存在序列号小于所述当前收到的视频流包的序列号的fec包,则计算所述当前收到的视频流包的序列号,与第一fec包的序列号之间的间隔,其中,所述第一fec包为所述序列号小于所述当前收到的视频流包的序列号的fec包中距离所述当前收到的视频流包最近的fec包;或者

若当前收到的视频流包为fec包,且判断获知所述stash_frames中存储有序列号大于所述当前收到的视频流包的序列号的完整帧,则计算所述当前收到的视频流包的序列号,与第二帧的首包的序列号之间的间隔,其中,所述第二帧为所述完整帧中距离所述当前收到的视频流包最近的一帧;或者

若当前收到的视频流包为fec包,且判断获知已收到的fec包中存在序列号大于所述当前收到的视频流包的序列号的fec包,则计算所述当前收到的视频流包的序列号,与第二fec包的序列号之间的间隔,其中,所述第二fec包为所述序列号大于所述当前收到的视频流包的序列号的fec包中距离所述当前收到的视频流包最近的fec包。

本实施例中,可以理解的是,若当前收到的视频流包为fec包,则计算序列号之间的间隔存在四种情况:

情况一:所述stash_frames中存储有序列号小于所述当前收到的视频流包的序列号的完整帧,此时计算所述当前收到的视频流包的序列号,与所述完整帧中距离所述当前收到的视频流包最近的一帧的末包的序列号之间的间隔。举例:假设视频帧序列中前后相邻的两帧分别为Frame1和Frame2,Frame1包括P1、P2、…、P10共10个数据包,序列号分别为100、101、…、109;Frame1的各个数据包生成的fec包共5个,包括:F1、F2、…、F5,序列号分别为110、111、…、114;Frame2包括P11、P12、…、P20共10个数据包,序列号分别为115、116、…、124。假设当前收到的视频流包为F3,其为fec包,序列号为112,stash_frames中存储有Frame1和Frame3(Frame3的序列号小于Frame1的序列号),这两帧为完整帧,且包含的各个数据包的序列号均小于F3的序列号,但Frame1距离F3最近,则会计算Frame1中的末包(即P10)的序列号(109)与F3的序列号(112)之间的间隔,结果为2。

情况二:已收到的fec包中存在序列号小于所述当前收到的视频流包的序列号的fec包,此时计算所述当前收到的视频流包的序列号,与所述序列号小于所述当前收到的视频流包的序列号的fec包中距离所述当前收到的视频流包最近的fec包的序列号之间的间隔。仍以视频帧Frame1和Frame2为例进行说明,假设当前收到的视频流包为F3,其为fec包,序列号为112,已收到的fec包中fec包F1和f20(序列号假设为80)的序列号小于F3的序列号,但F1距离F3最近,则会计算F1的序列号(110)与F3的序列号(112)之间的间隔,结果为1。

情况三:所述stash_frames中存储有序列号大于所述当前收到的视频流包的序列号的完整帧,此时计算所述当前收到的视频流包的序列号,与所述完整帧中距离所述当前收到的视频流包最近的一帧的首包的序列号之间的间隔。仍以视频帧Frame1和Frame2为例进行说明,假设当前收到的视频流包为F3,其为fec包,序列号为112,stash_frames中存储有Frame2和Frame4(Frame4的序列号大于Frame2的序列号),这两帧为完整帧,且包含的各个数据包的序列号均大于F3的序列号,但Frame2距离F3最近,则会计算Frame2中的首包(即P11)的序列号(115)与F3的序列号(112)之间的间隔,结果为2。

情况四:已收到的fec包中存在序列号大于所述当前收到的视频流包的序列号的fec包,此时计算所述当前收到的视频流包的序列号,与所述序列号大于所述当前收到的视频流包的序列号的fec包中距离所述当前收到的视频流包最近的fec包的序列号之间的间隔。仍以视频帧Frame1和Frame2为例进行说明,假设当前收到的视频流包为F3,其为fec包,序列号为112,已收到的fec包中fec包F5和F10(序列号假设为200)的序列号大于F3的序列号,但F5距离F3最近,则会计算F5的序列号(114)与F3的序列号(112)之间的间隔,结果为1。

在前述方法实施例的基础上,所述若当前收到的视频流包为fec包或者视频帧的首包或者视频帧的末包,则计算所述当前收到的视频流包的序列号,与第一包的序列号之间的间隔,可以包括:

若当前收到的视频流包为视频帧的首包,且判断获知所述stash_frames中存储有序列号小于所述当前收到的视频流包的序列号的完整帧,则计算所述当前收到的视频流包的序列号,与第三帧的末包的序列号之间的间隔,其中,所述第三帧为所述完整帧中距离所述当前收到的视频流包最近的一帧;或者

若当前收到的视频流包为视频帧的首包,且判断获知已收到的fec包中存在序列号小于所述当前收到的视频流包的序列号的fec包,则计算所述当前收到的视频流包的序列号,与第三fec包的序列号之间的间隔,其中,所述第三fec包为所述序列号小于所述当前收到的视频流包的序列号的fec包中距离所述当前收到的视频流包最近的fec包。

本实施例中,可以理解的是,若当前收到的视频流包为某一视频帧的首包,则计算序列号之间的间隔存在两种情况:

情况一:所述stash_frames中存储有序列号小于所述当前收到的视频流包的序列号的完整帧,此时计算所述当前收到的视频流包的序列号,与所述完整帧中距离所述当前收到的视频流包最近的一帧的末包的序列号之间的间隔。仍以视频帧Frame1和Frame2为例进行说明,假设当前收到的视频流包为P11,其为Frame2的首包,序列号为115,stash_frames中存储有Frame1和Frame3(Frame3的序列号小于Frame1的序列号),这两帧为完整帧,且包含的各个数据包的序列号均小于P11的序列号,但Frame1距离P11最近,则会计算Frame1中的末包(即P10)的序列号(109)与P11的序列号(115)之间的间隔,结果为5。

情况二:已收到的fec包中存在序列号小于所述当前收到的视频流包的序列号的fec包,此时计算所述当前收到的视频流包的序列号,与所述序列号小于所述当前收到的视频流包的序列号的fec包中距离所述当前收到的视频流包最近的fec包的序列号之间的间隔。仍以视频帧Frame1和Frame2为例进行说明,假设当前收到的视频流包为F3,其为fec包,序列号为112,已收到的fec包中fec包F1和f20(序列号假设为80)的序列号小于F3的序列号,但F1距离F3最近,则会计算F1的序列号(110)与F3的序列号(112)之间的间隔,结果为1。

在前述方法实施例的基础上,所述若当前收到的视频流包为fec包或者视频帧的首包或者视频帧的末包,则计算所述当前收到的视频流包的序列号,与第一包的序列号之间的间隔,可以包括:

若当前收到的视频流包为视频帧的末包,且判断获知所述stash_frames中存储有序列号大于所述当前收到的视频流包的序列号的完整帧,则计算所述当前收到的视频流包的序列号,与第四帧的末包的序列号之间的间隔,其中,所述第四帧为所述完整帧中距离所述当前收到的视频流包最近的一帧;或者

若当前收到的视频流包为视频帧的末包,且判断获知已收到的fec包中存在序列号大于所述当前收到的视频流包的序列号的fec包,则计算所述当前收到的视频流包的序列号,与第四fec包的序列号之间的间隔,其中,所述第四fec包为所述序列号大于所述当前收到的视频流包的序列号的fec包中距离所述当前收到的视频流包最近的fec包。

本实施例中,可以理解的是,若当前收到的视频流包为某一视频帧的末包,则计算序列号之间的间隔存在两种情况:

情况一:所述stash_frames中存储有序列号大于所述当前收到的视频流包的序列号的完整帧,此时计算所述当前收到的视频流包的序列号,与所述完整帧中距离所述当前收到的视频流包最近的一帧的首包的序列号之间的间隔。仍以视频帧Frame1和Frame2为例进行说明,假设当前收到的视频流包为P10,其为Frame1的末包,序列号为109,stash_frames中存储有Frame2和Frame4(Frame4的序列号大于Frame2的序列号),这两帧为完整帧,且包含的各个数据包的序列号均大于P10的序列号,但Frame2距离P10最近,则会计算Frame2中的首包(即P11)的序列号(115)与P10的序列号(109)之间的间隔,结果为5。

情况二:已收到的fec包中存在序列号大于所述当前收到的视频流包的序列号的fec包,此时计算所述当前收到的视频流包的序列号,与所述序列号大于所述当前收到的视频流包的序列号的fec包中距离所述当前收到的视频流包最近的fec包的序列号之间的间隔。仍以视频帧Frame1和Frame2为例进行说明,假设当前收到的视频流包为F3,其为fec包,序列号为112,已收到的fec包中fec包F5和F10(序列号假设为200)的序列号大于F3的序列号,但F5距离F3最近,则会计算F5的序列号(114)与F3的序列号(112)之间的间隔,结果为1。

在前述方法实施例的基础上,记所述间隔阈值为H,H=f(a * r * frame_size),其中,a为间隔系数,r为冗余度,frame_size为上一帧的帧大小,*表示乘法运算符号,f(x)表示对x向上取整。

本实施例中,可以理解的是,上一帧为所述stash_frames中距离所述当前收到的视频流包最近的完整帧。上一帧的帧大小指上一帧中包含的数据包的数量。a为间隔系数,取值范围可以为0.8~1.2,具体取值可以根据需要设置,此处不再赘述;r为冗余度,用于衡量根据多少数量的数据包生成一个fec包,取值可以根据网络情况确定,也可以取固定值(比如0.25),具体取值可以根据需要设置,此处不再赘述。

参照图2所示,为本申请实施例提供的一种视频流包处理装置的结构示意图,该装置具体包括:

判断单元20,用于判断当前收到的视频流包是否为fec包或者视频帧的首包或者视频帧的末包;

计算单元21,用于若当前收到的视频流包为fec包或者视频帧的首包或者视频帧的末包,则计算所述当前收到的视频流包的序列号,与第一包的序列号之间的间隔,其中,所述第一包为WebRTC的stash_frames中存储的完整帧的一个包或者已收到的fec包中的一个包;

比较单元22,用于将所述间隔与预设的间隔阈值进行比较,并根据比较结果确定所述当前收到的视频流包与所述第一包之间的包是否连续。

本申请实施例提供的视频流包处理装置,借助于判断单元20判断当前收到的视频流包是否为fec包或者视频帧的首包或者视频帧的末包;若当前收到的视频流包为fec包或者视频帧的首包或者视频帧的末包,则借助于计算单元21计算所述当前收到的视频流包的序列号,与第一包的序列号之间的间隔;并借助于比较单元22将所述间隔与预设的间隔阈值进行比较,根据比较结果确定所述当前收到的视频流包与所述第一包之间的包是否连续,整个方案用于WebRTC中H264的帧间依赖合法性判断时,能够消除误判的发生,从而使H264与Ulpfec能够共存,从而使H264也可以享受Ulpfec带来的弱网体验优化。

在前述装置实施例的基础上,所述计算单元,可以用于:

若当前收到的视频流包为fec包,且判断获知所述stash_frames中存储有序列号小于所述当前收到的视频流包的序列号的完整帧,则计算所述当前收到的视频流包的序列号,与第一帧的末包的序列号之间的间隔,其中,所述第一帧为所述完整帧中距离所述当前收到的视频流包最近的一帧;或者

若当前收到的视频流包为fec包,且判断获知已收到的fec包中存在序列号小于所述当前收到的视频流包的序列号的fec包,则计算所述当前收到的视频流包的序列号,与第一fec包的序列号之间的间隔,其中,所述第一fec包为所述序列号小于所述当前收到的视频流包的序列号的fec包中距离所述当前收到的视频流包最近的fec包;或者

若当前收到的视频流包为fec包,且判断获知所述stash_frames中存储有序列号大于所述当前收到的视频流包的序列号的完整帧,则计算所述当前收到的视频流包的序列号,与第二帧的首包的序列号之间的间隔,其中,所述第二帧为所述完整帧中距离所述当前收到的视频流包最近的一帧;或者

若当前收到的视频流包为fec包,且判断获知已收到的fec包中存在序列号大于所述当前收到的视频流包的序列号的fec包,则计算所述当前收到的视频流包的序列号,与第二fec包的序列号之间的间隔,其中,所述第二fec包为所述序列号大于所述当前收到的视频流包的序列号的fec包中距离所述当前收到的视频流包最近的fec包。

在前述装置实施例的基础上,所述计算单元,可以用于:

若当前收到的视频流包为视频帧的首包,且判断获知所述stash_frames中存储有序列号小于所述当前收到的视频流包的序列号的完整帧,则计算所述当前收到的视频流包的序列号,与第三帧的末包的序列号之间的间隔,其中,所述第三帧为所述完整帧中距离所述当前收到的视频流包最近的一帧;或者

若当前收到的视频流包为视频帧的首包,且判断获知已收到的fec包中存在序列号小于所述当前收到的视频流包的序列号的fec包,则计算所述当前收到的视频流包的序列号,与第三fec包的序列号之间的间隔,其中,所述第三fec包为所述序列号小于所述当前收到的视频流包的序列号的fec包中距离所述当前收到的视频流包最近的fec包;或者

若当前收到的视频流包为视频帧的末包,且判断获知所述stash_frames中存储有序列号大于所述当前收到的视频流包的序列号的完整帧,则计算所述当前收到的视频流包的序列号,与第四帧的末包的序列号之间的间隔,其中,所述第四帧为所述完整帧中距离所述当前收到的视频流包最近的一帧;或者

若当前收到的视频流包为视频帧的末包,且判断获知已收到的fec包中存在序列号大于所述当前收到的视频流包的序列号的fec包,则计算所述当前收到的视频流包的序列号,与第四fec包的序列号之间的间隔,其中,所述第四fec包为所述序列号大于所述当前收到的视频流包的序列号的fec包中距离所述当前收到的视频流包最近的fec包。

本申请实施例提供的视频流包处理装置,其实现过程与本申请实施例提供的视频流包处理方法一致,所能达到的效果也与本申请实施例提供的视频流包处理方法相同,在此不再赘述。

将本申请实施例所述的方案应用于云应用(比如云游戏)后,针对弱网及普通网络,对于云游戏进行对比性测试的结果表明:在正常网络环境下,该方案涉及的算法不会带来额外开销;在弱网下,云游戏延迟及卡顿体验都有大幅提升。

如图3所示,本申请实施例提供的一种电子设备,包括:处理器30、存储器31和总线32,所述存储器31存储有所述处理器30可执行的机器可读指令,当电子设备运行时,所述处理器30与所述存储器31之间通过总线32通信,所述处理器30执行所述机器可读指令,以执行如上述视频流包处理方法的步骤。

具体地,上述存储器31和处理器30能够为通用的存储器和处理器,这里不做具体限定,当处理器30运行存储器31存储的计算机程序时,能够执行上述视频流包处理方法。

对应于上述视频流包处理方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述视频流包处理方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:视频编解码设备、方法和计算机可读记录介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!