CN115643449A - 云服务的视频显示方法、装置、设备、存储介质和系统 - Google Patents
云服务的视频显示方法、装置、设备、存储介质和系统 Download PDFInfo
- Publication number
- CN115643449A CN115643449A CN202211131870.3A CN202211131870A CN115643449A CN 115643449 A CN115643449 A CN 115643449A CN 202211131870 A CN202211131870 A CN 202211131870A CN 115643449 A CN115643449 A CN 115643449A
- Authority
- CN
- China
- Prior art keywords
- cloud service
- jitter buffer
- video stream
- decoding
- video
- 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 42
- 238000001514 detection method Methods 0.000 claims abstract description 61
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 4
- 230000002452 interceptive effect Effects 0.000 abstract description 9
- 230000000903 blocking effect Effects 0.000 abstract description 4
- 230000004044 response Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- 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, rendering scenes according to MPEG-4 scene graphs
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供一种云服务的视频显示方法、装置、设备、存储介质和系统,该方法包括:客户端若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区,将接收的云服务的视频流存入抖动缓冲区,云服务的界面被编码成所述视频流;从抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。通过在客户端侧对用户对云服务的操作事件进行检测,以判断出当前是否处于用户对云服务交互的场景,如果是非交互的场景,则可以通过增加抖动缓存区的方式,将云服务的视频流存入抖动缓冲区,来达到抗网络延时和抖动对视频画质显示质量的影响,减少视频卡顿和丢帧的现象,提升用户体验。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种云服务的视频显示方法、装置、设备、存储介质和系统。
背景技术
云桌面是一种基于计算的云上桌面服务,采用桌面即服务(Desktop as aService,简称DaaS)为用户提供易用、安全、高效的云上桌面办公系统。实际上,诸如云桌面、云应用等云服务已经在各种应用场景中被用户广泛使用。使用云服务的用户,可以使用客户端通过公网或专线连接到云服务。用户的客户端不需要安装这些云服务,基于通信协议把云服务界面通过视频流化的方式传输至客户端本地,用户在本地便可以使用云端服务。
用户对云桌面、云应用等云服务的使用需求越来越高,对画质要求逐步提升,由之前的标清视频流的需求逐步提升至对超高清视频流的需求。超高清的画质体验更好,但是对网络带宽的要求也相应高很多。在很多实际环境下,网络带宽的时延和抖动较大,不能很好的支撑超高清视频流的流畅传输。
发明内容
本发明实施例提供一种云服务的视频显示方法、装置、设备、存储介质和系统,用以保证云服务的视频流的画面质量。
第一方面,本发明实施例提供一种云服务的视频显示方法,应用于客户端,所述方法包括:
若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区;
将接收的所述云服务的视频流存入所述抖动缓冲区,所述云服务的界面被编码成所述视频流;
从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
第二方面,本发明实施例提供一种云服务的视频显示装置,应用于客户端,所述装置包括:
检测模块,用于若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区;
存储模块,用于将接收的所述云服务的视频流存入所述抖动缓冲区,所述云服务的界面被编码成所述视频流;
解码显示模块,用于从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如第一方面所述的云服务的视频显示方法。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的云服务的视频显示方法。
第五方面,本发明实施例提供了一种云服务的视频传输系统,包括:运行有云服务的云服务器以及与所述云服务对应的客户端;
所述云服务器,用于对所述云服务的界面进行视频编码以得到所述云服务的视频流,并将所述云服务的视频流发送至所述客户端;
所述客户端,用于若在第一检测时刻与第二检测时刻内未检测到对所述云服务的用户操作事件,则本地启用抖动缓冲区;以及,将接收的所述云服务的视频流存入所述抖动缓冲区,从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
在本发明实施例中,通过在客户端侧对用户对云服务的操作事件进行不断检测,以判断出当前是否处于用户对云服务频繁交互的场景,如果是非交互的场景(即第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件),则可以通过增加抖动缓存区的方式,将云服务的视频流存入抖动缓冲区,来达到抗网络延时和抖动对视频画质显示质量的影响,减少视频卡顿和丢帧的现象,提升用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种云服务的视频显示方法的流程图;
图2为本发明实施例提供的一种云服务的视频显示方法的应用示意图;
图3为本发明实施例提供的一种云服务的视频显示方法的流程图;
图4为本发明实施例提供的一种云服务的视频显示方法的流程图;
图5为本发明实施例提供的一种云服务的视频显示装置的结构示意图;
图6为本实施例提供的一种电子设备的结构示意。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
本发明实施例提供的云服务的视频显示方法,可以由与该云服务对应的客户端来执行,该客户端可以设于诸如智能手机、笔记本电脑等用户终端中。
图1为本发明实施例提供的一种云服务的视频显示方法的流程图,如图1所示,该方法包括如下步骤:
101、若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区。
102、将接收的云服务的视频流存入抖动缓冲区,云服务的界面被编码成所述视频流。
103、从抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
实际应用中,云计算厂商在云端提供有若干云服务器,本发明实施例中,诸如云桌面、云应用等云服务可以部署在云服务器内。
实际应用中,用户可以使用客户端通过公网或专线连接到诸如云桌面、云应用等云服务,对云服务进行使用。具体地,云服务以视频流的方式向客户端发送其画面视频数据,以便用户通过客户端能够看到云服务的界面。其中,该云服务的视频流实际上是对云服务的界面进行视频编码、压缩处理后得到的视频流,并非是指云服务中加载的视频流(比如某界面中的播放窗口内播放的视频)。
基于此,本发明实施例中所说的云服务可以理解为是:基于视频流推流协议,将其完整界面以视频流的方式向客户端传输的运行在云服务器中的服务程序。由于是在云端运行该云服务的,客户端本地无需安装该云服务,用户便可以远程使用该云服务。实际应用中,该云服务比如可以是云桌面、云手机以及各自其他的云应用,比如云游戏应用、元宇宙应用等。
在云服务器内,可以基于用户对上述视频流的分辨率、码率的需求,随时扩充算力,以支持多种分辨率和码率的云服务视频流,例如分辨1080P、码率5Mbps,比如分辨率4K、码率10Mbps,等等。
客户端与云服务(亦即云服务器)之间的网络连接并非总是稳定不变的,往往是存在网络延迟和抖动情况的。其中,网络延迟是网络传输中的一个重要指标,可衡量数据从一个端点(比如云服务)移动到另一个端点(比如客户端)所需的时间。延迟会影响用户体验,同时可能会因为多种因素而发生变化,比如两个端点之间的物理距离,接入的交换机、路由器本身性能等。而网络抖动是基于网络延迟产生的,具体地说,它是延迟时间忽长忽短变化的表现形式。网络抖动是指最大延迟与最小延迟的时间差,如最大延迟是20毫秒,最小延迟为5毫秒,那么网络抖动就是15毫秒,它主要标识网络连接的稳定性。网络抖动越小,网络连接越稳定。
而实际应用中,用户可能提出超高清视频流的使用需求。超高清视频,一般指4K(4096*2160)或者UHD(3840*2160)的视频流,超高清视频流码率相对高清、标清视频流会高很多,需要有足够的网络带宽支撑才能流畅传输。
当用户对云服务的视频流的画质提出更高的质量要求(比如上述超高清视频流的需求)时,那么对网络带宽的要求也会相应地高很多。在很多实际环境下,网络(即网络带宽)的延迟和抖动较大,不能很好的支撑超高清视频流的流畅传输,会出现视频卡顿、跳帧等现象。
因此,本发明实施例中提供了一种针对云服务的视频流进行显示处理的方案,以实现抗网络延迟、抖动对视频流的显示质量产生的不利影响。
该方案的主要思路是:在客户端侧检测用户对云服务的操作行为,以便判断出当前是否处于用户与云服务频繁交互的场景。如果是频繁交互场景,则优先考虑保证视频流传输的实时性,以便用户能够及时地看到云服务对其交互操作行为的响应视频流;而如果不是频繁交互场景,则通过适当增加抖动缓冲区(如jitter buffer)的方式,来达到一定程度的抗网络延时、抖动的效果,减少网络延时和抖动带来的跳帧、卡顿等体验问题。
具体来说,客户端在与云服务建立连接后,便可以使用云服务。云服务的视频流便可以传输至客户端进行解码、显示。正常情形下,假设客户端是以预设解码速率(即1倍速的解码速率)对从云服务接收到的上述视频流进行即时的解码并送入显示器进行显示的。
客户端可以以设定的检测周期来检测是否有用户操作事件(即用户操作行为)的输入,该检测周期可以设置为微秒级的较短时间,比如10微秒。如果以某第一检测时刻作为起点,如果在第一检测时刻以及其之后的至少设定时间(比如至少3秒)内均没有检测到用户操作事件,则认为当前处于用户未与云服务频繁交互的场景,则客户端本地启用抖动缓冲区。其中,该设定时间可以包括设定数量的检测周期,假设自第一检测时刻起,经过该设定时间到达的是第二检测时刻。其中,客户端本地启用抖动缓冲区,是指客户端在内存中设置一块动态(基于软件的)的抖动缓冲区。
实际应用中,用户操作事件比如是用户在当前观看到的视频流画面中点击了云服务的界面中某个按钮、进行文件/文件夹的新建、删除界面上的某些内容,等等。用户操作事件的输入方式可以是通过键盘、鼠标、触控方式、语音方式等输入方式输入的。
在客户端启用抖动缓冲区后,接收的云服务的视频流便可以先存入该抖动缓冲区,之后,客户端从该抖动缓冲区以某解码速率从中获取视频流进行解码,将解码出的视频流进行显示。可选地,可以以上述预设解码速率从该抖动缓冲区中获取视频流进行解码。
其中,抖动缓冲区的核心思想以增大端到端的延迟为代价来换取视频流的流畅性,从而达到抗网络延时和抖动的效果。也就是说,由于抖动缓冲区被启用,云服务的视频流需要先存入该抖动缓冲区内进行缓存,而并非即时进行解码。缓存一段时间或一定数据量之后才进行解码,虽然增加了视频流的延迟,但是由于可以稳定地解码、显示,从而实现视频流的流畅显示效果。而如果网络延迟、抖动较大,并未采用抖动缓冲区来缓存视频流而是在接收到云服务的视频流时,便实时地进行解码、显示,那么由于网络延迟和抖动的影响,云服务的视频流并非是均匀接收到的,可能短时间内没有收到,也可能短时间内收到很多帧,便会出现视频卡顿、跳帧等现象。
为了更好地让抖动缓冲区内在更短时间内实现视频流的积累,实现缓存目的,可选地,可以在启用抖动缓冲区后的预设时间段内或所述抖动缓冲区内的数据量低于预设数据量时,以低于预设解码速率的第一解码速率对从抖动缓冲区内获取的视频流进行解码;而在该预设时间段之后或所述抖动缓冲区内的数据量高于预设数据量后,以所述预设解码速率对从抖动缓冲区内获取的视频流进行解码。该预设时间段比如为1秒、2秒等预设值。以预设解码速率为1倍速解码速率为例,第一解码速率比如为0.8倍速、0.5倍速等。也就是说,在启动抖动缓冲区后,接收到的云服务的视频流便存入抖动缓冲区,先以低倍速的解码速率来解码一段时间,之后再恢复正常倍速的解码速率进行解码。
为便于理解,类比举例来说,将抖动缓冲区理解为是一个水池,解码速率相当于是出水速率,在入水速率不变的情况下,出水速率小,水池内则会储存更多的水。
另外,客户端还可以维护一个指示抖动缓冲区是否被使用的状态标志符,在客户端启用抖动缓冲区时,记录所述抖动缓冲区处于使用状态,即将该状态标志符的取值设置为使用状态所对应的取值。
在上述实施例中,通过对用户操作事件的不断检测,当连续一段时间未检测到用户操作事件时认为用户当前处于不与云服务交互的场景,那么意味着此时对云服务的视频流延迟一定时间再进行显示对用户体验的影响是可以忽略的,因为以云桌面为例,如果用户并未对云桌面进行操作,那么用户感知不到视频流的延时。此时,启动使用抖动缓冲区,通过对视频流进行缓存以延迟显示,可以解决网络延迟和抖动带来的画面卡顿、跳帧的问题。
为便于理解,下面结合图2对上述实施例提供的方案进行示例型说明。
在图2提供的云服务的视频传输系统中,包括运行有某种云服务(比如云桌面)的云服务器以及对应的客户端,客户端与云桌面所在云服务器网络连接后的T1时刻开始,云桌面向客户端发送云桌面视频流a,T1时刻作为起始的检测时刻,客户端在T1时刻进行用户操作事件的检测,假设此时并未检测到操作事件,在T1时刻之后的比如3秒内的各个检测时刻假设客户端都并未检测到用户操作事件,并假设T1时刻之后过3秒到达T2时刻。那么可以理解的是,在T1至T2时间段内,客户端持续接收云桌面视频流a,客户端在接收到云桌面视频流a时以一倍速的解码速率来对其进行解码、显示。在T2时刻,客户端确定需要启用抖动缓存区,那么自T2时刻开始接收到的云桌面视频流b将被先存入该抖动缓冲区进行缓存,客户端可以先在短时间(比如1.5秒)内比如以0.8倍速的解码速率从抖动缓冲区获取云桌面视频流b进行解码、显示,之后以正常的一倍速解码速率从抖动缓冲区获取云桌面视频流b进行解码、显示。
图3为本发明实施例提供的一种云服务的视频显示方法的流程图,如图3所示,该方法包括如下步骤:
301、若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区。
302、将接收的云服务的视频流存入抖动缓冲区,云服务的界面被编码成所述视频流。
303、以预设解码速率从抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
304、若在第三检测时刻检测到对云服务的用户操作事件,则将用户操作事件发送至云服务,以使云服务对用户操作事件进行响应,第三检测时刻晚于第二检测时刻。
305、确定抖动缓冲区是否为空,若不为空,则执行步骤306-307,否则执行步骤307。
306、根据抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率,以第二解码速率对从抖动缓冲区内获取的视频流进行解码,并对解码出的视频流进行显示。
307、以预设解码速率对接收的云服务响应用户操作事件的视频流进行解码,并对解码出的视频流进行显示。
本实施例中,步骤301-303的执行过程参考前述实施例中的相关说明,在此不赘述。
本实施例中,假设在连续的一段时间:第一检测时刻至第二检测时刻期间,都未检测到用户对云服务的用户操作事件,但是在第二检测时刻之后的某个检测时刻(称为第三检测时刻)检测到了用户操作事件,此时,一方面,客户端需要将该用户操作事件发送至云服务,以便云服务对该用户操作事件进行响应,另一方面,在产生了用户操作事件的情形下,客户端需要对响应该用户操作事件而产生的视频流进行及时地解码、显示,以便用户可以几乎实时地看到云服务对其操作行为的响应结果。
由于第一检测时刻至第二检测时刻期间都未检测到用户对云服务的用户操作事件,所以客户端已经启用了抖动缓冲区,那么在抖动缓冲区已经被启用的情形下,当在第三检测时刻产生了用户操作事件时,需要先尽快地将此前存入抖动缓冲区内缓存的视频流处理掉,之后才能解码在此之后产生的响应用户操作事件的视频流。因此,在第三检测时刻检测到用户操作事件时,首先可以判断抖动缓冲区内当前是否为空。
若为空,说明其中并未缓存有视频流,那么此时客户端可以直接对接收到的云服务响应用户操作事件的视频流进行解码、显示,且此时采用的解码速率为前述预设解码速率(即一倍速解码速率)。注意,此时云服务响应该用户操作事件的视频流并不会存入抖动缓冲区进行缓存了,因为要满足对用户操作事件的实时响应。
若不为空,则可以先根据抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率,以第二解码速率对从抖动缓冲区内获取的视频流进行解码、显示;之后,再以预设解码速率对接收的云服务响应用户操作事件的视频流进行解码、显示。
实际应用中,抖动缓冲区内缓存的数据量越多,确定的第二解码速率越高,以便以更高的解码速率尽快地将缓存的视频流解码、显示处理完毕。第二解码速率比如为2倍速解码速率、3倍速解码速率等。
综上,在本实施例所提供的方案中,当用户持续对云服务不进行交互操作时,启用抖动缓冲区以对此时云服务的视频流进行缓存,以便解决网络延时和抖动带来的视频卡顿、跳帧问题,而当用户对云服务产生交互操作时,则尽快解码、显示完抖动缓冲区内缓存的视频,以便及时地对响应用户操作行为的视频进行解码、显示,满足用户交互响应的实时性。
前述实施例中假设的是先启用了抖动缓冲区后检测到用户操作事件的情形,下面结合图4所示实施例介绍检测到用户操作事件之后的一般性处理流程。
图4为本发明实施例提供的一种云服务的视频显示方法的流程图,如图4所示,该方法包括如下步骤:
401、若在第三检测时刻检测到对云服务的用户操作事件,则将用户操作事件发送至云服务,以使云服务对用户操作事件进行响应。
402、确定抖动缓冲区是否处于使用状态,若是,则执行步骤403,否则,执行步骤405。
403、确定抖动缓冲区是否为空,若不为空,则执行步骤404-405,否则执行步骤405。
404、根据抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率,以第二解码速率对从抖动缓冲区内获取的视频流进行解码,并对解码出的视频流进行显示,若抖动缓冲区内视频流均被解码,则记录抖动缓冲区为不可用状态。
405、以预设解码速率对接收的云服务响应用户操作事件的视频流进行解码,并对解码出的视频流进行显示。
基于前述实施例中的相关说明,当客户端启用抖动缓冲区时,可以记录抖动缓冲区处于使用状态,即将指示抖动缓冲区是否被使用的状态标志符的取值设置为使用状态所对应的取值。基于此,假设在当前的第三检测时刻,客户端检测到用户对云服务的用户操作事件,则一方面将该用户操作事件发送至云服务,以使云服务对该用户操作事件进行响应,另一方面,客户端需要判断当前是否已经启用了抖动缓冲区,以及抖动缓冲区内的数据量。
当基于上述状态标志符确定抖动缓冲区没有被启用时,则直接对从云服务接收到的响应该用户操作事件的视频流以预设解码速率进行解码、显示处理。
当基于上述状态标志符确定抖动缓冲区已经被启用时,进一步判断抖动缓冲区是否为空。若为空,说明其中并未缓存有视频流,那么此时客户端同样直接对接收到的云服务响应用户操作事件的视频流以预设解码速率进行解码、显示。若不为空,则可以先根据抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率,以第二解码速率对从抖动缓冲区内获取的视频流进行解码、显示,直至抖动缓冲区内缓存的视频流都被解码、显示完毕,此时可以将上述状态标志符的取值设置为未使用状态所对应的取值;之后,再以预设解码速率对接收的云服务响应用户操作事件的视频流进行解码、显示。可以理解的是,若在第三检测时刻之后的一段设定时间(比如上述举例的3秒)内,均未检测到用户操作事件,则此时客户端启用抖动缓冲区,将上述状态标志符的取值设置为使用状态所对应的取值。
以下将详细描述本发明的一个或多个实施例的云服务的视频显示装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图5为本发明实施例提供的一种云服务的视频显示装置的结构示意图,如图5所示,该装置包括:检测模块11、存储模块12、解码显示模块13。
检测模块11,用于若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区。
存储模块12,用于将接收的所述云服务的视频流存入所述抖动缓冲区,所述云服务的界面被编码成所述视频流。
解码显示模块13,用于从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
可选地,所述解码显示模块13具体用于:以预设解码速率对从所述抖动缓冲区内获取的视频流进行解码。
可选地,所述解码显示模块13具体用于:在启用所述抖动缓冲区后的预设时间段内或所述抖动缓冲区内的数据量低于预设数据量时,以低于预设解码速率的第一解码速率对从所述抖动缓冲区内获取的视频流进行解码;在所述预设时间段之后或所述抖动缓冲区内的数据量高于预设数据量后,以所述预设解码速率对从所述抖动缓冲区内获取的视频流进行解码。
可选地,所述检测模块11还用于:记录所述抖动缓冲区处于使用状态。
可选地,所述检测模块11还用于:若在第三检测时刻检测到对所述云服务的用户操作事件,则将所述用户操作事件发送至所述云服务,以使所述云服务对所述用户操作事件进行响应,所述第三检测时刻晚于所述第二检测时刻。所述解码显示模块13还用于:根据所述抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率;以所述第二解码速率对从所述抖动缓冲区内获取的视频流进行解码,并对解码出的视频流进行显示。
可选地,所述解码显示模块13还用于:以所述第二解码速率对从所述抖动缓冲区内获取的视频流进行解码,若所述抖动缓冲区内视频流均被解码,则以所述预设解码速率对接收的所述云服务响应所述用户操作事件的视频流进行解码,并对解码出的视频流进行显示。
可选地,所述解码显示模块13还用于:以所述第二解码速率对从所述抖动缓冲区内获取的视频流进行解码,若所述抖动缓冲区内视频流均被解码,则记录所述抖动缓冲区为不可用状态。
可选地,解码显示模块13还用于:响应于在第三检测时刻检测到对所述云服务的用户操作事件,确定所述抖动缓冲区是否处于使用状态;若所述抖动缓冲区处于使用状态,则根据所述抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率,以所述第二解码速率对从所述抖动缓冲区内获取的视频流进行解码,若所述抖动缓冲区内视频流均被解码,则以所述预设解码速率对接收的所述云服务响应所述用户操作事件的视频流进行解码,并对解码出的视频流进行显示;若所述抖动缓冲区处于不可用状态,则以所述预设解码速率对接收的所述云服务响应所述用户操作事件的视频流进行解码,并对解码出的视频流进行显示。
图5所示装置可以执行前述实施例中的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图5所示云服务的视频显示装置的结构可实现为一电子设备。该电子设备比如是智能手机、笔记本电脑等用户终端设备。如图6所示,该电子设备可以包括:处理器21、存储器22、通信接口23。其中,存储器22上存储有可执行代码,当所述可执行代码被处理器21执行时,使处理器21至少可以实现如前述实施例中提供的云服务的视频显示方法。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的云服务的视频显示方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种云服务的视频显示方法,其特征在于,应用于客户端,所述方法包括:
若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区;
将接收的所述云服务的视频流存入所述抖动缓冲区,所述云服务的界面被编码成所述视频流;
从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
2.根据权利要求1所述的方法,其特征在于,所述从所述抖动缓冲区内获取视频流进行解码,包括:
以预设解码速率对从所述抖动缓冲区内获取的视频流进行解码。
3.根据权利要求2所述的方法,其特征在于,所述以预设解码速率对从所述抖动缓冲区内获取的视频流进行解码,包括:
在启用所述抖动缓冲区后的预设时间段内或所述抖动缓冲区内的数据量低于预设数据量时,以低于所述预设解码速率的第一解码速率对从所述抖动缓冲区内获取的视频流进行解码;
在所述预设时间段之后或所述抖动缓冲区内的数据量高于所述预设数据量后,以所述预设解码速率对从所述抖动缓冲区内获取的视频流进行解码。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
记录所述抖动缓冲区处于使用状态。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
若在第三检测时刻检测到对所述云服务的用户操作事件,则将所述用户操作事件发送至所述云服务,以使所述云服务对所述用户操作事件进行响应,所述第三检测时刻晚于所述第二检测时刻;
根据所述抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率;
以所述第二解码速率对从所述抖动缓冲区内获取的视频流进行解码,并对解码出的视频流进行显示。
6.根据权利要求5所述的方法,其特征在于,所述以所述第二解码速率对从所述抖动缓冲区内获取的视频流进行解码之后,所述方法还包括:
若所述抖动缓冲区内视频流均被解码,则以所述预设解码速率对接收的所述云服务响应所述用户操作事件的视频流进行解码,并对解码出的视频流进行显示。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述抖动缓冲区内视频流均被解码,则记录所述抖动缓冲区为不可用状态。
8.根据权利要求5所述的方法,其特征在于,所述在第三检测时刻检测到对所述云服务的用户操作事件之后,所述方法还包括:
确定所述抖动缓冲区是否处于使用状态;
所述根据所述抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率,包括:
若所述抖动缓冲区处于使用状态,则根据所述抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率。
9.一种云服务的视频显示装置,其特征在于,应用于客户端,包括:
检测模块,用于若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区;
存储模块,用于将接收的所述云服务的视频流存入所述抖动缓冲区,所述云服务的界面被编码成所述视频流;
解码显示模块,用于从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
10.一种电子设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至8中任一项所述的云服务的视频显示方法。
11.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至8中任一项所述的云服务的视频显示方法。
12.一种云服务的视频传输系统,其特征在于,包括:运行有云服务的云服务器以及与所述云服务对应的客户端;
所述云服务器,用于对所述云服务的界面进行视频编码以得到所述云服务的视频流,并将所述云服务的视频流发送至所述客户端;
所述客户端,用于若在第一检测时刻与第二检测时刻内未检测到对所述云服务的用户操作事件,则本地启用抖动缓冲区;以及,将接收的所述云服务的视频流存入所述抖动缓冲区,从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211131870.3A CN115643449A (zh) | 2022-09-16 | 2022-09-16 | 云服务的视频显示方法、装置、设备、存储介质和系统 |
PCT/CN2023/119261 WO2024056095A1 (zh) | 2022-09-16 | 2023-09-15 | 云服务的视频显示方法、装置、设备、存储介质和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211131870.3A CN115643449A (zh) | 2022-09-16 | 2022-09-16 | 云服务的视频显示方法、装置、设备、存储介质和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115643449A true CN115643449A (zh) | 2023-01-24 |
Family
ID=84941680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211131870.3A Pending CN115643449A (zh) | 2022-09-16 | 2022-09-16 | 云服务的视频显示方法、装置、设备、存储介质和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115643449A (zh) |
WO (1) | WO2024056095A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886974A (zh) * | 2023-09-07 | 2023-10-13 | 海马云(天津)信息技术有限公司 | 优化终端解码渲染性能的方法和装置 |
WO2024056095A1 (zh) * | 2022-09-16 | 2024-03-21 | 杭州阿里云飞天信息技术有限公司 | 云服务的视频显示方法、装置、设备、存储介质和系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1232251A (zh) * | 1998-04-02 | 1999-10-20 | 索尼株式会社 | 再现装置和再现方法 |
CN102006511A (zh) * | 2010-11-24 | 2011-04-06 | 中兴通讯股份有限公司 | 直播节目的回看方法、装置及终端 |
US20160080780A1 (en) * | 2014-09-12 | 2016-03-17 | Spotify Ab | System and method for early media buffering using detection of user behavior |
CN107370714A (zh) * | 2016-05-13 | 2017-11-21 | 吉林纪元时空动漫游戏科技集团股份有限公司 | 面向云渲染的高效通讯方法 |
CN111135569A (zh) * | 2019-12-20 | 2020-05-12 | RealMe重庆移动通信有限公司 | 云游戏处理方法、装置、存储介质与电子设备 |
CN111294634A (zh) * | 2020-02-27 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 直播方法、装置、系统、设备及计算机可读存储介质 |
CN111298427A (zh) * | 2020-02-04 | 2020-06-19 | 南京大学 | 一种在虚拟现实云游戏系统中降低画面抖动的方法 |
CN112999653A (zh) * | 2021-01-21 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种云游戏处理方法、装置、设备及介质 |
CN114095762A (zh) * | 2021-11-23 | 2022-02-25 | 湖南麒麟信安科技股份有限公司 | 数据传输方法、装置、计算机设备及计算机可读存储介质 |
CN114816644A (zh) * | 2022-05-12 | 2022-07-29 | 阿里巴巴(中国)有限公司 | 云界面的数据处理方法、第一用户设备、服务器和第二用户设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9363187B2 (en) * | 2012-11-28 | 2016-06-07 | Nvidia Corporation | Jitter buffering system and method of jitter buffering |
CN112822502B (zh) * | 2020-12-28 | 2022-06-07 | 阿里巴巴(中国)有限公司 | 直播去抖动的智能缓存与直播方法、设备及存储介质 |
CN115643449A (zh) * | 2022-09-16 | 2023-01-24 | 阿里巴巴(中国)有限公司 | 云服务的视频显示方法、装置、设备、存储介质和系统 |
-
2022
- 2022-09-16 CN CN202211131870.3A patent/CN115643449A/zh active Pending
-
2023
- 2023-09-15 WO PCT/CN2023/119261 patent/WO2024056095A1/zh unknown
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1232251A (zh) * | 1998-04-02 | 1999-10-20 | 索尼株式会社 | 再现装置和再现方法 |
CN102006511A (zh) * | 2010-11-24 | 2011-04-06 | 中兴通讯股份有限公司 | 直播节目的回看方法、装置及终端 |
US20160080780A1 (en) * | 2014-09-12 | 2016-03-17 | Spotify Ab | System and method for early media buffering using detection of user behavior |
CN107370714A (zh) * | 2016-05-13 | 2017-11-21 | 吉林纪元时空动漫游戏科技集团股份有限公司 | 面向云渲染的高效通讯方法 |
CN111135569A (zh) * | 2019-12-20 | 2020-05-12 | RealMe重庆移动通信有限公司 | 云游戏处理方法、装置、存储介质与电子设备 |
CN111298427A (zh) * | 2020-02-04 | 2020-06-19 | 南京大学 | 一种在虚拟现实云游戏系统中降低画面抖动的方法 |
CN111294634A (zh) * | 2020-02-27 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 直播方法、装置、系统、设备及计算机可读存储介质 |
CN112999653A (zh) * | 2021-01-21 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种云游戏处理方法、装置、设备及介质 |
CN114095762A (zh) * | 2021-11-23 | 2022-02-25 | 湖南麒麟信安科技股份有限公司 | 数据传输方法、装置、计算机设备及计算机可读存储介质 |
CN114816644A (zh) * | 2022-05-12 | 2022-07-29 | 阿里巴巴(中国)有限公司 | 云界面的数据处理方法、第一用户设备、服务器和第二用户设备 |
Non-Patent Citations (3)
Title |
---|
BIN PAN 等: "AMVP-Cloud: A Framework of Adaptive Mobile Video Streaming and User Behavior Oriented Video Pre-fetching in the Clouds", 《2012 IEEE 12TH INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION TECHNOLOGY》, 24 December 2012 (2012-12-24) * |
张杨: "客户机/服务器计算环境中远程显示优化技术研究与实践", 《万方学位论文》, 31 December 2010 (2010-12-31) * |
李文军: "私有云桌面环境中音视频传输技术的优化与实现", 《 CNKI优秀硕士学位论文全文库》, 15 July 2020 (2020-07-15) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024056095A1 (zh) * | 2022-09-16 | 2024-03-21 | 杭州阿里云飞天信息技术有限公司 | 云服务的视频显示方法、装置、设备、存储介质和系统 |
CN116886974A (zh) * | 2023-09-07 | 2023-10-13 | 海马云(天津)信息技术有限公司 | 优化终端解码渲染性能的方法和装置 |
CN116886974B (zh) * | 2023-09-07 | 2023-12-19 | 海马云(天津)信息技术有限公司 | 优化终端解码渲染性能的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2024056095A1 (zh) | 2024-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115643449A (zh) | 云服务的视频显示方法、装置、设备、存储介质和系统 | |
CN111135569A (zh) | 云游戏处理方法、装置、存储介质与电子设备 | |
WO2020248909A1 (zh) | 视频解码方法、装置、计算机设备及存储介质 | |
US20190268601A1 (en) | Efficient streaming video for static video content | |
CN112637661B (zh) | 视频流的切换方法及装置、计算机存储介质、电子设备 | |
CN110324721B (zh) | 一种视频数据处理方法、装置及存储介质 | |
US20200296470A1 (en) | Video playback method, terminal apparatus, and storage medium | |
CN113490055B (zh) | 数据处理方法和装置 | |
US20150341634A1 (en) | Method, apparatus and system to select audio-video data for streaming | |
WO2021057697A1 (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
KR20180086114A (ko) | 재생 지연 방지 시스템을 포함하는 미디어 재생 장치 및 방법 | |
CN111343503B (zh) | 视频的转码方法、装置、电子设备及存储介质 | |
US10708667B1 (en) | Combining fragments with different encodings | |
CN113259729B (zh) | 数据切换的方法、服务器、系统及存储介质 | |
CN114040245A (zh) | 视频播放方法、装置、计算机存储介质和电子设备 | |
CN113992883A (zh) | 视频会议处理方法、处理设备、会议系统以及存储介质 | |
Hsu et al. | Screencast dissected: Performance measurements and design considerations | |
US20210400334A1 (en) | Method and apparatus for loop-playing video content | |
CN115988269A (zh) | 一种视频播放方法、装置、系统、电子设备和存储介质 | |
KR20160015134A (ko) | 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
EP3891962B1 (en) | Synchronized jitter buffers to handle codec switches | |
CN113079103A (zh) | 音频发送方法、装置、电子设备及存储介质 | |
WO2021013558A1 (en) | A media client with adaptive buffer size and the related method | |
CN112738571B (zh) | 一种流媒体参数的确定方法及装置 | |
KR102359367B1 (ko) | 게임 스트리밍을 위한 방법 및 장치 |
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 |