CN115002526A - 视频帧时延确定方法及装置 - Google Patents
视频帧时延确定方法及装置 Download PDFInfo
- Publication number
- CN115002526A CN115002526A CN202210565064.0A CN202210565064A CN115002526A CN 115002526 A CN115002526 A CN 115002526A CN 202210565064 A CN202210565064 A CN 202210565064A CN 115002526 A CN115002526 A CN 115002526A
- Authority
- CN
- China
- Prior art keywords
- time
- video frame
- rendering
- determining
- delay
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000005540 biological transmission Effects 0.000 claims abstract description 287
- 238000009877 rendering Methods 0.000 claims abstract description 182
- 230000004044 response Effects 0.000 claims description 27
- 230000000153 supplemental effect Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 19
- 230000001915 proofreading effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 23
- 238000013461 design Methods 0.000 description 18
- 238000009825 accumulation Methods 0.000 description 10
- 230000001934 delay Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 102100037351 SERTA domain-containing protein 2 Human genes 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 101100421129 Arabidopsis thaliana SEI2 gene Proteins 0.000 description 1
- 101000700918 Homo sapiens SERTA domain-containing protein 1 Proteins 0.000 description 1
- 101000880116 Homo sapiens SERTA domain-containing protein 2 Proteins 0.000 description 1
- 102100029341 SERTA domain-containing protein 1 Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例提供一种视频帧时延确定方法及装置,该方法包括:获取传输节点转发的视频帧和视频帧的生成时刻,生成时刻为媒体数据生成端生成视频帧的时刻。渲染视频帧,并获取渲染视频帧的渲染时间信息,渲染时间信息为渲染视频帧的渲染时长,或者渲染完成视频帧的渲染结束时刻。根据生成时刻和渲染时间信息,确定视频帧的视频帧时延,视频帧时延为媒体数据生成端生成视频帧至媒体数据播放端渲染完成视频帧之间的时延。本申请的技术方案可以有效的避免统计时延的时候,因为对多级节点以及设备各自独立确定的时延进行累加,所导致的误差的累积,进而可以有效的提升确定的时延的准确性。
Description
技术领域
本申请实施例涉及计算机技术,尤其涉及一种视频帧时延确定方法及装置。
背景技术
目前,视频帧从生成到播放的完整过程,包括从视频帧在推流设备中生成,并且经过多级传输节点的传输,再到达拉流设备中进行渲染,渲染完成后最终实现视频帧的播放。
现有技术中在确定视频帧在多级传输节点中传输的传输时延时,通常是在每一级的节点中独立计算自己到上级节点的时延,之后将多级节点之间的时延进行汇总,从而得到传输时延。以及,在确定视频帧完整处理过程对应的视频帧时延的时候,会确定推流设备生成视频帧到第一个传输节点接收到视频帧的时延,以及会确定视频帧在每两个传输节点之间传输的时延,以及还会确定从最后一个传输节点发送视频帧到拉流设备接收视频帧的时延,之后将多个部分的时延进行累加,从而得到视频帧时延。
然而,无论是传输节点,还是推流设备、拉流设备,在确定时延的时候,都会存在一定的误差,最终将多级时延进行汇总,就会造成误差的累积,因此基于上述介绍的方式确定的视频帧时延以及传输时延都存在准确性较差的问题。
发明内容
本申请实施例提供一种视频帧时延确定方法及装置,以克服确定的视频帧时延以及传输时延的准确性较差的问题。
第一方面,本申请实施例提供一种视频帧时延确定方法,应用于媒体数据播放端,包括:
获取传输节点转发的视频帧和所述视频帧的生成时刻,所述生成时刻为媒体数据生成端生成所述视频帧的时刻;
渲染所述视频帧,并获取渲染所述视频帧的渲染时间信息,所述渲染时间信息为渲染所述视频帧的渲染时长,或者渲染完成视频帧的渲染结束时刻;
根据所述生成时刻和所述渲染时间信息,确定所述视频帧的视频帧时延,所述视频帧时延为所述媒体数据生成端生成所述视频帧至所述媒体数据播放端渲染完成所述视频帧之间的时延。
第二方面,本申请实施例提供一种视频帧时延确定方法,应用于第一传输节点,所述第一传输节点为传输节点集合中的最后一个传输节点,所述传输节点集合中的传输节点用于依次进行数据转发,包括:
获取视频帧和所述视频帧的接收时刻,所述接收时刻为第二传输节点接收到所述视频帧的时刻,所述第二传输节点为所述传输节点集合中的第一个传输节点;
向媒体数据播放端转发所述视频帧,并且确定转发所述视频帧的发送时刻;
根据所述接收时刻和所述发送时刻,确定所述视频帧的传输时延,所述传输时延为所述视频帧在所述转发节点集合中传输所用的时延。
第三方面,本申请实施例提供一种视频帧时延确定装置,应用于媒体数据播放端,包括:
获取模块,用于获取传输节点转发的视频帧和所述视频帧的生成时刻,所述生成时刻为媒体数据生成端生成所述视频帧的时刻;
处理模块,用于渲染所述视频帧,并获取渲染所述视频帧的渲染时间信息,所述渲染时间信息为渲染所述视频帧的渲染时长,或者渲染完成视频帧的渲染结束时刻;
确定模块,用于根据所述生成时刻和所述渲染时间信息,确定所述视频帧的视频帧时延,所述视频帧时延为所述媒体数据生成端生成所述视频帧至所述媒体数据播放端渲染完成所述视频帧之间的时延。
第四方面,本申请实施例提供一种视频帧时延确定装置,应用于第一传输节点,所述第一传输节点为传输节点集合中的最后一个传输节点,所述传输节点集合中的传输节点用于依次进行数据转发;包括:
获取模块,用于获取视频帧和所述视频帧的接收时刻,所述接收时刻为第二传输节点接收到所述视频帧的时刻,所述第二传输节点为所述传输节点集合中的第一个传输节点;
处理模块,用于向媒体数据播放端转发所述视频帧,并且确定转发所述视频帧的发送时刻;
确定模块,用于根据所述接收时刻和所述发送时刻,确定所述视频帧的传输时延,所述传输时延为所述视频帧在所述转发节点集合中传输所用的时延。
第五方面,本申请实施例提供一种电子设备,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如上第一方面或者第二方面所述的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上第一方面或者第二方面所述的方法。
第七方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上第一方面或者第二方面所述的方法。
本申请实施例提供一种视频帧时延确定方法及装置,该方法通过在传输视频帧的时候,将视频帧的生成时刻和视频帧一起传输,最终在媒体数据播放端中,由媒体数据播放端根据视频帧的生成时刻以及渲染视频帧的渲染时间信息,自行的计算视频帧从生成到渲染完成的视频帧时延,因为无需对多级时延进行累加,从而就可以有效的避免误差的累积,进而可以有效的提升确定视频帧时延的准确性。
以及,本申请实施例还提供另一种视频帧时延确定方法及装置,该方法通过将转发视频帧的第一个传输节点接收到视频帧的接收时刻和视频帧一起传输,之后在最后一个传输节点中,根据该接收时刻以及最后一个传输节点发送视频帧的发送时刻,自行的计算视频帧在转发节点集合中传输所用的时延,因此无需对多级时延进行累加,从而就可以有效的避免误差的累积,进而可以有效的提升确定传输时延的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的视频帧的传输过程示意图;
图2为本申请实施例提供的视频帧时延确定方法的流程图;
图3为本申请实施例提供的视频帧时延确定方法的流程图二;
图4为本申请实施例提供的第二校准时间差的实现示意图;
图5为本申请实施例提供的校准视频帧的生成时刻的实现示意图;
图6为本申请实施例提供的获取生成时刻的实现示意图一;
图7为本申请实施例提供的获取生成时刻的实现示意图二;
图8为本申请实施例提供的确定视频帧时延的实现示意图一;
图9为本申请实施例提供的视频帧时延确定方法的流程图三;
图10为本申请实施例提供的确定视频帧时延的实现示意图二;
图11为本申请实施例提供的确定第一校准时间差的信令交互图;
图12为本申请实施例提供的视频帧时延确定方法的流程图四;
图13为本申请实施例提供的视频帧时延确定方法的流程图五;
图14为本申请实施例提供的确定传输时延的实现示意图;
图15为本申请实施例提供的视频帧时延确定装置的结构示意图一;
图16为本申请实施例提供的视频帧时延确定装置的结构示意图二;
图17为本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更好的理解本申请的技术方案,下面对本申请所涉及的相关技术进行进一步的详细介绍。
随着网络技术的不断发展,视频帧传输的相关技术也取得了长足的进步。可以理解的是视频帧的传输可以应用在诸多的场景中,比如说视频直播、视频会议、视频通话等。其中,视频帧的传输的时延是一项重要的技术指标,在诸多方面都有着重要的应用。
比如说可以以视频直播的场景为例,随着短延时直播的出现,将传统视频直播的延时,从5-15秒拉低到了1秒以下。可以理解的是,延时的缩短对电商直播的商品交易总额(Gross Merchandise Volume,GMV)有正向的作用。那么想要准确的衡量延时对于GMV的效果,就需要准确的测量视频帧时延。
再比如说在视频会议或者视频通话的场景下,延时的缩短可以有效的提升用户体验,因此准确的测量视频帧时延也是非常重要的。
下面可以首先结合图1对视频帧的传输过程进行理解,图1为本申请实施例提供的视频帧的传输过程示意图。
如图1所示,在视频帧的传输过程中,存在推流终端设备、至少一个传输节点、拉流终端设备。
其中,推流终端设备可以理解为生产视频帧的终端设备,比如说在视频直播的场景下,推流终端设备可以是主播侧的终端设备。
以及,拉流终端设备可以理解为消费视频帧的终端设备,比如说还是在视频直播的场景下,拉流终端设备可以是观众侧的终端设备。
以及,传输节点可以理解为内容分发网络(Content Delivery Network,CDN)节点。
基于上述图1介绍的视频帧传输系统,下面对现有技术中确定视频帧延时的实现方案进行介绍。
目前,现有技术中在确定视频帧在多级传输节点中传输的传输时延时,通常是在每一级的节点中,使用私有协议独立计算自己到上级节点时间的时延,从而确定每两个相邻的节点之间的延时。之后将多级节点之间的时延进行汇总,从而得到传输时延。
比如说仍然可以结合图1进行理解,如图1所示,假设可以在传输节点1中确定传输节点1和推流终端设备之间的时延1,以及可以在传输节点2中确定传输节点2和传输节点1之间的时延2,以及可以在传输节点3中确定传输节点3和传输节点2之间的时延3,…以及可以在传输节点n中确定传输节点n和传输节点n-1之间的时延n。
然后可以将上述确定的时延1、时延2、时延3、…、时延n进行求和,从而确定视频帧传输的整体时延。
以及,现有技术中在确定视频帧完整处理过程对应的视频帧时延的时候,会确定推流设备生成视频帧到第一个传输节点接收到视频帧的时延,以及会确定视频帧在每两个传输节点之间传输的时延,以及还会确定从最后一个传输节点发送视频帧到拉流设备接收视频帧的时延,之后将多个部分的时延进行累加,从而得到视频帧时延。然而现有技术中这种确定视频帧时延的实现,并没有考虑到视频帧的渲染所需要的时间。
以及,上述介绍的累加以得到最终时延的实现方式,因为无论是传输节点,还是推流终端设备、拉流终端设备,在计算时延的时候都会存在一定的误差,之后再将各级独立确定的时延进行累加得到整体时延,就会造成多级误差的累计。因此上述介绍的方案计算得到的传输时延和视频帧时延,存在准确性较差的问题,难以精确的衡量延时。
针对现有技术中的问题,本申请提出了如下技术构思:生成视频帧的推流终端设备在传输视频帧的时候,可以将视频帧的生成时刻和视频帧一起传输。之后播放视频帧的拉流终端设备在接收到视频帧和生成时刻之后,就可以根据生成时刻以及渲染时间信息,自行的计算视频帧从生成到渲染完成的延时,从而可以有效的避免时延误差的累积,以提升确定的视频帧时延的准确性。
以及,传输视频帧的第一个传输节点在传输视频帧的时候,可以将接收到视频帧的接收时刻和视频帧一起传输。之后传输视频帧的最后一个传输节点在接收到视频帧和接收时刻之后,就可以根据接收时刻自行的计算视频帧传输的延时了,从而可以有效的避免时延误差的累积,以提升确定的传输时延的准确性。
在上述介绍内容的基础上,下面结合具体的实施例对本申请提供的具体方法进行介绍。
首先需要说明的是,视频帧传输的时延存在多种,比如说可以存在视频帧时延,其中视频帧时延是指视频帧从推流侧产生,到拉流侧接收到同一个视频帧,并且渲染到拉流终端设备的屏幕上,这中间的整体时间消耗。
再比如说还可以存在传输时延,可以理解,视频帧在推流侧至拉流侧的中间传输过程中,会经过多个传输节点的转发,其中传输时延是指从视频帧到达第一个传输节点开始,到视频帧从最后一个传输节点转发出去,这中间整体的时间消耗。
其中视频帧时延和传输时延的确定存在一些差别,下面针对确定视频帧时延和传输时延的实现分别进行介绍。
首先对确定视频帧时延的实现方式进行介绍,下面结合图2进行说明,图2为本申请实施例提供的视频帧时延确定方法的流程图。
如图2所示,该方法包括:
S201、获取传输节点转发的视频帧和视频帧的生成时刻,生成时刻为媒体数据生成端生成视频帧的时刻。
首先需要说明的是,本实施例应用于媒体数据播放端,在一种可能的实现方式中,媒体数据播放端比如说可以是上述介绍的拉流终端设备,也就是获取视频帧并且对视频帧进行播放的终端设备。
在本实施例中,媒体数据播放端可以获取传输节点转发的视频帧,以及媒体数据播放端还可以获取传输节点转发的视频帧的生成时刻。
以及可以理解的是,视频帧要从媒体数据生成端发送至媒体数据播放端,中间会经过至少一个传输节点的转发,其中至少一个传输节点可以构成一个传输节点集合,这些传输节点集合中的传输节点用于依次进行视频帧的转发。最终,媒体数据播放端会和传输节点集合中的最后一个传输节点进行直接的交互,从而获取到视频帧和视频帧的生成时刻。
在一种可能的实现方式中,此处的传输节点可以理解为上述介绍的CDN节点,本实施例对传输节点的具体实现方式不做限制,只要其是在媒体数据播放端和媒体数据生成端之间进行数据转发的节点即可。
以及,本实施例中的视频帧是媒体数据生成端生成的,其中媒体数据生成端就可以理解为上述介绍的推流终端设备。因此,伴随视频帧一起发送的生成时刻,就可以是媒体数据生成端确定的。
同时还需要理解的是,媒体数据播放端、媒体数据生成端、以及每个传输节点都存在自己的系统时间,并且媒体数据播放端、媒体数据生成端、和各个传输节点的系统时间可能并不是同步的,为了在同一个时间标准下进行有效的时延统计,因此在一种可能的实现方式中,媒体数据播放端、媒体数据生成端、和各个传输节点比如说可以以一个固定机器的系统时间为基准进行时间校对,从而确定各自的时间偏移值。
那么媒体数据生成端确定的生成时刻,就可以是生成视频帧时媒体数据生成端的系统时刻,偏移媒体数据生成端对应的时间偏移值之后的时刻。从而可以保证后续的时延计算都是以同一个系统时间为标准进行的计算,进而可以有效的避免计算时延是误差的干扰。
S202、渲染视频帧,并确定渲染视频帧的渲染时间信息,渲染时间信息为渲染视频帧的渲染时长,或者渲染完成视频帧的渲染结束时刻。
在媒体数据播放端获取到视频帧之后,就可以对视频帧进行渲染,以实现在媒体数据播放端的屏幕上播放视频帧。
以及,因为视频帧时延是从视频帧的生成到渲染完成的时延,因此媒体数据播放端还可以确定渲染视频帧的渲染时间信息。
在本实施例中,渲染时间信息可以是渲染视频帧的渲染时长,其中,渲染时长就是从媒体数据播放端接收到视频帧,到视频帧渲染完成的时长。例如第一设备可以从接收到视频帧开始计时,到视频帧渲染完成结束技术,就可以确定视频帧的渲染时长。
或者,本实施例中的渲染时间信息还可以是渲染完成视频帧的渲染结束时刻。与上述介绍的生成时刻类似,此处的渲染结束时刻也可以是经过时间校正之后的时刻。
S203、根据生成时刻和渲染时间信息,确定视频帧的视频帧时延,视频帧时延为媒体数据生成端生成视频帧至媒体数据播放端渲染完成视频帧之间的时延。
在获取视频帧的生成时刻之后,媒体数据播放端就可以确定视频帧是什么时刻生成的,以及在获取视频帧的渲染时间信息之后,媒体数据播放端就可以确定渲染视频帧需要花费的时间,或者确定渲染视频帧结束的时刻。因此媒体数据播放端就可以自行根据生成时刻和渲染时间信息,确定视频帧的视频帧时延。本实施例中的视频帧时延就是从媒体数据生成端生成视频帧到媒体数据播放端渲染完成视频帧之间所存在的时延。
本申请实施例提供的视频帧时延确定方法,包括:获取传输节点转发的视频帧和视频帧的生成时刻,生成时刻为媒体数据生成端生成视频帧的时刻。渲染视频帧,并获取渲染视频帧的渲染时间信息,渲染时间信息为渲染视频帧的渲染时长,或者渲染完成视频帧的渲染结束时刻。根据生成时刻和渲染时间信息,确定视频帧的视频帧时延,视频帧时延为媒体数据生成端生成视频帧至媒体数据播放端渲染完成视频帧之间的时延。通过在传输视频帧的时候,将视频帧的生成时刻和视频帧一起传输,最终在媒体数据播放端中,由媒体数据播放端根据视频帧的生成时刻以及渲染视频帧的渲染时间信息,自行的计算视频帧从生成到播放的视频帧时延,因为无需对多级时延进行累加,从而就可以有效的避免误差的累积,进而可以有效的提升确定的时延的准确性。
在上述介绍内容的基础上,可以理解的是,在确定视频帧的视频帧时延的时候,可以根据生成时刻和渲染时间信息来确定,而其中的渲染时间信息可以是渲染视频帧的渲染时长,或者还可以是渲染完成视频帧的渲染结束时刻。针对这两种渲染时间信息,确定视频帧时延的实现方式存在一些差异,因此下面针对这两种情况分别进行说明。
首先结合具体的实施例对渲染时间信息是渲染时长的实现方式进行说明,下面结合图3至图8对进行详细介绍。图3为本申请实施例提供的视频帧时延确定方法的流程图二,图4为本申请实施例提供的第二校准时间差的实现示意图,图5为本申请实施例提供的校准视频帧的生成时刻的实现示意图,图6为本申请实施例提供的获取生成时刻的实现示意图一,图7为本申请实施例提供的获取生成时刻的实现示意图二,图8为本申请实施例提供的确定视频帧时延的实现示意图一。
如图3所示,该方法包括:
S301、获取传输节点转发的视频帧和视频帧的生成时刻,生成时刻为媒体数据生成端生成视频帧的时刻。
其中,S301的实现方式与上述S201介绍的实现方式类似,此处对具体的实现方式不再赘述。
下面对视频帧的生成时刻再进行进一步的详细介绍,基于上述介绍可以确定的是,因为媒体数据播放端、媒体数据生成端、各个传输节点的系统时间并不统一,因此可以针对实际的视频帧生成时刻进行校准,以得到当前介绍的生成时刻。
在一种可能的实现方式中,生成时刻可以是待校准生成时刻偏移第二校准时间差所得到的时刻。其中,待校准生成时刻就是媒体数据生成端生成视频帧的时候,媒体数据生成端中的时刻。以及第二校准时间差是媒体数据生成端相对于预设服务器的时间差,本实施例中的预设服务器是专门用于进行时间校准的服务器。也就是说所有的设备和节点都以预设服务器的时间为基准进行时间的校准。
例如可以结合图4对媒体数据生成端的第二校准时间差进行理解,如图4所示,假设在时刻1,预设服务器的系统时间为00:00:00,以及在同一时刻,媒体数据生成端的系统时间为00:00:03。本实施例中以预设服务器的系统时间作为时间校准的基准,那么可以确定媒体数据生成端相对于预设服务器的第二校准时间差就是图4所示的3秒,也就是说媒体数据生成端的时间相比于预设服务器提前了3秒。
在实际实现过程中,第二校准时间差的具体实现取决于实际的系统时间。以及,第二校准时间差可以是正的,此时可以理解为媒体数据生成端的时间相比于预设服务器提前了,或者第二校准时间差也可以是负的,此时可以理解为媒体数据生成端的时间相比于预设服务器延后了。
因此媒体数据生成端在生成视频帧的时候,可以首先将当时媒体数据生成端中的时刻确定为待校准生成时刻,其中的待校准生成时刻就是媒体数据生成端直接的、未经校准的系统时刻。然而,因为当前需要以预设服务器的系统时间作为标准,因此需要对待校准生成时刻进行校准,从而确定校准后的生成时刻。其中,生成时刻就是待校准生成时刻偏移第二校准时间差所得到的时刻。
比如说可以结合图5进行理解,假设继续沿用上述示例,假设媒体数据生成端相对于预设服务器的第二校准时间差是3秒,以及参照图5,假设在时刻a媒体数据生成端生成了视频帧,其中时刻a是媒体数据生成端生成视频帧时的系统时间,因此时刻a就是上述介绍的待校准生成时刻。之后,可以将时刻a偏移第二校准时间差,从而得到时刻b,那么时刻b就是本实施例中的生成时刻。
以一个具体的示例进行理解,假设时刻a为12:30:31,那么就可以确定媒体数据生成端在12:30:31这个时刻生成了视频帧,以及假设媒体数据生成端的第二校准时间差是3秒,那么可以将12:30:31这个待校准生成时刻向后偏移3秒,从而得到校准后的生成时刻12:30:34。
通过对待校准的生成时间根据第二校准时间差进行偏移,从而可以保证发送的生成时间是以预设服务器的时间为基准进行校准的,进而可以保证所有的设备和节点都以相同的系统时间为基准进行时间的对齐,以有效的消除系统时间的差异所导致的误差。
上述介绍了媒体数据生成端确定视频帧的生成时刻的一系列实现方式,基于上述介绍可以确定的是,生成时刻是和视频帧一起传输的,下面再对生成时刻的传输方式进行介绍。
在一种可能的实现方式中,媒体数据播放端在获取视频帧的生成时刻的时候,可以是接收传输节点转发的视频帧对应的补充增强信息(Supplemental EnhancementInformation),其中,SEI位于视频帧之后,在SEI中包括上述介绍的生成时刻。因此媒体数据播放端可以在补充增强信息中获取生成时刻。
比如说可以结合图6进行理解,如图6所示,可以理解的是,SEI存在与两个视频帧之间,用于提供一些补充信息。在一种可能的实现方式中,媒体数据生成端可以将视频帧的生成时刻写入在视频帧之后的SEI中,以实现在视频流中就实现对生成时刻的传输。
比如说参照图6,媒体数据生成端可以在视频帧1之后的SEI1中写入视频帧1的生成时刻,则媒体数据播放端可以在SEI1中获取视频帧1的生成时刻。以及,媒体数据生成端可以在视频帧2之后的SEI2中写入视频帧2的生成时刻,则媒体数据播放端可以在SEI2中获取视频帧2的生成时刻。
其中,在视频帧之后的SEI中写入视频帧的生成时刻,以实现将视频帧和生成时刻的同步传输,可以保证生成时刻的传输不受传输协议的影响,进而可以有效的提升传输生成时刻的有效性和普遍性。
或者在另一种可能的实现方式中,在传输视频帧的时候,可以是以协议报文的方式传输视频帧的。则媒体数据播放端在获取视频帧的生成时刻的时候,可以是接收传输节点转发的视频帧对应的报文,之后在报文的预设字段中获取生成时刻。
其中,当视频帧的传输协议是实时传输协议(Realtime Transport Protocol,RTP)协议时,预设字段比如说可以是报文的扩展头字段;或者,当视频帧的传输协议是实时消息传输协议(Real Time Messaging Protocol,RTMP)时,预设字段比如说可以是报文的动作消息格式(Action Message Format,AMF)数据字段。本实施例对预设字段的具体实现不做限制,其可以根据视频帧传输协议的不同进行适应性的扩展,只要预设字段是传输视频帧的协议报文中的字段,并且可以写入额外的信息即可。
比如说以RTP协议为例,可以结合图7进行理解,如图7所示,媒体数据生成端可以将视频帧的生成时刻写入在协议报文的扩展头中,以基于RTP协议实现对生成时刻的传输。以及视频帧比如说存在于协议报文中的数据部分。之后媒体数据播放端可以在报文的扩展头中获取视频帧的生成时刻。
其中,在传输视频帧的报文中的预设字段中写入视频帧的生成时刻,以实现将视频帧和生成时刻的同步传输,可以实现灵活的根据不同的视频传输协议,适应性的实现对生成时刻的传输,进而可以有效的提升传输生成时刻的灵活性。
S302、渲染视频帧,并获取渲染视频帧的渲染时长。
其中,S302的实现方式与上述S202介绍的实现方式类似,此处不再赘述。
需要说明的是,在本实施中,渲染时间信息是渲染视频帧的渲染时长。在一种可能的实现方式中,媒体数据播放端可以从接收到视频帧开始计时,到渲染视频帧完成结束计时,根据计时器的计时信息确定渲染视频帧的渲染时长。或者,还可以通过确定接收到视频帧的时刻和视频帧渲染完成的时刻,来确定渲染视频帧的渲染时长。本实施例对确定渲染时长的具体实现方式不做限制,但是可以理解的是,因为渲染时长是时长信息,因此媒体数据播放端确定渲染时长的时候,无需对相关的时刻进行校正。
同时还需要说明的是,在目前的相关技术中,媒体数据播放端本身就是会确定视频帧的渲染时长的,因此本实施例中通过渲染时长和后续的生成时刻、接收时刻,来确定视频帧的视频帧时延,可以有效的保证确定视频帧时延兼容当前的设备技术。
S303、将接收到视频帧时,媒体数据播放端中的时刻确定为待校准接收时刻。
可以理解的是,媒体数据播放端确定的渲染时长,是指从接收到视频帧开始,到渲染视频帧结束所花费的时长。因此媒体数据播放端要确定从视频帧生成到视频帧播放的视频延时,还需要进一步的确定媒体数据播放端接收到视频帧的准确时刻。
因此,媒体数据播放端可以将接收到视频帧时,媒体数据播放端中的时刻确定为待校准接收时刻。其中,待校准接收时刻就是媒体数据播放端自己的系统时刻。
S304、获取媒体数据播放端相对于预设服务器的第一校准时间差,其中,预设服务器为用于进行时间校准的服务器。
本实施例中,为了对待校准接收时刻和预设服务器的系统时间进行对齐,还需要获取媒体数据播放端相对于预设服务器的第一校准时间差。本申请中的所有设备和节点都以预设服务器为基准,确定校准时间差,从而可以保证所有的设备和节点都可以具有相同的时间标准,因此第一校准时间差与上述介绍的第二校准时间差类似,此处不再赘述。
S305、将待校准接收时刻偏移第一校准时间差所得到的时刻,确定为接收时刻。
之后,可以将待校准接收时刻偏移第一校准时间差,将偏移之后的时刻确定为接收时刻。可以理解的是,此处的接收时刻和上述介绍的发送时刻,都是以预设服务器的时间为基准进行了时间对齐的,因此基于接收时刻和发送时刻来确定后续的延时,可以有效的避免因为不同的设备之间的系统时间的偏差所带来的影响。
比如说可以结合图8进行理解,如图8所示,假设媒体数据播放端在t3时刻接收到视频帧,其中t3时刻是媒体数据播放端接收到视频帧的时候自己的系统时刻,则t3时刻就是待校准的接收时刻。因此可以将待校准接收时刻t3偏移第一校准时间差(用d1表示)之后的时刻t4,确定为接收时刻。
S306、将接收时刻和生成时刻的差值确定为第一时长。
本实施例中的接收时刻是媒体数据播放端校准之后的接收到视频帧的时刻,以及本实施例中的生成时刻是媒体数据生成端校准之后的生成视频帧的时刻,并且接收时刻和生成时刻的校准都是以预设服务器的时间作为基准的。因此接收时刻和生成时刻就是同一个时间标准下的时刻,所以可以直接将接收时刻和生成时刻的差值确定为第一时长。
其中,第一时长本质上就是从媒体数据生成端生成视频帧,到媒体数据播放端接收到视频帧中间的时长。
比如说可以结合图8进行理解,首先对图8中还需要说明的是,假设媒体数据生成端在t1时刻生成视频帧,其中t1时刻是媒体数据生成端生成视频帧的时候自己的系统时刻,则t1时刻就是待校准的生成时刻。因此可以将待校准生成时刻t1偏移第二校准时间差(用d2表示)之后的时刻t2,确定为生成时刻。
基于图8可以确定的是,我们已经得到了生成时刻t2和接收时刻t4,那么就可以将接收时刻t4和生成时刻t2的差值确定为图8所示的第一时长。
S307、将第一时长和渲染时长之和,确定为视频帧时延。
因为本实施例中的视频帧时延是指,从媒体数据生成端生成视频帧到媒体数据播放端渲染完成视频帧之间的时延,因此在确定第一时长之后,还需要进一步的确定第一时长和渲染时长之和,从而得到本实施例中的视频帧时延。如图8所示,可以将第一时长和渲染时长之和,确定为视频帧时延。
本申请实施例提供的视频帧时延确定方法,通过将视频帧和视频帧的生成时刻同时传输给媒体数据播放端,其中生成时刻是经过了第二校准时间差的校准的。以及媒体数据播放端还可以确定接收到视频帧的接收时刻,其中接收时刻同样是经过了第一校准时间差的校准的,第一校准时间差和第二校准时间差都是相对于预设服务器的时间差,因此可以保证生成时刻和接收时刻都是对应于对齐的时间标准的,之后根据生成时刻和接收时刻首先确定第一时长,此处的第一时长是视频帧从媒体数据生成端生成到媒体数据播放端接收的时长。以及媒体数据播放端还可以获取渲染视频帧的渲染时长,之后再将第一时长和渲染时长之和确定为视频帧时延,从而可以有效的得到视频帧从生成到播放的视频帧时延,因为不存在多级各自独立确定的时延因为累加所导致的误差的累积,因此可以有效的提升确定视频帧时延的准确性。同时,通过获取渲染时延,并且根据渲染时延来确定视频帧时延,可以有效确定视频帧时延的时延兼容当前的设备技术。
上述实施例介绍了根据渲染时间信息是渲染时长时,确定视频帧时延的实现方式。下面再结合图9至图10渲染时间信息是渲染结束时刻时,确定视频帧时延的实现方式进行介绍。图9为本申请实施例提供的视频帧时延确定方法的流程图三,图10为本申请实施例提供的确定视频帧时延的实现示意图二。
如图9所示,该方法包括:
S901、获取传输节点转发的视频帧和视频帧的生成时刻,生成时刻为媒体数据生成端生成视频帧的时刻。
S902、渲染视频帧。
其中,S901、S902的实现方式与上述介绍的S301、S302的实现方式相同,此处不再赘述。
S903、将渲染完成视频帧时,媒体数据播放端中的时刻确定为待校准结束时刻。
本实施例中的渲染时间信息为渲染结束时刻,下面对确定渲染结束时刻的实现方式进行介绍。
可以理解的是,媒体数据播放端在渲染完成视频帧之后,可以首先将媒体数据播放端中的时刻确定为待校准结束时刻。其中,待校准结束时刻是渲染完成时,媒体数据播放端自身的系统时刻。
S904、获取媒体数据播放端相对于预设服务器的第一校准时间差,其中,预设服务器为用于进行时间校准的服务器。
同样的,为了保证所有的时刻都以相同的时间为基准,本实施例中可以获取媒体数据播放端相对于预设服务器的第一校准时间差,第一校准时间差的具体实现可以参照上述实施例的介绍,此处不再赘述。
S905、将待校准结束时刻偏移第一校准时间差所得到的时刻,确定为渲染结束时刻。
之后,可以将待校准结束时刻偏移第一校准时间差,从而得到校准之后的渲染结束时刻。此处的渲染结束时刻和上述的生成时刻就是位于同一个时间标准下的时刻,因此之后可以直接根据渲染结束时刻和生成时刻来确定视频帧时延。
S906、将渲染时刻和生成时刻的差值,确定为视频帧的视频帧时延。
本实施例中的视频帧时延指的就是从媒体数据生成端生成视频帧,到媒体数据播放端渲染完成视频帧的时延。
同时,因为本实施例中的渲染时刻和生成时刻当前是进行过时间对齐的,因此可以直接将渲染时刻和生成时刻的差值,确定为视频帧的时延。
比如说可以结合图10对上述介绍的过程进行理解,如图10所示,假设媒体数据生成端在t1时刻生成视频帧,其中t1时刻是媒体数据生成端生成视频帧的时候自己的系统时刻,则t1时刻就是待校准的生成时刻。因此可以将待校准生成时刻t1偏移第二校准时间差(用d2表示)之后的时刻t2,确定为生成时刻。
以及,假设媒体数据播放端在t3时刻接收到视频帧,在接收到视频帧时候开始进行视频帧的渲染,并且在t5时刻渲染完成视频帧,其中t5时刻是媒体数据播放端渲染完成视频帧的时候自己的系统时刻,则t5就是待校准结束时刻。因此可以将待校准结束时刻t5偏移第一校准时间差(用d1表示)之后的时刻t6,确定为渲染结束时刻。
因为生成时刻t2和渲染结束时刻t6都是基于同一个基准进行了时间校准的,因此可以将渲染结束时刻t6和生成时刻t2的差值,确定为视频帧时延,进而可以简单有效的确定视频帧从生成到播放的视频帧时延。
本申请实施例提供的视频帧时延确定方法,通过将视频帧和视频帧的生成时刻同时传输给媒体数据播放端,其中生成时刻是经过了第二校准时间差的校准的。以及媒体数据播放端还可以确定渲染视频帧完成的渲染结束时刻,其中渲染结束时刻同样是经过了第一校准时间差的校准的,第一校准时间差和第二校准时间差都是相对于预设服务器的时间差,因此可以保证生成时刻和渲染结束时刻都是基于对齐的时间来确定的,之后直接将渲染结束时刻和生成时刻的差值确定为视频帧时延,从而可以简单有效的实现对视频帧时延的确定,降低了确定视频帧时延的繁琐性。
基于上述介绍可以确定的是,上述介绍内容中的接收时刻和渲染结束时刻都是根据第一校准时间差校准之后的,下面再结合图11对获取媒体数据播放端相对于预设服务器的第一校准时间差的实现方式进行介绍。图11为本申请实施例提供的确定第一校准时间差的信令交互图。
如图11所示,方法包括:
S1101、媒体数据播放端向预设服务器发送第一校对报文,其中,第一校对报文中包括媒体数据播放端发送第一校对报文的第一时刻。
在媒体数据播放端进行时间校对时,媒体数据播放端可以首先向预设服务器发送第一校对报文,在第一校对报文中包括媒体数据播放端发送第一校对报文的第一时刻。假设可以用T1表示第一时刻,可以理解的是,当前是进行时间校对的过程,因此第一时刻就是媒体数据播放端发送第一校对报文的时候,自己的系统时间。
S1102、预设服务器确定接收第一校对报文的第二时刻。
预设服务器在接收到媒体数据播放端发送的第一校对报文之后,可以确定接收到第一校对报文的第二时刻。假设可以用T2表示第二时刻。
同样的,第二时刻就是预设服务器接收第一校对报文的时候,自己的系统时间。
S1103、预设服务器向媒体数据播放端发送第一校对报文对应的第一响应报文,其中,第一响应报文中包括第一时刻、第二时刻、预设服务器发送第一响应报文的第三时刻。
随后,预设服务器可以向媒体数据播放端发送第一校对报文对应的第一响应报文。在第一响应报文中,可以包括媒体数据播放端发送第一校对报文的第一时刻T1、预设服务器接收第一校对报文的第二时刻T2、以及预设服务器发送第一响应报文的第三时刻T3。
同样的,第三时刻就是预设服务器发送第一响应报文的时候,自己的系统时间。
S1104、媒体数据播放端确定接收到第一响应报文的第四时刻。
媒体数据播放端随后可以接收第一响应报文,并且可以确定接收到第一响应报文的第四时刻T4。其中,第四时刻就是媒体数据播放端接收第一响应报文的时候自己的系统时间。
S1105、媒体数据播放端根据第一时刻、第二时刻、第三时刻、第四时刻,确定第一校准时间差。
媒体数据播放端在确定上述介绍的第一时刻T1、第二时刻T2、第三时刻T3、第四时刻T4之后,就可以根据这四个时刻来确定媒体数据播放端相对于预设服务器的第一校准时间差了。
在一种可能的实现方式中,比如说可以将第二时刻和第一时刻的差值确定为第一偏差,以及将第三时刻和第四时刻的差值确定为第二偏差,之后将第一偏差和第二偏差的平均值,确定为第一校准时间差。
可以结合如下公式进行理解:offset=((T2-T1)+(T3-T4))/2,其中,offset就是第一校准时间差。
可以理解的是,第二时刻T2和第一时刻T1之间的第一偏差本身已经是媒体数据播放端相对于预设服务器的时间偏差了,同样的,第三时刻T3和第四时刻T4之间的第二偏差本身也已经是媒体数据播放端相对于预设服务器的时间偏差了。只是说第一偏差和第二偏差是两个不同的数据传输方向得到的偏差,本实施例中再进一步的对第一偏差和第二偏差求平均,以确定第一校准时间差,从而可以有效的保证确定的第一校准时间差的准确性。
此处还需要对本实施例中的预设服务器进行进一步的详细介绍,可以理解的是,本申请中的所有设备、节点都会计算相对于预设服务器的校准时间差,也就是说大家都已预设服务器的时间作为基准。然而,本实施例对预设服务器本身的系统时间精确性是没有要求的,也就是说本实施例中不要求预设服务器的时间必须是非常精确的时间,其和精确的时间存在一些偏差也没有关系,只要所有的设备和节点都以同一个预设服务器的时间为基准来进行时间校正,就可以有效的保证基于校正之后的相关时刻来确定时延的准确性和有效性。基于此,本申请中统一的相对于预设服务器来进行时间的校准,而对预设服务器本身的要求又比较低,从而可以有效的降低时间校准的难度要求,提升时间校准的可行性和简易性。
在实际实现过程中,各设备和节点只要支持上述介绍的时间校准协议,例如就可以定时的进行上述的时间校准过程。或者,还可以基于手动触发进行上述的时间校准过程,本实施例对此不做限制。
其中,媒体数据生成端同样会确定相对于预设服务器的第二校准时间差,其实现方式与上述介绍的确定第一校准时间差的实现方式类似,此处不再赘述。
上述各实施例介绍了确定视频帧从生成到播放的视频帧时延的相关实现方式。下面再对确定视频帧从到达第一个传输节点开始,到视频帧从最后一个传输节点转发出去的传输延时的确定进行介绍。
首先结合图12进行说明,图12为本申请实施例提供的视频帧时延确定方法的流程图四。
如图12所示,该方法包括:
S1201、获取视频帧和视频帧的接收时刻,接收时刻为第二传输节点接收到视频帧的时刻,第二传输节点为传输节点集合中的第一个传输节点。
首先需要说明的是,本实施例应用于第一传输节点。可以理解的是,视频帧在推流终端设备和拉流终端设备之间传输时,会经过至少一个传输节点的转发。在一种可能的实现方式中,中间转发视频帧的这些传输节点可以组成一个传输节点集合,在传输节点集合中的传输节点用于依次进行数据的转发。
而本实施例中的第一传输节点,就可以是传输节点集合中的最后一个传输节点。也就是说,第一传输节点会直接向拉流终端设备发送视频帧及相关数据。
具体的,本实施例中的第一传输节点可以获取视频帧以及视频帧的接收时刻,其中,视频帧以及视频帧的接收时刻可以是第一传输节点之前的传输节点转发给第一传输节点的。或者,如果传输节点集合中仅仅包括第一传输节点这一个传输节点的话,那么视频帧也有可能是推流终端设备发送给第一传输节点的,而视频帧的接收时刻就是第一传输节点自行确定的。
本实施例中的接收时刻是第二传输节点接收到视频帧的时刻,第二传输节点是上述介绍的传输节点集合中的第一个传输节点。需要额外说明的是,如果在传输节点集合中仅仅包括第一传输节点这一个传输节点的话,那么本实施例中的第一传输节点和第二传输节点就可以是同一个传输节点。
与上述实施例介绍的类似,为了后续有效的确定时延,此处的接收时刻就可以是第二传输节点进行过校正之后的时刻。
S1202、向媒体数据播放端转发视频帧,并且确定转发视频帧的发送时刻。
第一传输节点在获取到视频帧之后,就需要向媒体数据播放端转发视频帧,因为当前实施例中需要确定的传输时延,是视频帧在转发节点集合中传输所用的时延,因此第一传输节点可以确定转发视频帧的发送时刻。同样的,为了后续有效的确定时延,此处的发送时刻就可以是第一传输节点进行过校正之后的时刻。
S1203、根据接收时刻和发送时刻,确定视频帧的传输时延,传输时延为视频帧在转发节点集合中传输所用的时延。
本实施例中确定了媒体数据生成端接收视频帧的接收时刻,还确定了媒体数据播放端发送视频帧的发送时刻,其中媒体数据生成端是传输节点集合中的第一个传输节点,以及媒体数据播放端是传输节点集合中的最后一个传输节点,因此基于接收时刻可以发送时刻,就可以有效的确定视频帧在转发节点集合中传输所用的传输时延。
本申请实施例提供的视频帧时延确定方法,包括:获取视频帧和视频帧的接收时刻,接收时刻为第二传输节点接收到视频帧的时刻,第二传输节点为传输节点集合中的第一个传输节点。向媒体数据播放端转发视频帧,并且确定转发视频帧的发送时刻。根据接收时刻和发送时刻,确定视频帧的传输时延,传输时延为视频帧在转发节点集合中传输所用的时延。通过将转发视频帧的第一个传输节点接收到视频帧的接收时刻可以视频帧一起传输,之后在最后一个传输节点中,通过该接收时刻,以及最后一个传输节点发送视频帧的发送时刻,自行的计算视频帧在转发节点集合中传输所用的时延,因此无需对多级设备或者节点独立确定的时延进行累加,从而就可以有效的避免误差的累积,进而可以有效的提升确定的时延的准确性。
在上述介绍内容的基础上,下面结合图13至图14对确定传输时延的实现方式进行进一步的详细介绍。图13为本申请实施例提供的视频帧时延确定方法的流程图五,图14为本申请实施例提供的确定传输时延的实现示意图。
如图13所示,该方法包括:
S1301、获取视频帧和视频帧的接收时刻,接收时刻为第二传输节点接收到视频帧的时刻,第二传输节点为传输节点集合中的第一个传输节点。
其中,S1302的实现方式与上述S1201介绍的实现方式类似,此处对具体的实现方式不再赘述。
同时可以进一步说明的是,本实施例中的接收时刻是第二传输节点进行了时间校对之后的时刻。因此在一种可能的实现方式中,接收时刻为待校准接收时刻偏移第二校准时间差所得到的时刻。其中,待校准接收时刻为第二传输节点接收到视频帧时,第二传输节点中的时刻。第二校准时间差为第二传输节点相对于预设服务器的时间差。第二校准时间差与上述实施例介绍的类似,只是本实施例中的第二校准时间差是第二传输节点的,具体的实现方式可以参照上述实施例的介绍,此处不再赘述。
例如还可以结合图13进行进一步理解,如图13所示,假设第二传输节点在t1时刻接收到视频帧,其中t1时刻是第二传输节点接收到视频帧的时候自己的系统时刻,则t1时刻就是待校准的接收时刻。因此可以将待校准接收时刻t1偏移第二校准时间差(用d2表示)之后的时刻t2,确定为接收时刻。
以及,第二传输节点发送接收时刻的实现方式可以是在补充增强信息(SEI)中发送。
因此在一种可能的实现方式中,第一传输节点在获取接收时刻的时候,可以接收视频帧对应的补充增强信息,其中补充增强信息位于视频帧之后,补充增强信息中包括接收时刻。之后第一传输节点在补充增强信息中获取接收时刻。
进一步的,因为第一传输节点之后需要将视频帧以及补充增强信息再转发给拉流终端设备,基于上述实施例的介绍可以确定的是,在补充增强信息中还有可能包括推流终端设备写入的发送时刻,那么为了使得拉流终端设备快速有效的获取到生成时刻,以确定视频帧时延。第一传输节点在补充增强信息中获取到接收时刻之后,可以在补充增强信息中删除接收时刻,以避免对拉流终端设备造成干扰。
或者,第二传输节点发送接收时刻的实现方式可以是在视频帧对应的报文的预设字段中发送。
因此在一种可能的实现方式中,第一传输节点在获取接收时刻的时候,可以接收视频帧对应的报文,在报文的预设字段中获取接收时刻。
与上述介绍的类似,为了避免对拉流终端设备造成干扰,以使得拉流终端设备快速有效的获取到生成时刻,以确定视频帧时延。第一传输节点在报文的预设字段中获取到接收时刻之后,可以在报文的预设字段中删除接收时刻。
S1302、向媒体数据播放端转发视频帧。
其中,S1302的实现方式与上述介绍的S1202的实现方式类似,此处不再赘述。
S1303、将转发视频帧时,第一传输节点中的时刻确定为待校准转发时刻。
为了确定第一传输节点发送视频帧的准确时刻,第一传输节点可以首先将转发视频帧时,第一传输节点自身的系统时刻确定为待校准转发时刻。
S1304、获取第一传输节点相对于预设服务器的第一校准时间差,其中,预设服务器为用于进行时间校准的服务器。
之后,第一传输节点可以获取自身相对于预设服务器的第一校准时间差。其中,第一传输节点获取第一校准时间差的实现方式与上述实施例介绍的类似,此次不再赘述。
S1305、将待校准转发时刻偏移第一校准时间差所得到的时刻,确定为发送时刻。
之后,可以将待校准转发时刻偏移第一校准时间差,将偏移之后的时刻确定为发送时刻。
比如说可以结合图8进行理解,如图8所示,假设第一传输节点在t3时刻接收到视频帧,随后第一传输节点在t4时刻转发视频帧,其中t4时刻是第一传输节点转发视频帧的时候自己的系统时刻,则t4时刻就是待校准的转发时刻。因此可以将待校准转发时刻t4偏移第一校准时间差(用d1表示)之后的时刻t5,确定为发送时刻。
可以理解的是,此处的发送时刻和上述介绍的接收时刻,都是以预设服务器的时间为基准进行了时间对齐的,因此基于接收时刻和发送时刻来确定后续的延时,可以有效的避免因为不同的设备之间的系统时间的偏差所带来的影响。
S1306、将发送时刻和接收时刻的差值确定为传输时延。
本实施例中的发送时刻是第一传输节点校准之后的发送视频帧的时刻,以及本实施例中的接收时刻是媒体数据生成端校准之后的接收到视频帧的时刻,并且发送时刻和接收时刻的校准都是以预设服务器的时间作为基准的。因此接收时刻和生成时刻就是同一个时间标准下的时刻,所以可以直接将发送时刻和接收时刻的差值确定为传输时延。本实施例中的传输时延就是视频帧在转发节点集合中传输所用的时延。
本申请实施例提供的视频帧时延确定方法,通过将视频帧和第二传输节点接收到视频帧的传输时刻同时传输给第一传输节点,其中接收时刻是经过了第二校准时间差的校准的,以及第一传输节点还可以确定转发视频帧的发送时刻,其中发送时刻同样是经过了第一校准时间查的校准的,第一校准时间差和第二校准时间差都是相对于预设服务器的时间差,因此可以保证接收时刻和发送时刻都是对应于对齐的时间标准的。以及,因为第一传输节点是转发视频帧的最后一个传输节点,第二传输节点是转发视频帧的第一个传输节点,因此根据第一传输节点对应的发送时刻和第二传输节点对应的接收时刻,就可以有效的得到视频帧在多个传输节点中传输的传输时延,因为不存在多级各自独立确定的时延累加所导致的误差的累积,因此可以有效的提升确定传输时延的准确性。
图15为本申请实施例提供的视频帧时延确定装置的结构示意图一。如图15所示,该装置150包括:获取模块1501、处理模块1502以及确定模块1503。
获取模块1501,用于获取传输节点转发的视频帧和所述视频帧的生成时刻,所述生成时刻为媒体数据生成端生成所述视频帧的时刻;
处理模块1502,用于渲染所述视频帧,并获取渲染所述视频帧的渲染时间信息,所述渲染时间信息为渲染所述视频帧的渲染时长,或者渲染完成视频帧的渲染结束时刻;
确定模块1503,用于根据所述生成时刻和所述渲染时间信息,确定所述视频帧的视频帧时延,所述视频帧时延为所述媒体数据生成端生成所述视频帧至所述媒体数据播放端渲染完成所述视频帧之间的时延。
在一种可能的设计中,所述确定模块1503具体用于:
所述渲染时间信息为所述渲染时长,则确定所述媒体数据播放端接收到所述视频帧的接收时刻,并根据所述接收时刻、所述生成时刻和所述渲染时长,确定所述视频帧时延;
所述渲染时间信息为所述渲染结束时刻,则将所述渲染时刻和所述生成时刻的差值,确定为所述视频帧的视频帧时延。
在一种可能的设计中,所述确定模块1503具体用于:
将所述接收时刻和所述生成时刻的差值确定为第一时长;
将所述第一时长和所述渲染时长之和,确定为所述视频帧时延。
在一种可能的设计中,所述确定模块1503具体用于:
将接收到所述视频帧时,所述媒体数据播放端中的时刻确定为待校准接收时刻;
获取所述媒体数据播放端相对于预设服务器的第一校准时间差,其中,所述预设服务器为用于进行时间校准的服务器;
将所述待校准接收时刻偏移所述第一校准时间差所得到的时刻,确定为所述接收时刻。
在一种可能的设计中,所述渲染时间信息为所述渲染结束时刻;所述处理模块1502具体用于:
将渲染完成所述视频帧时,所述媒体数据播放端中的时刻确定为待校准结束时刻;
获取所述媒体数据播放端相对于预设服务器的第一校准时间差,其中,所述预设服务器为用于进行时间校准的服务器;
将所述待校准结束时刻偏移所述第一校准时间差所得到的时刻,确定为所述渲染结束时刻。
在一种可能的设计中,所述处理模块1502具体用于:
向所述预设服务器发送第一校对报文,其中,所述第一校对报文中包括所述媒体数据播放端发送所述第一校对报文的第一时刻;
接收所述预设服务器发送的所述第一校对报文对应的第一响应报文,其中,所述第一响应报文中包括所述第一时刻、所述预设服务器接收到所述第一校对报文的第二时刻、所述预设服务器发送所述第一响应报文的第三时刻;
确定接收到所述第一响应报文的第四时刻;
根据所述第一时刻、所述第二时刻、所述第三时刻、所述第四时刻,确定所述第一校准时间差。
在一种可能的设计中,所述处理模块1502具体用于:
将所述第二时刻和所述第一时刻的差值确定为第一偏差;
将所述第三时刻和所述第四时刻的差值确定为第二偏差;
将所述第一偏差和所述第二偏差的平均值,确定为所述第一校准时间差。
在一种可能的设计中,所述获取模块1501具体用于:
接收所述传输节点转发的所述视频帧对应的补充增强信息,所述补充增强信息位于所述视频帧之后,所述补充增强信息中包括所述生成时刻;
在所述补充增强信息中获取所述生成时刻。
在一种可能的设计中,所述获取模块1501具体用于:
接收所述传输节点转发的所述视频帧对应的报文;
在所述报文的预设字段中获取所述生成时刻。
在一种可能的设计中,所述生成时刻为待校准生成时刻偏移第二校准时间差所得到的时刻;
其中,所述待校准生成时刻为所述媒体数据生成端生成所述视频帧时,所述媒体数据生成端中的时刻;所述第二校准时间差为所述媒体数据生成端相对于预设服务器的时间差。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图16为本申请实施例提供的视频帧时延确定装置的结构示意图二。如图16所示,该装置160包括:获取模块1601、处理模块1602以及确定模块1603。
获取模块1601,用于获取视频帧和所述视频帧的接收时刻,所述接收时刻为第二传输节点接收到所述视频帧的时刻,所述第二传输节点为所述传输节点集合中的第一个传输节点;
处理模块1602,用于向媒体数据播放端转发所述视频帧,并且确定转发所述视频帧的发送时刻;
确定模块1603,用于根据所述接收时刻和所述发送时刻,确定所述视频帧的传输时延,所述传输时延为所述视频帧在所述转发节点集合中传输所用的时延。
在一种可能的设计中,所述确定模块1603具体用于:
将所述发送时刻和所述接收时刻的差值确定为所述传输时延。
在一种可能的设计中,所述处理模块1602具体用于:
将转发所述视频帧时,所述第一传输节点中的时刻确定为待校准转发时刻;
获取所述第一传输节点相对于预设服务器的第一校准时间差,其中,所述预设服务器为用于进行时间校准的服务器;
将所述待校准转发时刻偏移所述第一校准时间差所得到的时刻,确定为所述发送时刻。
在一种可能的设计中,所述处理模块1602具体用于:
向所述预设服务器发送第一校对报文,其中,所述第一校对报文中包括所述第一传输节点发送所述第一校对报文的第一时刻;
接收所述预设服务器发送的所述第一校对报文对应的第一响应报文,其中,所述第一响应报文中包括所述第一时刻、所述预设服务器接收到所述第一校对报文的第二时刻、所述预设服务器发送所述第一响应报文的第三时刻;
确定接收到所述第一响应报文的第四时刻;
根据所述第一时刻、所述第二时刻、所述第三时刻、所述第四时刻,确定所述第一校准时间差。
在一种可能的设计中,所述处理模块1602具体用于:
将所述第二时刻和所述第一时刻的差值确定为第一偏差;
将所述第三时刻和所述第四时刻的差值确定为第二偏差;
将所述第一偏差和所述第二偏差的平均值,确定为所述第一校准时间差。
在一种可能的设计中,所述获取模块1601具体用于:
接收所述视频帧对应的补充增强信息,所述补充增强信息位于所述视频帧之后,所述补充增强信息中包括所述接收时刻;
在所述补充增强信息中获取所述接收时刻。
在一种可能的设计中,所述处理模块1602还用于:
在所述补充增强信息中获取所述接收时刻之后,在所述补充增强信息中删除所述接收时刻。
在一种可能的设计中,所述获取模块1601具体用于:
接收所述视频帧对应的报文;
在所述报文的预设字段中获取所述接收时刻。
在一种可能的设计中,所述处理模块1602还用于:
在所述报文的协议扩展头中获取所述接收时刻之后,在所述报文的预设字段中删除所述接收时刻。
在一种可能的设计中,所述接收时刻为待校准接收时刻偏移第二校准时间差所得到的时刻;
其中,所述待校准接收时刻为所述第二传输节点接收到所述视频帧时,所述第二传输节点中的时刻;所述第二校准时间差为所述第二传输节点相对于预设服务器的时间差。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图17为本申请实施例提供的电子设备的硬件结构示意图,如图17所示,本实施例的电子设备170包括:处理器1701以及存储器1702;其中
存储器1702,用于存储计算机执行指令;
处理器1701,用于执行存储器存储的计算机执行指令,以实现上述实施例中视频帧时延确定方法所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器1702既可以是独立的,也可以跟处理器1701集成在一起。
当存储器1702独立设置时,该电子设备还包括总线1703,用于连接所述存储器1702和处理器1701。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上电子设备所执行的视频帧时延确定方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (25)
1.一种视频帧时延确定方法,应用于媒体数据播放端,其特征在于,所述方法包括:
获取传输节点转发的视频帧和所述视频帧的生成时刻,所述生成时刻为媒体数据生成端生成所述视频帧的时刻;
渲染所述视频帧,并获取渲染所述视频帧的渲染时间信息,所述渲染时间信息为渲染所述视频帧的渲染时长,或者渲染完成视频帧的渲染结束时刻;
根据所述生成时刻和所述渲染时间信息,确定所述视频帧的视频帧时延,所述视频帧时延为所述媒体数据生成端生成所述视频帧至所述媒体数据播放端渲染完成所述视频帧之间的时延。
2.根据权利要求1所述的方法,其特征在于,根据所述生成时刻和所述渲染时间信息,确定所述视频帧的视频帧时延,包括:
所述渲染时间信息为所述渲染时长,则确定所述媒体数据播放端接收到所述视频帧的接收时刻,并根据所述接收时刻、所述生成时刻和所述渲染时长,确定所述视频帧时延;
所述渲染时间信息为所述渲染结束时刻,则将所述渲染时刻和所述生成时刻的差值,确定为所述视频帧的视频帧时延。
3.根据权利要求2所述的方法,其特征在于,根据所述接收时刻、所述生成时刻和所述渲染时长,确定所述视频帧时延,包括:
将所述接收时刻和所述生成时刻的差值确定为第一时长;
将所述第一时长和所述渲染时长之和,确定为所述视频帧时延。
4.根据权利要求2或3所述的方法,其特征在于,确定所述媒体数据播放端接收到所述视频帧的接收时刻,包括:
将接收到所述视频帧时,所述媒体数据播放端中的时刻确定为待校准接收时刻;
获取所述媒体数据播放端相对于预设服务器的第一校准时间差,其中,所述预设服务器为用于进行时间校准的服务器;
将所述待校准接收时刻偏移所述第一校准时间差所得到的时刻,确定为所述接收时刻。
5.根据权利要求2或3所述的方法,其特征在于,所述渲染时间信息为所述渲染结束时刻;获取渲染所述视频帧的渲染时间信息,包括:
将渲染完成所述视频帧时,所述媒体数据播放端中的时刻确定为待校准结束时刻;
获取所述媒体数据播放端相对于预设服务器的第一校准时间差,其中,所述预设服务器为用于进行时间校准的服务器;
将所述待校准结束时刻偏移所述第一校准时间差所得到时刻,确定为所述渲染结束时刻。
6.根据权利要求4所述的方法,其特征在于,获取所述媒体数据播放端相对于预设服务器的第一校准时间差,包括:
向所述预设服务器发送第一校对报文,其中,所述第一校对报文中包括所述媒体数据播放端发送所述第一校对报文的第一时刻;
接收所述预设服务器发送的所述第一校对报文对应的第一响应报文,其中,所述第一响应报文中包括所述第一时刻、所述预设服务器接收到所述第一校对报文的第二时刻、所述预设服务器发送所述第一响应报文的第三时刻;
确定接收到所述第一响应报文的第四时刻;
根据所述第一时刻、所述第二时刻、所述第三时刻、所述第四时刻,确定所述第一校准时间差。
7.根据权利要求6所述的方法,其特征在于,根据所述第一时刻、所述第二时刻、所述第三时刻、所述第四时刻,确定所述第一校准时间差,包括:
将所述第二时刻和所述第一时刻的差值确定为第一偏差;
将所述第三时刻和所述第四时刻的差值确定为第二偏差;
将所述第一偏差和所述第二偏差的平均值,确定为所述第一校准时间差。
8.根据权利要求1-7任一项所述的方法,其特征在于,获取传输节点转发的所述视频帧的生成时刻,包括:
接收所述传输节点转发的所述视频帧对应的补充增强信息,所述补充增强信息位于所述视频帧之后,所述补充增强信息中包括所述生成时刻;
在所述补充增强信息中获取所述生成时刻。
9.根据权利要求1-7任一项所述的方法,其特征在于,获取传输节点转发的所述视频帧的生成时刻,包括:
接收所述传输节点转发的所述视频帧对应的报文;
在所述报文的预设字段中获取所述生成时刻。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述生成时刻为待校准生成时刻偏移第二校准时间差所得到的时刻;
其中,所述待校准生成时刻为所述媒体数据生成端生成所述视频帧时,所述媒体数据生成端中的时刻;所述第二校准时间差为所述媒体数据生成端相对于预设服务器的时间差。
11.一种视频帧时延确定方法,应用于第一传输节点,所述第一传输节点为传输节点集合中的最后一个传输节点,所述传输节点集合中的传输节点用于依次进行数据转发;其特征在于,所述方法包括:
获取视频帧和所述视频帧的接收时刻,所述接收时刻为第二传输节点接收到所述视频帧的时刻,所述第二传输节点为所述传输节点集合中的第一个传输节点;
向媒体数据播放端转发所述视频帧,并且确定转发所述视频帧的发送时刻;
根据所述接收时刻和所述发送时刻,确定所述视频帧的传输时延,所述传输时延为所述视频帧在所述转发节点集合中传输所用的时延。
12.根据权利要求11所述的方法,其特征在于,根据所述接收时刻和所述发送时刻,确定所述视频帧的传输时延,包括:
将所述发送时刻和所述接收时刻的差值确定为所述传输时延。
13.根据权利要求11或12所述的方法,其特征在于,确定转发所述视频帧的发送时刻,包括:
将转发所述视频帧时,所述第一传输节点中的时刻确定为待校准转发时刻;
获取所述第一传输节点相对于预设服务器的第一校准时间差,其中,所述预设服务器为用于进行时间校准的服务器;
将所述待校准转发时刻偏移所述第一校准时间差所得到的时刻,确定为所述发送时刻。
14.根据权利要求13所述的方法,其特征在于,获取所述第一传输节点相对于预设服务器的第一校准时间差,包括:
向所述预设服务器发送第一校对报文,其中,所述第一校对报文中包括所述第一传输节点发送所述第一校对报文的第一时刻;
接收所述预设服务器发送的所述第一校对报文对应的第一响应报文,其中,所述第一响应报文中包括所述第一时刻、所述预设服务器接收到所述第一校对报文的第二时刻、所述预设服务器发送所述第一响应报文的第三时刻;
确定接收到所述第一响应报文的第四时刻;
根据所述第一时刻、所述第二时刻、所述第三时刻、所述第四时刻,确定所述第一校准时间差。
15.根据权利要求14所述的方法,其特征在于,根据所述第一时刻、所述第二时刻、所述第三时刻、所述第四时刻,确定所述第一校准时间差,包括:
将所述第二时刻和所述第一时刻的差值确定为第一偏差;
将所述第三时刻和所述第四时刻的差值确定为第二偏差;
将所述第一偏差和所述第二偏差的平均值,确定为所述第一校准时间差。
16.根据权利要求11-15任一项所述的方法,其特征在于,获取所述视频帧的接收时刻,包括:
接收所述视频帧对应的补充增强信息,所述补充增强信息位于所述视频帧之后,所述补充增强信息中包括所述接收时刻;
在所述补充增强信息中获取所述接收时刻。
17.根据权利要求16所述的方法,其特征在于,在所述补充增强信息中获取所述接收时刻之后,所述方法还包括:
在所述补充增强信息中删除所述接收时刻。
18.根据权利要求11-17任一项所述的方法,其特征在于,获取所述视频帧的接收时刻,包括:
接收所述视频帧对应的报文;
在所述报文的预设字段中获取所述接收时刻。
19.根据权利要求18所述的方法,其特征在于,在所述报文的协议扩展头中获取所述接收时刻之后,所述方法还包括:
在所述报文的预设字段中删除所述接收时刻。
20.根据权利要求11-19任一项所述的方法,其特征在于,所述接收时刻为待校准接收时刻偏移第二校准时间差所得到的时刻;
其中,所述待校准接收时刻为所述第二传输节点接收到所述视频帧时,所述第二传输节点中的时刻;所述第二校准时间差为所述第二传输节点相对于预设服务器的时间差。
21.一种视频帧时延确定装置,应用于媒体数据播放端,其特征在于,所述装置包括:
获取模块,用于获取传输节点转发的视频帧和所述视频帧的生成时刻,所述生成时刻为媒体数据生成端生成所述视频帧的时刻;
处理模块,用于渲染所述视频帧,并获取渲染所述视频帧的渲染时间信息,所述渲染时间信息为渲染所述视频帧的渲染时长,或者渲染完成视频帧的渲染结束时刻;
确定模块,用于根据所述生成时刻和所述渲染时间信息,确定所述视频帧的视频帧时延,所述视频帧时延为所述媒体数据生成端生成所述视频帧至所述媒体数据播放端渲染完成所述视频帧之间的时延。
22.一种视频帧时延确定装置,应用于第一传输节点,所述第一传输节点为传输节点集合中的最后一个传输节点,所述传输节点集合中的传输节点用于依次进行数据转发;其特征在于,所述装置包括:
获取模块,用于获取视频帧和所述视频帧的接收时刻,所述接收时刻为第二传输节点接收到所述视频帧的时刻,所述第二传输节点为所述传输节点集合中的第一个传输节点;
处理模块,用于向媒体数据播放端转发所述视频帧,并且确定转发所述视频帧的发送时刻;
确定模块,用于根据所述接收时刻和所述发送时刻,确定所述视频帧的传输时延,所述传输时延为所述视频帧在所述转发节点集合中传输所用的时延。
23.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1至10或者权利要求11至20中任一所述的方法。
24.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至10或者权利要求11至20中任一所述的方法。
25.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10或者权利要求11至20中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210565064.0A CN115002526A (zh) | 2022-05-23 | 2022-05-23 | 视频帧时延确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210565064.0A CN115002526A (zh) | 2022-05-23 | 2022-05-23 | 视频帧时延确定方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115002526A true CN115002526A (zh) | 2022-09-02 |
Family
ID=83028120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210565064.0A Pending CN115002526A (zh) | 2022-05-23 | 2022-05-23 | 视频帧时延确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115002526A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116389718A (zh) * | 2023-05-26 | 2023-07-04 | 海马云(天津)信息技术有限公司 | 轻量级节点延迟检测方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234997A (zh) * | 2017-12-12 | 2018-06-29 | 北京百度网讯科技有限公司 | 直播视频的时延测量方法、设备、系统及计算机可读介质 |
CN111294666A (zh) * | 2019-07-04 | 2020-06-16 | 杭州萤石软件有限公司 | 视频帧传输方法与确定视频帧传输延时方法、装置及系统 |
CN111431761A (zh) * | 2020-03-11 | 2020-07-17 | 广州微算互联信息技术有限公司 | 一种云手机响应渲染阶段时延测量方法及装置 |
CN112954402A (zh) * | 2021-03-11 | 2021-06-11 | 北京字节跳动网络技术有限公司 | 视频显示方法、设备、存储介质及计算机程序产品 |
CN113423008A (zh) * | 2021-08-20 | 2021-09-21 | 北京易真学思教育科技有限公司 | 视频数据传输方法、装置、电子设备和介质 |
CN113424487A (zh) * | 2019-12-19 | 2021-09-21 | 上海飞来信息科技有限公司 | 用于视频显示的方法、装置及计算机存储介质 |
CN113489789A (zh) * | 2021-07-06 | 2021-10-08 | 广州虎牙科技有限公司 | 云游戏耗时数据的统计方法、装置、设备及存储介质 |
CN113573160A (zh) * | 2021-05-17 | 2021-10-29 | 南斗六星系统集成有限公司 | 一种实时视频中视频延时确定方法 |
CN113891070A (zh) * | 2021-10-29 | 2022-01-04 | 北京环境特性研究所 | 一种网络摄像机延迟时间的测量方法和装置 |
-
2022
- 2022-05-23 CN CN202210565064.0A patent/CN115002526A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234997A (zh) * | 2017-12-12 | 2018-06-29 | 北京百度网讯科技有限公司 | 直播视频的时延测量方法、设备、系统及计算机可读介质 |
CN111294666A (zh) * | 2019-07-04 | 2020-06-16 | 杭州萤石软件有限公司 | 视频帧传输方法与确定视频帧传输延时方法、装置及系统 |
CN113424487A (zh) * | 2019-12-19 | 2021-09-21 | 上海飞来信息科技有限公司 | 用于视频显示的方法、装置及计算机存储介质 |
CN111431761A (zh) * | 2020-03-11 | 2020-07-17 | 广州微算互联信息技术有限公司 | 一种云手机响应渲染阶段时延测量方法及装置 |
CN112954402A (zh) * | 2021-03-11 | 2021-06-11 | 北京字节跳动网络技术有限公司 | 视频显示方法、设备、存储介质及计算机程序产品 |
CN113573160A (zh) * | 2021-05-17 | 2021-10-29 | 南斗六星系统集成有限公司 | 一种实时视频中视频延时确定方法 |
CN113489789A (zh) * | 2021-07-06 | 2021-10-08 | 广州虎牙科技有限公司 | 云游戏耗时数据的统计方法、装置、设备及存储介质 |
CN113423008A (zh) * | 2021-08-20 | 2021-09-21 | 北京易真学思教育科技有限公司 | 视频数据传输方法、装置、电子设备和介质 |
CN113891070A (zh) * | 2021-10-29 | 2022-01-04 | 北京环境特性研究所 | 一种网络摄像机延迟时间的测量方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116389718A (zh) * | 2023-05-26 | 2023-07-04 | 海马云(天津)信息技术有限公司 | 轻量级节点延迟检测方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109327741B (zh) | 游戏直播方法、装置和系统 | |
CN108174229B (zh) | 直播延时的确定方法和装置 | |
WO2017067489A1 (zh) | 机顶盒音视频同步的方法及装置、存储介质 | |
CN109714622B (zh) | 一种视频数据处理方法、装置及电子设备 | |
CN110149525A (zh) | 一种直播方法、装置、设备和存储介质 | |
TW201041407A (en) | Reconstructing digital video data stream method and apparatus thereof | |
CN105451034A (zh) | 一种广告播放控制方法及系统 | |
CN108111997A (zh) | 蓝牙设备音频同步方法和系统 | |
CN115002526A (zh) | 视频帧时延确定方法及装置 | |
CN109218745B (zh) | 一种直播方法、服务器、客户端及可读存储介质 | |
CN111385639B (zh) | 视频特效的添加方法、装置、设备及存储介质 | |
KR101662684B1 (ko) | 복수의 스마트 장치에 의한 동기 재생 방법 및 기기 | |
EP3852380B1 (en) | Method and device for switching media service channels | |
CN110267064A (zh) | 音频播放状态处理方法、装置、设备及存储介质 | |
CN109120991A (zh) | 用于动态调节视频音量的方法、装置以及机顶盒 | |
CN113852824A (zh) | 视频转码方法、装置、电子设备和存储介质 | |
CN106385525A (zh) | 一种视频播放方法及装置 | |
CN109413371A (zh) | 视频帧率计算方法及装置 | |
US20140095662A1 (en) | Method and System for Providing a Synchronized User Experience from Multiple Modules | |
CN110392273B (zh) | 音视频处理的方法、装置、电子设备及存储介质 | |
WO2015074481A1 (zh) | 用于收视率统计的数据处理方法和装置 | |
CN112584088B (zh) | 媒体流数据的发送方法、电子装置和存储介质 | |
CN108848106A (zh) | 通过音频流传输自定义数据方法、装置及可读存储介质 | |
CN112383512B (zh) | Rtp帧序纠错方法、装置、接收端及计算机可读存储介质 | |
CN109644290A (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 |