CN116916095B - 一种云视频的平滑显示方法、装置、设备及存储介质 - Google Patents
一种云视频的平滑显示方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116916095B CN116916095B CN202311172280.XA CN202311172280A CN116916095B CN 116916095 B CN116916095 B CN 116916095B CN 202311172280 A CN202311172280 A CN 202311172280A CN 116916095 B CN116916095 B CN 116916095B
- Authority
- CN
- China
- Prior art keywords
- rendering
- current
- time
- frame
- decoding
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000009877 rendering Methods 0.000 claims abstract description 294
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及云视频技术领域,尤其涉及一种云视频的平滑显示方法,该方法包括:在云视频的串流过程中,在当前渲染时长内,检测云视频的解码帧队列;若检测到解码帧队列中存在当前解码帧集,则进入当前渲染时长对应的渲染阶段;在当前渲染时长对应的渲染阶段,在当前渲染时长的渲染时刻,对当前解码帧集中的目标解码帧进行渲染显示,并同时将当前渲染时长更新至下一个渲染时长,其中,目标解码帧为当前解码帧集中帧号最大的解码帧或当前解码帧集中解码时间戳最大的解码帧。该方法对解码帧进行及时渲染,高效渲染显示云视频的视频帧,提高云视频的平滑性和流畅性,降低云视频的迟延,保障用户的流畅操作,提升用户的体验度。
Description
技术领域
本发明涉及云视频技术领域,尤其涉及一种云视频的平滑显示方法、装置、设备及存储介质。
背景技术
随着互联网技术的不断发展和普及,云视频也越来越受到人们的关注和追捧。云视频是指基于互联网技术、云计算技术和视频传输技术将视频资源分布式存储在云端数据中心,并通过网络实现视频的在线播放和共享的一种服务。
云视频的每帧视频帧均是匀速地依次经过采集阶段、编码阶段、打包阶段和发送阶段。由于网络的传输速率、丢包率、吞吐量和延迟等性能不同,每帧视频帧在通过网络传输后到达客户端的时间戳是不均匀的。为保证云视频的平滑性,客户端通常在接收到视频帧后会缓存预设数量的视频帧,对缓存中的视频帧进行解码,再对解码后的视频帧进行渲染。
然而,客户端受到网络抖动和接收到的每帧视频帧的时间戳不均匀的影响,仍然会出现视频帧未及时渲染,使客户端的用户操作流畅性降低,引发云视频的平滑性降低的问题。
发明内容
本申请实施例通过提供一种云视频的平滑显示方法、装置、设备及存储介质,解决了现有技术中客户端受到网络抖动和接收到的每帧视频帧的时间戳不均匀的影响,云视频的平滑性降低的的技术问题,实现了高效快速地判断出所需渲染的解码帧,对解码帧进行及时渲染,高效渲染显示云视频的视频帧,提高云视频的平滑性和流畅性,降低云视频的迟延,保障用户的流畅操作,提升用户的体验度等技术效果。
第一方面,本发明实施例提供一种云视频的平滑显示方法,包括:
在云视频的串流过程中,在当前渲染时长内,检测所述云视频的解码帧队列;
若检测到所述解码帧队列中存在当前解码帧集,则进入所述当前渲染时长对应的渲染阶段;
在所述当前渲染时长对应的渲染阶段,在所述当前渲染时长的渲染时刻,对所述当前解码帧集中的目标解码帧进行渲染显示,并同时将所述当前渲染时长更新至下一个渲染时长,其中,所述目标解码帧为所述当前解码帧集中帧号最大的解码帧或所述当前解码帧集中解码时间戳最大的解码帧。
优选的,所述对所述当前解码帧集中的目标解码帧进行渲染显示,包括:
在所述当前解码帧集的帧数为多帧的情形下,从所述当前解码帧集中筛选出所述目标解码帧,并对所述目标解码帧进行渲染显示。
优选的,所述对所述当前解码帧集中的目标解码帧进行渲染显示,包括:
在所述当前解码帧集的帧数为1帧的情形下,将所述当前解码帧集的当前解码帧作为所述目标解码帧,并对所述目标解码帧进行渲染显示。
优选的,所述将所述当前渲染时长更新至下一个渲染时长,包括:
将所述当前渲染时长的渲染时刻更新至所述下一个渲染时长的起始时刻,其中,所述当前渲染时长的渲染时刻为所述当前渲染时长的结束时刻。
优选的,在检测所述云视频的解码帧队列之后,还包括:
若检测到所述解码帧队列中未存在所述当前解码帧集,则进入等待阶段,直到在所述等待阶段中检测到一帧所述当前解码帧后,切换为所述对应的渲染阶段,对所述当前解码帧进行渲染显示,并将渲染所述当前解码帧的时刻更新至所述下一个渲染时长的起始时刻。
优选的,在所述等待阶段中,还包括:
在所述等待阶段的持续时长大于所述当前渲染时长条件下,在所述等待阶段输出丢帧信息。
优选的,渲染时长范围为0至33.33毫秒或0至16.67毫秒。
基于同一发明构思,第二方面,本发明还提供一种云视频的平滑显示装置,包括:
检测模块,用于在云视频的串流过程中,在当前渲染时长内,检测所述云视频的解码帧队列;
阶段模块,用于若检测到所述解码帧队列中存在当前解码帧集,则进入所述当前渲染时长对应的渲染阶段;
渲染模块,用于在所述当前渲染时长对应的渲染阶段,在所述当前渲染时长的渲染时刻,对所述当前解码帧集中的目标解码帧进行渲染显示,并同时将所述当前渲染时长更新至下一个渲染时长,其中,所述目标解码帧为所述当前解码帧集中帧号最大的解码帧或所述当前解码帧集中解码时间戳最大的解码帧。
基于同一发明构思,第三方面,本发明提供一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现云视频的平滑显示方法的步骤。
基于同一发明构思,第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现云视频的平滑显示方法的步骤。
本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:
在本发明实施例中,在云视频的串流过程中,在当前渲染时长内,检测云视频的解码帧队列,以便高效判断出在当前渲染时长内是否在解码帧队列中存在解码帧,使解码帧进行及时的渲染处理,高效地对云视频进行处理。
若检测到解码帧队列中存在当前解码帧集,表示需要对当前解码帧进行高效且及时地渲染处理,则进入当前渲染时长对应的渲染阶段。在当前渲染时长对应的渲染阶段,在当前渲染时长的渲染时刻,对当前解码帧集中的目标解码帧进行渲染显示,并同时将当前渲染时长更新至下一个渲染时长,其中,目标解码帧为当前解码帧集中帧号最大的解码帧或当前解码帧集中解码时间戳最大的解码帧。这样,大大降低迟延,减少计算处理量,对目标解码帧进行高效且及时的渲染,高效渲染显示云视频的视频帧,提高云视频的平滑性和流畅性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:
图1示出了本发明实施例中的云视频的平滑显示方法的步骤流程示意图;
图2示出了本发明实施例中的在当前解码帧集的帧数为多帧的情形下渲染目标解码帧的示意图;
图3示出了本发明实施例中的在当前解码帧集的帧数为1帧的情形下渲染目标解码帧的示意图;
图4示出了本发明实施例中的在等待阶段中渲染解码帧的示意图;
图5示出了本发明实施例中的云视频的平滑显示装置的模块示意图;
图6示出了本发明实施例中的一种终端设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一:本发明第一实施例提供了一种云视频的平滑显示方法,如图1所示,包括:
S101,在云视频的串流过程中,在当前渲染时长内,检测云视频的解码帧队列;
S102,若检测到解码帧队列中存在当前解码帧集,则进入当前渲染时长对应的渲染阶段;
S103,在当前渲染时长对应的渲染阶段,在当前渲染时长的渲染时刻,对当前解码帧集中的目标解码帧进行渲染显示,并同时将当前渲染时长更新至下一个渲染时长,其中,目标解码帧为当前解码帧集中帧号最大的解码帧或当前解码帧集中解码时间戳最大的解码帧。
本实施例的云视频的平滑显示方法应用于客户端的终端设备中,客户端的终端设备包括但不限于手机、平板电脑或个人电脑。
下面,结合图1来详细介绍本实施例提供的云视频的平滑显示方法的具体实施步骤:
首先,执行步骤S101,在云视频的串流过程中,在当前渲染时长内,检测云视频的解码帧队列。
具体来讲,在云视频的串流过程中,客户端会接收到云视频的每帧视频帧,再对每帧视频帧进行解码,得到每帧视频帧对应的解码帧,并将解码帧放置在解码帧队列中,以待渲染显示。在当前渲染时长内,检测云视频的解码帧队列中是否存在当前解码帧集,即检测云视频的解码帧队列中是否存在当前渲染时长内的解码帧。根据判断结果,高效快速地确定出当前渲染时长内是否需要对解码帧进行渲染显示处理,以使解码帧进行及时的渲染处理,高效地对云视频进行处理。
接着,执行步骤S102,若检测到解码帧队列中存在当前解码帧集,则进入当前渲染时长对应的渲染阶段。
具体来讲,如果检测到解码帧队列中存在当前解码帧集,说明在当前渲染时长下的解码帧队列存在解码帧,则进入在当前渲染时长对应的渲染阶段,以便对解码帧进行高效且及时地渲染处理,高效渲染显示云视频的视频帧,保障云视频的平滑性和流畅性。
然后,执行步骤S103,在当前渲染时长对应的渲染阶段,在当前渲染时长的渲染时刻,对当前解码帧集中的目标解码帧进行渲染显示,并同时将当前渲染时长更新至下一个渲染时长,其中,目标解码帧为当前解码帧集中帧号最大的解码帧或当前解码帧集中解码时间戳最大的解码帧。
具体来讲,在当前渲染时长对应的渲染阶段,在对目标解码帧进行渲染显示的情形分为两种:在当前解码帧集的帧数为多帧的情形下,从当前解码帧集中筛选出目标解码帧,并对目标解码帧进行渲染显示。在当前解码帧集的帧数为1帧的情形下,将当前解码帧集的当前解码帧作为目标解码帧,并对目标解码帧进行渲染显示。
在当前渲染时长对应的渲染阶段,在对目标解码帧进行渲染的同时,将当前渲染时长更新至下一个渲染时长的具体过程是:将当前渲染时长的渲染时刻更新至下一个渲染时长的起始时刻,表示将下一个渲染时长作为新的当前渲染时刻时长。每个渲染时长是一致的,且每个渲染时长的渲染时刻是一致的。优选的,每个渲染时长的渲染时刻为渲染时长的结束时刻,也可根据实际需求而设置,如当前渲染时长的渲染时刻为当前渲染时长的结束时刻。
因此,每个渲染时长和每个渲染时长的渲染时刻是相等或一致的,每个渲染时长对应的渲染阶段也是一致的。在每个渲染阶段中对一帧目标解码进行渲染显示,得到渲染帧,以使显示出的视频帧是匀速的,提高云视频的平滑性和流畅性,保障用户的流畅操作,提升用户的体验度。
在下一个渲染时长内,继续执行步骤S101-S103,以此循环,直到云视频的串流过程结束。表示在下一个渲染时长内,检测云视频的解码帧队列是否存在解码帧集;在根据判断结构,对目标解码帧进行渲染显示,并同时更新至下下一个渲染时长。
举例说明,在图2-图4中,发送时间轴为发送云视频的视频帧的时间轴,解码时间轴为对视频帧解码后得到的解码帧的时间轴,渲染时间轴为渲染解码帧的时间轴。P0表示第一帧,P1表示第二帧,P2表示第三帧。T0为渲染时长的起始时刻,T0’表示渲染时长的结束时刻,也是下一个渲染时长的起始时刻。
如图2所示,假设T0-T0’的时长表示当前渲染时长,在解码时间轴上对应当前渲染时长的时长内,即在解码时间轴上的P0对应的时刻至在解码时间轴上的虚线对应的时刻的时长内,存在P1和P2。这样,表示在当前渲染时长对应的渲染阶段当前解码帧集的帧数为多帧的情形。
在当前渲染时长对应的渲染阶段当前解码帧集的帧数为多帧的情形下,从当前解码帧集{P1、P2}中筛选出目标解码帧P2,并在当前渲染时长的渲染时刻对目标解码帧P2进行渲染显示。P2为当前解码帧集中帧号最大的解码帧,也为当前解码帧集中解码时间戳最大的解码帧。在渲染目标解码帧P2的同时,将当前渲染时长的渲染时刻(结束时刻)更新至下一个渲染时刻的起始时刻T0’,表示将下一个渲染时长作为新的当前渲染时刻,将下一个渲染时长的起始时刻更新为当前渲染时长的结束时刻,也更新为新的当前渲染时长的起始时刻。
在本实施例中,在当前渲染时长对应的渲染阶段当前解码帧集的帧数为多帧的情形下,从当前解码帧集中筛选出帧号最大的解码帧或解码时间戳最大的解码帧为目标解码帧,再对目标解码帧进行渲染显示。其中,未对当前解码帧集中除目标解码帧之外的解码帧进行渲染显示处理,大大降低迟延,减少计算处理量,对目标解码帧进行高效且及时的渲染,高效渲染显示云视频的视频帧,提高云视频的平滑性和流畅性。
如图3所示,假设T0-T0’的时长表示当前渲染时长,在解码时间轴上对应当前渲染时长的时长内,即在解码时间轴上的P0对应的时刻至在解码时间轴上的第一条虚线对应的时刻的时长内,仅存在P1。这样,表示在当前渲染时长对应的渲染阶段当前解码帧集的帧数为1帧的情形。
在当前渲染时长对应的渲染阶段当前解码帧集的帧数为1帧的情形,直接将当前解码帧P1作为目标解码帧,在当前渲染时长的渲染时刻对目标解码帧P1进行渲染显示。在渲染目标解码帧P1的同时,将当前渲染时长的渲染时刻(结束时刻)更新至下一个渲染时刻的起始时刻T0’,表示将下一个渲染时长作为新的当前渲染时刻。
在下一个渲染时长内,即在新的当前渲染时长内,在解码时间轴上对应下一个渲染时长的时长内,即在解码时间轴上的第一条虚线对应的时刻至在解码时间轴上的第二条虚线对应的时刻的时长内,仅存在P2。这样,表示在当前渲染时长对应的渲染阶段当前解码帧集的帧数为1帧的情形。
在当前渲染时长对应的渲染阶段当前解码帧集的帧数为1帧的情形,直接将当前解码帧P2作为目标解码帧,在新的当前渲染时长的渲染时刻对目标解码帧P2进行渲染显示。在渲染目标解码帧P2的同时,将新的当前渲染时长的渲染时刻(结束时刻)更新至下下一个渲染时刻的起始时刻,表示将下下一个渲染时长作为新的当前渲染时刻。
在本实施例中,在当前渲染时长对应的渲染阶段当前解码帧集的帧数为1帧的情形下,直接将该当前解码帧作为目标解码帧,再对目标解码帧进行渲染显示。这样,对目标解码帧进行高效且及时的渲染,高效渲染显示云视频的视频帧,提高云视频的平滑性和流畅性。
还需要说明的是,渲染时长范围为0至33.33毫秒或0至16.67毫秒,渲染时长是根据云视频的每秒传输帧数确定,也可根据实际需求而设置。以图2的渲染时间轴上的T0-T0’为例,假设云视频帧率为30FPS,T0-T0’为一个渲染时长,该渲染时长为33.33ms。在迟延低于33.33ms时,人眼难以分辨卡顿,丢弃中间帧也不存在卡顿情况,只是舍弃无效的帧处理,减轻计算量,保障云视频的平滑性和流畅性,保证用户的流畅操作。
在执行步骤S101之后,即在检测云视频的解码帧队列之后,若检测到解码帧队列中未存在当前解码帧集,表示在当前渲染时长下的解码帧队列中未存在解码帧,则进入等待阶段,直到在等待阶段中检测到一帧当前解码帧后,从等待阶段立即切换为对应的渲染阶段,对该当前解码帧进行渲染显示,并将渲染该当前解码帧的时刻更新至下一个渲染时长的起始时刻。
具体地,如图4所示,假设在渲染时间轴上的T0时刻至在渲染时间轴上的第一条虚线对应的时刻的时长对当前渲染时长,在解码时间轴上对应当前渲染时长的时长内,即在解码时间轴上的P0对应的时刻至在解码时间轴上的第一条虚线对应的时刻的时长内,未存在任何的当前解码帧。这样,表示在等待阶段的情形。
在等待阶段中,直到检测到任何一帧解码帧后,即检测到P1后,从等待阶段立即切换为对应的渲染阶段,立即对该解码帧P1进行渲染显示。并同时将渲染该当前解码帧P1的时刻更新至下一个渲染时长的起始时刻T0’,即将T0’作为新的当前渲染时长的起始时刻,在新的当前渲染时长内,执行步骤S101-103,以此循环。
因此,在等待阶段中,等待阶段的时序时长大于当前渲染时长,即在图4中,在解码时间轴上的P0对应的时刻至在解码时间轴上的P1对应的时刻的时长大于当前渲染时刻T0+33.3ms。在等待阶段的持续时长大于当前渲染时长条件下,在等待阶段未接收到任何的解码帧,在等待阶段会出现丢帧情况,则在等待阶段输出丢帧信息。那么,在等待阶段会出现卡顿现象。输出的丢帧信息可以作为后续分析云视频串流速率和效率的依据,能作为分析云视频串流的基础数据。
本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:
在本发明实施例中,在云视频的串流过程中,在当前渲染时长内,检测云视频的解码帧队列,以便高效判断出在当前渲染时长内是否在解码帧队列中存在解码帧,使解码帧进行及时的渲染处理,高效地对云视频进行处理。
若检测到解码帧队列中存在当前解码帧集,表示需要对当前解码帧进行高效且及时地渲染处理,则进入当前渲染时长对应的渲染阶段。在当前渲染时长对应的渲染阶段,在当前渲染时长的渲染时刻,对当前解码帧集中的目标解码帧进行渲染显示,并同时将当前渲染时长更新至下一个渲染时长,其中,目标解码帧为当前解码帧集中帧号最大的解码帧或当前解码帧集中解码时间戳最大的解码帧。这样,大大降低迟延,减少计算处理量,对目标解码帧进行高效且及时的渲染,高效渲染显示云视频的视频帧,提高云视频的平滑性和流畅性。
实施例二:检测模块201,用于在云视频的串流过程中,在当前渲染时长内,检测所述云视频的解码帧队列;
阶段模块202,用于若检测到所述解码帧队列中存在当前解码帧集,则进入所述当前渲染时长对应的渲染阶段;
渲染模块203,用于在所述当前渲染时长对应的渲染阶段,在所述当前渲染时长的渲染时刻,对所述当前解码帧集中的目标解码帧进行渲染显示,并同时将所述当前渲染时长更新至下一个渲染时长,其中,所述目标解码帧为所述当前解码帧集中帧号最大的解码帧或所述当前解码帧集中解码时间戳最大的解码帧。
作为一种可选的实施例,所述对所述当前解码帧集中的目标解码帧进行渲染显示,包括:
在所述当前解码帧集的帧数为多帧的情形下,从所述当前解码帧集中筛选出所述目标解码帧,并对所述目标解码帧进行渲染显示。
作为一种可选的实施例,所述对所述当前解码帧集中的目标解码帧进行渲染显示,包括:
在所述当前解码帧集的帧数为1帧的情形下,将所述当前解码帧集的当前解码帧作为所述目标解码帧,并对所述目标解码帧进行渲染显示。
作为一种可选的实施例,所述将所述当前渲染时长更新至下一个渲染时长,包括:
将所述当前渲染时长的渲染时刻更新至所述下一个渲染时长的起始时刻,其中,所述当前渲染时长的渲染时刻为所述当前渲染时长的结束时刻。
作为一种可选的实施例,阶段模块202,用于:
若检测到所述解码帧队列中未存在所述当前解码帧集,则进入等待阶段,直到在所述等待阶段中检测到一帧所述当前解码帧后,切换为所述对应的渲染阶段,对所述当前解码帧进行渲染显示,并将渲染所述当前解码帧的时刻更新至所述下一个渲染时长的起始时刻。
作为一种可选的实施例,阶段模块202,用于在所述等待阶段中,在所述等待阶段的持续时长大于所述当前渲染时长条件下,在所述等待阶段输出丢帧信息。
作为一种可选的实施例,渲染时长范围为0至33.33毫秒或0至16.67毫秒。
由于本实施例所介绍的云视频的平滑显示装置为实施本申请实施例一中云视频的平滑显示方法所采用的装置,故而基于本申请实施例一中所介绍的云视频的平滑显示方法,本领域所属技术人员能够了解本实施例的云视频的平滑显示装置的具体实施方式以及其各种变化形式,所以在此对于该云视频的平滑显示装置如何实现本申请实施例一中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例一中云视频的平滑显示方法所采用的装置,都属于本申请所欲保护的范围。
实施例三:基于相同的发明构思,本发明第三实施例还提供了一种终端设备,如图6所示,包括存储器304、处理器302及存储在存储器304上并可在处理器302上运行的计算机程序,所述处理器302执行所述程序时实现上述云视频的平滑显示方法中的任一方法的步骤。
其中,在图6中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口306在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
实施例四:基于相同的发明构思,本发明第四实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文实施例一所述云视频的平滑显示方法的任一方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种云视频的平滑显示方法,其特征在于,包括:
在云视频的串流过程中,在当前渲染时长内,检测所述云视频的解码帧队列;
若检测到所述解码帧队列中存在当前解码帧集,则进入所述当前渲染时长对应的渲染阶段;
在所述当前渲染时长对应的渲染阶段,在所述当前渲染时长的渲染时刻,对所述当前解码帧集中的目标解码帧进行渲染显示,并同时将所述当前渲染时长更新至下一个渲染时长,其中,所述目标解码帧为所述当前解码帧集中帧号最大的解码帧或所述当前解码帧集中解码时间戳最大的解码帧;
所述将所述当前渲染时长更新至下一个渲染时长,包括:
将所述当前渲染时长的渲染时刻更新为所述下一个渲染时长的起始时刻,其中,所述当前渲染时长的渲染时刻为所述当前渲染时长的结束时刻;
在检测所述云视频的解码帧队列之后,还包括:
若检测到所述解码帧队列中未存在所述当前解码帧集,则进入等待阶段,直到在所述等待阶段中检测到一帧当前解码帧后,切换为所述对应的渲染阶段,对所述当前解码帧进行渲染显示,并将渲染所述当前解码帧的时刻更新为下一个渲染时长的起始时刻。
2.如权利要求1所述的方法,其特征在于,所述对所述当前解码帧集中的目标解码帧进行渲染显示,包括:
在所述当前解码帧集的帧数为多帧的情形下,从所述当前解码帧集中筛选出所述目标解码帧,并对所述目标解码帧进行渲染显示。
3.如权利要求1所述的方法,其特征在于,所述对所述当前解码帧集中的目标解码帧进行渲染显示,包括:
在所述当前解码帧集的帧数为1帧的情形下,将所述当前解码帧集的当前解码帧作为所述目标解码帧,并对所述目标解码帧进行渲染显示。
4.如权利要求1所述的方法,其特征在于,在所述等待阶段中,还包括:
在所述等待阶段的持续时长大于所述当前渲染时长条件下,在所述等待阶段输出丢帧信息。
5.如权利要求1所述的方法,其特征在于,渲染时长为33.33毫秒或16.67毫秒。
6.一种云视频的平滑显示装置,其特征在于,包括:
检测模块,用于在云视频的串流过程中,在当前渲染时长内,检测所述云视频的解码帧队列;
阶段模块,用于若检测到所述解码帧队列中存在当前解码帧集,则进入所述当前渲染时长对应的渲染阶段;若检测到所述解码帧队列中未存在所述当前解码帧集,则进入等待阶段,直到在所述等待阶段中检测到一帧当前解码帧后,切换为所述对应的渲染阶段,对所述当前解码帧进行渲染显示,并将渲染所述当前解码帧的时刻更新为下一个渲染时长的起始时刻;
渲染模块,用于在所述当前渲染时长对应的渲染阶段,在所述当前渲染时长的渲染时刻,对所述当前解码帧集中的目标解码帧进行渲染显示,并同时将所述当前渲染时长更新至下一个渲染时长,其中,所述目标解码帧为所述当前解码帧集中帧号最大的解码帧或所述当前解码帧集中解码时间戳最大的解码帧;
所述将所述当前渲染时长更新至下一个渲染时长,包括:
将所述当前渲染时长的渲染时刻更新为所述下一个渲染时长的起始时刻,其中,所述当前渲染时长的渲染时刻为所述当前渲染时长的结束时刻。
7.一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一权利要求所述的云视频的平滑显示方法步骤。
8.一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一权利要求所述的云视频的平滑显示方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311172280.XA CN116916095B (zh) | 2023-09-12 | 2023-09-12 | 一种云视频的平滑显示方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311172280.XA CN116916095B (zh) | 2023-09-12 | 2023-09-12 | 一种云视频的平滑显示方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116916095A CN116916095A (zh) | 2023-10-20 |
CN116916095B true CN116916095B (zh) | 2024-01-12 |
Family
ID=88351467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311172280.XA Active CN116916095B (zh) | 2023-09-12 | 2023-09-12 | 一种云视频的平滑显示方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116916095B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150092928A (ko) * | 2014-02-06 | 2015-08-17 | 에스케이플래닛 주식회사 | 레이턴시를 고려한 영상 출력 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템 |
CN108681439A (zh) * | 2018-05-29 | 2018-10-19 | 北京维盛泰科科技有限公司 | 基于帧率控制的均匀显示方法 |
CN111836104A (zh) * | 2020-07-09 | 2020-10-27 | 海信视像科技股份有限公司 | 显示设备及显示方法 |
CN113923507A (zh) * | 2021-12-13 | 2022-01-11 | 北京蔚领时代科技有限公司 | Android端的低延迟视频渲染方法及装置 |
CN114205662A (zh) * | 2021-12-13 | 2022-03-18 | 北京蔚领时代科技有限公司 | iOS端的低延迟视频渲染方法及装置 |
CN115209216A (zh) * | 2022-06-22 | 2022-10-18 | 浙江宇视科技有限公司 | 视频的播放方法、装置及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060150071A1 (en) * | 2005-01-05 | 2006-07-06 | Microsoft Corporation | Software-based video rendering |
-
2023
- 2023-09-12 CN CN202311172280.XA patent/CN116916095B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150092928A (ko) * | 2014-02-06 | 2015-08-17 | 에스케이플래닛 주식회사 | 레이턴시를 고려한 영상 출력 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템 |
CN108681439A (zh) * | 2018-05-29 | 2018-10-19 | 北京维盛泰科科技有限公司 | 基于帧率控制的均匀显示方法 |
CN111836104A (zh) * | 2020-07-09 | 2020-10-27 | 海信视像科技股份有限公司 | 显示设备及显示方法 |
CN113923507A (zh) * | 2021-12-13 | 2022-01-11 | 北京蔚领时代科技有限公司 | Android端的低延迟视频渲染方法及装置 |
CN114205662A (zh) * | 2021-12-13 | 2022-03-18 | 北京蔚领时代科技有限公司 | iOS端的低延迟视频渲染方法及装置 |
CN115209216A (zh) * | 2022-06-22 | 2022-10-18 | 浙江宇视科技有限公司 | 视频的播放方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116916095A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2771008C1 (ru) | Способ и устройство для обработки задач на основе нейронной сети | |
CN108965907B (zh) | 用于播放视频的方法、装置和系统 | |
CN110049361B (zh) | 显示控制方法、装置、投屏设备及计算机可读介质 | |
CN109040230B (zh) | 文件的下载方法、装置、设备/终端/服务器及存储介质 | |
CN111510789B (zh) | 视频播放方法、系统、计算机设备及计算机可读存储介质 | |
CN107333148B (zh) | 视频处理方法及装置、计算机存储介质及设备 | |
JP7273975B2 (ja) | データ処理の方法、装置、機器及び記憶媒体 | |
CN111258736A (zh) | 信息处理方法、装置和电子设备 | |
CN104053002A (zh) | 视频解码方法和视频解码装置 | |
CN109788251B (zh) | 视频处理方法、装置及存储介质 | |
CN111343503A (zh) | 视频的转码方法、装置、电子设备及存储介质 | |
CN116916095B (zh) | 一种云视频的平滑显示方法、装置、设备及存储介质 | |
CN114630170B (zh) | 一种音视频同步方法、装置、电子设备及存储介质 | |
CN114584826B (zh) | 一种视频动态下载方法、装置、电子设备及存储介质 | |
CN111467797B (zh) | 游戏数据处理方法、装置、计算机存储介质与电子设备 | |
US20100076944A1 (en) | Multiprocessor systems for processing multimedia data and methods thereof | |
CN113141407A (zh) | 一种页面资源加载方法、装置和电子设备 | |
CN109255641B (zh) | 业务对象的处理方法及装置 | |
CN113852840B (zh) | 视频渲染方法、装置、电子设备以及存储介质 | |
CN115037964B (zh) | 基于弹幕的视频组合方法、装置、计算机设备及存储介质 | |
CN114143579B (zh) | 一种基于多线程队列及数组的视频推流方法及系统 | |
CN115002527B (zh) | 数据传输优化方法、装置、设备及存储介质 | |
CN114979762B (zh) | 视频下载、传输方法、装置、终端设备、服务器及介质 | |
CN113489745B (zh) | 视频数据发送方法、装置、设备和存储介质 | |
US20210258626A1 (en) | Method and system for prioritizing contents for content processing by multichannel video programming distributors |
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 |