CN108156509A - 视频播放方法、装置及用户终端 - Google Patents

视频播放方法、装置及用户终端 Download PDF

Info

Publication number
CN108156509A
CN108156509A CN201711466133.8A CN201711466133A CN108156509A CN 108156509 A CN108156509 A CN 108156509A CN 201711466133 A CN201711466133 A CN 201711466133A CN 108156509 A CN108156509 A CN 108156509A
Authority
CN
China
Prior art keywords
video frame
time stamp
presentation time
video
user terminal
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.)
Granted
Application number
CN201711466133.8A
Other languages
English (en)
Other versions
CN108156509B (zh
Inventor
蒋华平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Cloud Technologies Co Ltd
Original Assignee
New H3C Cloud Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Cloud Technologies Co Ltd filed Critical New H3C Cloud Technologies Co Ltd
Priority to CN201711466133.8A priority Critical patent/CN108156509B/zh
Publication of CN108156509A publication Critical patent/CN108156509A/zh
Application granted granted Critical
Publication of CN108156509B publication Critical patent/CN108156509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请实施例提供一种视频播放方法、装置及用户终端,方法及装置应用于用户终端。用户终端接收云桌面服务器发送的待显示的视频帧,并将该视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和,从而按照该视频帧的显示持续时长以及接收到该视频帧的接收顺序对该视频帧进行显示。如此,可以避免用户终端在播放视频时出现卡顿。

Description

视频播放方法、装置及用户终端
技术领域
本申请涉及虚拟桌面服务技术领域,具体而言,涉及一种视频播放方法、装置及用户终端。
背景技术
随着云计算的不断发展,桌面虚拟化技术日益成熟。在云计算系统中,比较重要的一个功能是在云桌面中进行视频播放。然而,在播放过程中,总是会出现视频卡顿的现象,用户体验不佳。
发明内容
有鉴于此,本申请实施例的目的在于提供一种视频播放方法、装置及用户终端,以改善用户终端通过云桌面播放视频时的卡顿问题。
为了达到上述目的,本申请实施例提供一种视频播放方法,应用于与云桌面服务器通信连接的用户终端,所述方法包括:
接收所述云桌面服务器发送的待显示的视频帧,所述视频帧包括显示持续时长;
将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和,以使用户终端按照所述视频帧的显示持续时长以及接收到所述视频帧的接收顺序对所述视频帧进行显示。
可选的,所述方法还包括:在首次接收到所述云桌面服务器发送的视频帧时,将该视频帧的显示时间戳修改为默认值。
可选的,所述用户终端设置有初始值为所述默认值的第一全局时间变量;则所述将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和,包括:
将所述第一全局时间变量的当前值作为所述视频帧的显示时间戳,并将所述第一全局时间变量的值更新为该视频帧的显示时间戳与显示持续时长之和。
可选的,在接收到所述云桌面服务器发送的视频帧之后,所述方法还包括:
判断所述视频帧是否是预设的异常视频帧;
若所述视频帧不是所述异常视频帧,则执行将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和的步骤。
可选的,所述方法还包括:在接收到预设指令时,将所述第一全局时间变量的值设置为所述默认值,其中,所述预设指令包括快进指令、快退指令、暂停指令及停止指令中的任意一个。
可选的,所述用户终端中还设置有第二全局时间变量,则所述方法还包括:
在接收到所述预设指令后,当接收到显示时间戳大于所述默认值的视频帧时,将所述第二全局时间变量的值更新为当前的系统时间。
可选的,所述判断所述视频帧是否是预设的异常视频帧,包括:判断所述视频帧是否满足预设条件中的任意一个,若满足,确定所述视频帧是所述异常视频帧,否则,确定所述视频帧不是所述异常视频帧;其中,所述预设条件包括:
所述视频帧的显示时间戳为负值;
所述视频帧的显示持续时长小于第一预设时长;
接收到所述视频帧的时刻与第二全局时间变量的当前值的间隔小于第二预设时长。
本申请实施例还提供一种视频播放装置,应用于与云桌面服务器通信连接的用户终端,所述装置包括:
接收模块,用于接收所述云桌面服务器发送的待显示的视频帧,所述视频帧包括显示持续时长;
修改模块,用于将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和,以使用户终端按照所述视频帧的显示持续时长以及接收到所述视频帧的接收顺序对所述视频帧进行显示。
可选的,所述修改模块,还用于在所述接收模块首次接收到所述云桌面服务器发送的视频帧时,将该视频帧的显示时间戳修改为默认值。
可选的,所述用户终端设置有初始值为默认值的第一全局时间变量;
所述修改模块将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和的方式为:
将所述第一全局时间变量的当前值作为所述视频帧的显示时间戳,并将所述第一全局时间变量的值更新为所述视频帧的显示时间戳与显示持续时长之和。
可选的,所述装置还包括:判断模块,用于判断所述接收模块接收到的视频帧是否是预设的异常视频帧,当所述视频帧不是所述预设的异常视频帧时,则触发所述修改模块将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和。
可选的,所述装置还包括:第一设置模块,用于在接收到预设指令时,将所述第一全局时间变量的值设置为所述默认值,其中,所述预设指令包括快进指令、快退指令、暂停指令及停止指令中的任意一个。
可选的,所述用户终端还设置有第二全局时间变量,则,所述装置还包括:第二设置模块,用于在接收到所述预设指令后,当接收到显示时间戳大于所述默认值的视频帧时,将所述第二全局时间变量的值更新为当前的系统时间。
可选的,所述判断模块判断所述接收模块接收到的视频帧是否是预设的异常视频帧的方式为:判断所述视频帧是否满足预设条件中的任意一个,若满足,确定所述视频帧是所述异常视频帧,否则,确定所述视频帧不是所述异常视频帧;其中,所述预设条件包括:
所述视频帧的显示时间戳为负值;
所述视频帧的显示持续时长小于第一预设时长;
接收到所述视频帧的时刻与第二全局时间变量的当前值的间隔小于第二预设时长。
本申请实施例还提供一种用户终端,所述用户终端包括存储器、处理器及本申请实施例提供的视频播放装置,所述视频播放装置存储在所述存储器中,并被所述处理器控制执行。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现本申请实施例提供的视频播放方法。
本申请实施例提供一种视频播放方法、装置、用户终端及存储介质,用户终端接收云桌面服务器发送的待显示的视频帧,并将该视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和,从而按照该视频帧的显示持续时长及接收到该视频帧的接收顺序对该视频帧进行显示。如此,可以避免用户终端在播放云桌面发送的视频数据时出现视频卡顿现象。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种云桌面服务器与至少一个用户终端的交互示意图;
图2为本申请实施例提供的一种用户终端的方框示意图;
图3为本申请实施例提供的一种视频帧的显示顺序及解码顺序的示意图;
图4为本申请实施例提供的一种视频播放方法的流程示意图;
图5为本申请实施例提供的另一种视频播放方法的流程示意图;
图6为本申请实施例提供的一种视频播放装置的功能模块框图。
图标:100-用户终端;110-云桌面客户端;120-视频播放装置;121-接收模块;122-修改模块;123-判断模块;124-第一设置模块;125-第二设置模块;130-存储器;140-处理器;150-显示单元;160-通信单元;200-云桌面服务器;210-虚拟机;300-网络。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
如图1所示,是本申请实施例提供的一种云桌面服务器200与至少一个用户终端100的交互示意图。云桌面服务器200可通过网络300与用户终端100进行通信,以实现云桌面服务器200与用户终端100之间的数据通信或交互。
在云桌面服务器200中,预设有虚拟机210。用户终端100与云桌面服务器200通信,实际是与云桌面服务器200中的某一虚拟机210通信。在用户终端100中,通常安装有云桌面客户端110,用户终端100通过所述云桌面客户端110可以与相应的虚拟机210通信,从而接收所述虚拟机210发送的数据,或是向所述相应的虚拟机210发送数据。
所述用户终端100可以是,但不限于,智能手机、个人计算机(Personal Computer,PC)、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、移动上网设备(MobileInternet Device,MID)等。此外,所述用户终端100可以是瘦客户机,也即,配置较低的PC机,其上配置有专业的低功耗、高运算功能的嵌入式处理器。在本实施例中,所述云桌面服务器200可以是,但不限于,FTP(File Transfer Protocol,文件传输协议)服务器、Web(网站)服务器等。
如图2所示,是本申请实施例提供的一种用户终端100的方框示意图。所述用户终端100包括云桌面客户端110、视频播放装置120、存储器130、处理器140、显示单元150及通信单元160。
所述存储器130、处理器140、显示单元150及通信单元160各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述云桌面客户端110及视频播放装置120包括至少一个可以软件(software)或固件(firmware)的形式存储于存储器130中或固化在用户终端100的操作系统(Operating System,OS)中的软件功能模块。
其中,所述处理器140用于在接收到执行指令时执行存储在所述存储器130中的可执行模块。
所述显示单元150用于显示用户终端100中的待显示数据(如,视频数据)。所述通信单元160用于建立用户终端100与云桌面服务器200之间的通信连接,以实现用户终端100与云桌面服务器200之间的数据交互。
应当理解,图2所示的结构仅为示意,用户终端100可以具有比图2所示更多、更少或完全不同的组件,其中,图2所示的各组件可以软件、硬件或其组合实现。
在本实施例中,云桌面服务器200所包括的组件及各组件之间的连接关系与用户终端100类似,在此不再赘述。
在实际应用中,用户终端100通过云桌面服务器200进行视频文件的播放可以有以下两种方式:
第一,云桌面服务器200首先将待播放的视频文件分离成视频数据和音频数据,再分别对所述视频数据和音频数据进行解码,并将解码后的视频数据和音频数据发送到用户终端100,由用户终端100对解码后的视频数据和音频数据播放。
第二,云桌面服务器200将待播放的视频文件分离成视频数据和音频数据,并将分离得到的视频数据和音频数据直接发送给用户终端100,由用户终端100分别对接收到的视频数据和音频数据进行解码播放。
在第一种方式中,云桌面服务器200可以通过CPU(Central Processing Unit,中央处理器)或GPU(Graphics Processing Unit,图形处理器)对视频数据进行解码。其中,由于CPU适合进行计算量小但计算复杂的运算,而GPU适合进行计算量大但计算简单的运算,因此,通过CPU对视频数据进行解码效率较低,通过GPU对视频数据进行解码效率较高。因而,通常会选择通过GPU对视频数据进行解码。
然而,由于云桌面服务器200上运行的每个虚拟机210都可能涉及到视频播放,因此,若在云桌面服务器200这一端通过GPU对视频数据进行解码,则需要额外地为每个虚拟机210都配备相应的GPU,成本较高。考虑到每个用户终端100本身就携带了GPU,以及解码后的视频数据的数据量较大,传输时间较长,在实际应用中,通常会选择使用上述的第二种方式进行视频文件的播放。也即,将未解码的视频数据和音频数据分别发送到用户终端100进行解码播放。
但是,在实际应用中,无论通过上述哪一种方式在用户终端100播放云桌面服务器200发送的视频文件,都会出现视频卡顿现象,用户体验很差。
发明人经过大量研究发现,云桌面服务器200在向用户终端100发送视频数据是按照视频数据中各个视频帧的解码(编码)顺序进行发送的。而在编码过程中,为了减小数据容量,通常会对视频数据进行压缩。可选地,压缩过程通常如下:
把所述视频数据的图像序列中的视频帧划分为多组,每组视频数据包括若干视频帧;将每组视频数据中的若干视频帧定义为三种类型:I帧、B帧和P帧。其中,I帧通常是每组视频数据的第一帧,保留了该第一帧完整的画面,解码时只需本帧数据即可完成解码。P帧根据本帧与相邻前一帧(I帧或P帧)的不同点来压缩本帧数据,也即,在连续动态图像编码时,P帧由它前面的P帧或I帧预测得到。当把一帧压缩成B帧时,它根据相邻的前一帧、本帧以及相邻的后一帧数据的不同点来压缩本帧,也即,仅记录本帧与前后帧的差值。上述过程相当于以I帧作为基础帧,以I帧预测P帧,再由I帧和P帧预测B帧,最后将I帧数据及预测的差值信息(压缩后的B帧、P帧)进行存储和传输。
在按照I、P、B帧进行压缩的情形下,编码得到的视频数据的显示顺序与解码顺序是不同的。以图3所示的8个视频帧为例,视频数据的实际显示顺序是I、B、B、P、B、B、P、B,其显示顺序分别是0、1、2、3、4、5、6、7。但为了解码时便于从I、P帧画面插补得到B帧的画面,在编码时会将顺序改编成I、P、B、B、P、B、B、P,相当于将原来的顺序改为0、3、1、2、6、4、5,其中,实际显示顺序排在第7位的B帧需要根据其后的P帧调整编码顺序(即,解码顺序)。
如此,云桌面服务器200向用户终端100发送各个视频帧的顺序与其实际显示顺序是不同的。
以解码顺序为I、P、B、B,显示顺序为I、B、B、P的四个视频帧为例,用户终端100接收到该四个视频帧的顺序也会是I、P、B、B,但是当用户终端100对P帧解码后,不能立即显示P帧,要直到接收到后续的两个B帧并对所述两个B帧解码和显示后再显示P帧。在这一过程中,用户需要等待较长的时间(至少包括正常发送两个B帧的时间)才能看到P帧,在视觉上用户会感觉到视频卡顿的现象。
当网络不佳时,所述两个B帧的传输时间会变长,从而导致用户等待的时间也变长,卡顿现象会更严重。
针对上述问题,发明人设计对用户终端100接收到的每个视频帧进行处理,以使用户终端100按照每个视频帧的显示持续时长及接收到每个视频帧的接收顺序依次对每个视频帧进行显示,从而改善用户终端100在播放云桌面服务器200发送的视频文件时出现的视频卡顿问题。
如图4所示,是本申请实施例提供的一种视频播放方法的流程示意图,所述视频播放方法应用于图2所示的用户终端100。下面结合图2对所述视频播放方法做详细阐述。
步骤S110,接收所述云桌面服务器200发送的待显示的视频帧,所述视频帧包括显示持续时长。
其中,所述待显示的视频帧是云桌面服务器200从待播放视频文件中分离出的视频数据所包括的视频帧,所述视频帧可以是由云桌面服务器200中的播放器解码后的视频帧,也可以是未经解码的视频帧。
每个视频帧中通常包括显示持续时长(duration),显示持续时长是视频帧的一个属性,表示视频帧在显示时从开始显示到显示结束应当持续的时长。
需要说明的是,在发送视频帧时,云桌面服务器200是在发送完前一视频帧的情况下,再发送下一视频帧。
步骤S120,将所述视频帧的显示时间戳(Presentation Time Stamp,PTS)修改为接收到的前一视频帧的显示时间戳与显示持续时长之和,以使用户终端100按照所述视频帧的显示持续时长以及接收到所述视频帧的接收顺序对所述视频帧进行显示。
其中,前一视频帧的显示时间戳是指前一视频帧当前的显示时间戳,即前一视频帧被修改后的显示时间戳。
在现有技术中,播放器在播放视频数据时,通常是根据视频数据中每个视频帧的显示顺序及显示持续时长依次显示每个视频帧,而本实施例中,巧妙地对接收到的视频帧的显示时间戳进行修改,在确保该视频帧的显示持续时长不变的情况下,使所述用户终端100按照接收到该视频帧的接收顺序依次对每个视频帧进行显示。
仍旧以解码顺序为I、P、B、B,显示顺序为I、B、B、P的四个视频帧为例,用户终端100接收到视频帧的接收顺序为I、P、B、B,若不通过本实施例提供的视频播放方法进行处理,则当用户终端100接收到P帧时,还无法显示P帧,需要等接收到后续的两个B帧并显示所述两个B帧后,再显示P帧。
在通过本实施例提供的视频播放方法进行处理后,用户终端100在播放接收到的视频帧时,会先显示P帧,再显示所述两个B帧,如此,在接收到P帧时,且所述P帧之前的I帧显示完时,就可以立即显示所述P帧,在I帧与P帧之间不存在间隔,中间不会有卡顿。
并且,上述处理改变的只是相邻2-3个视频帧的实际显示顺序,在用户的视觉上并不会造成影响。
经发明人研究发现,所述视频数据中各视频帧的显示顺序由所述各视频帧的显示时间戳确定,也即,每个视频帧的显示时间戳决定了该视频帧何时显示,进一步地,每个视频帧的显示持续时长决定了该视频帧显示多久。如此,可以确定,每个视频帧的显示时间戳及显示持续时长决定了该视频帧按照显示顺序的下一视频帧何时显示,也即,决定了所述下一视频帧的显示时间戳。
基于上述研究,本申请实施例中,用户终端100在接收到云桌面服务器200发送的视频帧时,即对该视频帧的显示时间戳基于前一视频帧的显示时间戳进行修改,从而改变用户终端100显示该视频帧的顺序。
可选地,所述方法还可以包括如下步骤:
在首次接收到所述云桌面服务器200发送的视频帧时,将该视频帧的显示时间戳修改为默认值。
其中,用户终端100首次接收到的视频帧,即为用户终端100接收到的第一个视频帧,所述第一个视频帧的显示时间戳可以被设置为默认值,所述默认值通常为0,以表示立即显示所述第一个视频帧。此外,所述默认值也可以为5毫秒(ms)、10ms、15ms等不影响用户视觉效果的值。值得说明的是,用户终端100首次接收到的视频帧是指当用户终端100接收到播放指令后首次接收到的视频帧。
下面给出一个示例,以对上述步骤进行说明:
假设用户终端100依次接收到A1、A2、A3、A4四个视频帧,其中,所述四个视频帧的显示持续时长均为30ms,所述四个视频帧原始的显示时间戳分别是0ms、60ms、90ms、30ms,也即,所述四个视频帧的实际显示顺序是A1、A4、A2、A3。其中,A1是用户终端100在接收到播放指令后接收到的第一个视频帧。则,当接收A1时,用户终端100将A1的显示时间戳设置为0ms;当接收到A2时,用户终端100将A2的显示时间戳修改A1的显示时间戳与显示持续时长之和,即0ms+30ms=30ms;当接收到A3时,用户终端100将A3的显示时间戳修改为A2的显示时间戳与显示持续时长之和,即30ms+30ms=60ms;当接收到A4时,将A4的显示时间戳修改为A3的显示时间戳与显示持续时长之和,即60ms+30ms=90ms。这样一来,A1、A2、A3、A4的显示时间戳分别被修改为0ms、30ms、60ms、90ms,也即,所述四个视频帧的显示顺序被修改为A1、A2、A3、A4,且每个视频帧维持原来的显示持续时长不变。
在一种具体实施方式中,可以在用户终端100中设置第一全局时间变量,并将所述第一全局时间变量的初始值设置为所述默认值。
在这一情形下,上述的步骤S120,可以通过如下步骤实现:
将所述第一全局时间变量的当前值作为所述视频帧的显示时间戳,并将所述第一全局时间变量的值更新为该视频帧的显示时间戳与显示持续时长之和。
如此,当用户终端100首次接收到云桌面服务器200发送的视频帧时,第一全局时间变量的当前值为所述默认值,此时用户终端100将第一全局时间变量的当前值作为首次接收到的视频帧(后称“第一个视频帧”)的显示时间戳,也即,用户终端100将第一个视频帧的显示时间戳被修改成了所述默认值。然后,用户终端100会将第一全局时间变量的值更新为第一个视频帧的显示时间戳与显示持续时长之和,即第一全局时间变量的当前值被更新为第一个视频帧的显示时间戳与显示持续时长之和。
此时针对后续接收到的第二个视频帧,用户终端100将第一全局变量的当前值作为第二个视频帧的显示时间戳。然后再将第一全局时间变量的当前值更新为第二个视频帧的显示时间戳与显示持续时长之和。
针对后续接收到的每个视频帧,重复执行将第一全局变量的当前值作为所述视频帧的显示时间戳,以及将第一全局时间变量的当前值更新为所述视频帧的显示时间戳与显示持续时长之和。
通过上述描述,本实施例针对后续接收到的视频帧,用户终端100每接收到一个视频帧,会将第一全局时间变量的当前值作为该视频帧的显示时间戳,并且会根据该视频帧的显示持续时长以及修改后的显示时间戳对所述第一全局时间变量的值进行更新,如此,用户终端100可以直接将更新后的所述第一全局时间变量的当前值作为下一视频帧的显示时间戳,从而使接收到下一视频帧能够紧接着该视频帧显示。
在实际应用中,云桌面服务器200在向用户终端100发送视频数据时,还会向用户终端100发送音频数据,所述音频数据与所述视频数据属于同一视频文件。相应地,所述用户终端100需要对所述视频数据与所述音频数据同步播放。经发明人研究发现,在采用上述方式对接收到的每个视频帧进行处理后,若在视频播放过程中,用户进行了快进、快退、暂停或停止等操作,会出现音视频不同步的现象。
发明人经过大量分析,发现视频播放器在响应用户的快进、快退、暂停或停止等操作时,可以根据一些异常视频帧来查找该操作对应的目标播放位置。
相应地,云桌面服务器200中的播放器在用户通过用户终端100进行快进操作、快退操作、暂停操作或停止操作时,也会向所述用户终端100发送一些异常视频帧,用于查找出用户发送的指令所指示的目标播放位置,并跳转至该目标播放位置(即跳帧)。所述异常视频帧并非是用于显示的视频帧,而只是用于查找目标播放位置。
而用户终端100在对音频数据和视频数据进行同步播放时,是根据视频数据的显示时间戳和音频数据中的显示时间戳来实现同步。其中,音频数据的显示时间戳用于表征播出音频数据的时间。具体可以通过以下方式实现音频数据与视频数据的同步:
在对视频数据和音频数据进行播放时,将当前显示的视频帧的显示时间戳(后称Video Stamp,VT)与当前播放的音频帧的显示时间戳(后称Audio Stamp,AT)进行比对,若VT早于AT,则表示视频数据播放较慢,可以通过快速播放或是丢弃某些视频帧的方式来使视频数据与音频数据同步。若VT晚于AT,则表示视频数据播放较快,可以采用延迟显示等方式来控制视频数据与音频数据同步。
但是,同一视频文件的视频数据和音频数据中的时间戳均是由发布端根据所述视频数据和音频数据的对应关系添加的。
若在存在上述异常视频帧的情况下,仍旧按照本实施例中的视频播放方法对接收到的视频帧的显示时间戳进行修改,则会将并非用于显示的异常视频帧也编入到正常显示的视频帧的序列中,相当于在视频数据中增加了与音频数据不对应的视频帧。在这种情况下,仍旧按照音频数据与原始视频数据的匹配关系进行同步控制,有很大可能无法实现音频数据和视频数据的同步。
针对这一问题,发明人设计在对接收到的视频帧的显示时间戳进行修改前,判断所述视频帧是否需要修改。
因而,可选地,如图5所示,在步骤S110之后,视频播放方法还可以包括步骤S130和步骤S140两个步骤。
步骤S130,判断所述视频帧是否是预设的异常视频帧。若是,则执行步骤S140,若否,则执行步骤S120。
步骤S140,不对所述视频帧做处理。
即,在接收到云桌面服务器200发送的视频帧之后,可以判断所述视频帧是否是预设的异常视频帧,若不是,再将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和。
在通过步骤S120对视频帧的显示时间戳进行修改后,用户终端100会根据所述视频帧的显示时间戳及显示持续时长对所述视频帧进行显示。在显示所述视频帧时,用户终端100会按照前述的方式,将所述视频帧的显示时间戳与当前播放的音频帧的显示时间戳进行对比,若所述视频帧的显示时间戳晚于当前播放的音频帧的显示时间戳,则延迟播放下一视频帧。若所述视频帧的显示时间戳早于当前播放的音频帧的显示时间戳,则加快播放下一视频帧。如此,即可实现音频数据与视频数据的同步播放。
发明人还发现,所述云桌面服务器200发送所述异常视频帧的时间会持续一段时间,这段时间通常大于一个视频帧的显示持续时长,因此,为了确保视频播放的连续性,所述方法还可以包括如下步骤:
在接收到预设指令时,将所述第一全局时间变量的值设置为所述默认值。
其中,所述预设指令包括快进指令、快退指令、暂停指令及停止指令中的任意一个。预设指令是由云桌面服务器200在用户通过用户终端100执行相应操作时发出的指令,例如,当用户在用户终端100执行快进操作时,云桌面服务器200会发送快进指令给用户终端100;又如,当用户在用户终端100执行暂停操作时,云桌面服务器200会发送暂停指令给用户终端100。
如此,可以确保用户终端100对在接收到所述预设指令之后接收到的第一个视频帧立即显示。应当理解,本实施例所说的立即显示某一视频帧均是指在对该视频帧解码完成的前提下,立即显示该视频帧。
此外,发明人经过大量的分析还发现,当云桌面服务器200向用户终端100发送所述预设指令之后发送的异常视频帧包括以下类型:第一,在向用户终端100发送所述预设指令之后,用户终端100开始播放的第一预设时长内,云桌面服务器200向用户终端100发送的一些杂乱的视频帧;第二,在所述第一预设时长后,继续发送的一些显示时间戳为负值、显示持续时长小于第二预设时长的视频帧。经统计,发现所述第一预设时长通常为0.5s-1.2s,所述第二预设时长通常为10ms-20ms。
在本实施例中,在接收到所述预设指令之后,当接收到显示时间戳大于所述默认值的视频帧时,用户终端100会记录当前的系统时间,作为用户终端100开始播放的时间。
因而,在本实施例中,用户终端100还可以设置有第二全局时间变量,对应地,所述方法还可以包括如下步骤:
在接收到所述预设指令后,当接收到显示时间戳大于所述默认值的视频帧时,将所述第二全局时间变量的值更新为当前的系统时间。
其中,所述预设指令包括快进指令、快退指令、暂停指令及停止指令中的任意一个。
如此,即可根据接收到的视频帧距离所述第二全局时间变量的时长,判断该视频帧是否是上述的第一种异常视频帧。
基于上述分析,步骤S130可以通过如下步骤实现:
判断所述视频帧是否满足预设条件中的任意一个,若满足,确定所述视频帧是所述异常视频帧,否则,确定所述视频帧不是所述异常视频帧;其中,所述预设条件包括:
所述视频帧的显示时间戳为负值;
所述视频帧的显示持续时长小于第一预设时长;
接收到所述视频帧的时刻与所述第二全局时间变量的当前值的间隔小于第二预设时长。
如此,可以避免对云桌面服务器200发送的异常视频帧的显示时间戳进行修改,进而避免将所述异常视频帧编入正常视频帧的显示序列中,从而确保了播放器能够同步地对同一视频文件的音频数据和视频数据进行播放。
可选地,在本实施例中,所述第一预设时长可以设置为1秒,所述第二预设时长可以设置为20ms,第二全局时间变量具有一初始值。
在一种具体实施方式中,考虑到任意电脑文件不可能在1971年1月1日00:00:00之前产生,可以将该初始值设置为1971年1月1日00:00:00。在此情形下,若用户终端100未接收到所述预设指令,第二全局时间变量的值不会改变,则用户终端100接收到任意视频帧的时刻与第二全局时间变量的间隔必然大于第二预设时长。
在另一种具体实施方式中,该初始值也可以为空(NULL),在判断接收到的视频帧是否满足所述预设条件时,若第二全局时间变量的值为空,可以直接默认接收到该视频帧的时刻与第二全局时间变量的当前值的间隔大于所述第二预设时长。
下面给出视频播放方法在一种实例中的详细应用流程。
实施时,云桌面服务器200的虚拟机210和用户终端100中均安装有播放器,用于对视频文件进行处理。为便于描述,本申请约定云桌面服务器200的虚拟机210中的播放器为虚拟机播放器,用户终端100中的播放器为客户端播放器。
客户端播放器中设置有第一全局时间变量和第二全局时间变量,第一全局时间变量的初始值为0ms(默认值),第二全局时间变量的初始值为1971年1月1日00:00:00。
详细地,视频播放方法可以包括如下步骤。
第一,当用户在客户端播放器进行播放操作时,虚拟机播放器读取与该播放指令对应的视频文件,并从视频文件中分离出音频数据和视频数据。
第二,虚拟机播放器向客户端播放器发送与该播放操作对应的播放指令,分别将分离出的音频数据和视频数据直接发给客户端播放器。
第三,在接收到所述播放指令之后,当客户端播放器接收到虚拟机播放器发送的快进指令、快进指令、暂停指令及停止指令中的任意一个时,将第一全局时间变量的值重置为0ms。在客户端播放器接收到虚拟机播放器发送的快进指令、快退指令、暂停指令及停止指令中的任意一个之后,当接收到显示时间戳大于0ms的视频帧时,将第二全局时间变量的值更新为当前的系统时间。
第四,客户端播放器在接收到第一个视频帧时,先判断第一个视频帧是否满足预设条件中的任意一个,若是,执行第五步,否则执行第六步。
其中,预设条件包括:显示时间戳是负值;显示持续时长小于20ms;接收到该视频帧的时刻与第二全局时间变量的当前值的间隔小于1s。
第五,不对第一个视频帧做处理。
第六,客户端播放器将第一个视频帧的显示时间戳修改为第一全局时间变量的当前值(即0ms),将第一全局时间变量的值更新为第一个视频帧的显示持续时长与当前的显示时间戳之和,并对第一个视频帧进行解码播放。
第七,在对第一个视频帧进行解码播放时,将第一个视频帧的显示时间戳与当前播放的音频帧的显示时间戳进行比对,若晚于当前播放的音频帧的显示时间戳,则延迟播放下一视频帧,若早于当前播放的音频帧的显示时间戳,则加快播放下一视频帧。
第八,在接收到后续的第二个视频帧时,客户端播放器先判断该视频帧是否满足所述预设条件中的任意一个,若是,执行第九步,否则执行第十步。
第九,不对该视频帧做处理。
第十,客户端播放器将第一全局时间变量的当前值(即前一视频帧的显示持续时长与显示时间戳之和)作为该视频帧的显示时间戳,将第一全局时间变量的值更新为该视频帧的显示持续时长与当前的显示时间戳之和,并对该视频帧进行解码播放。
第十一,在对该视频帧进行解码播放时,将该视频帧的显示时间戳与当前播放的音频帧的显示时间戳进行对比,若晚于所述音频帧的显示时间戳,则延迟播放下一视频帧,若早于所述音频帧的显示时间戳,则加快播放下一视频帧。
针对后续接收到的每个视频帧,重复执行第八步到第十一步,直到不再接收到视频帧为止。
在上述描述中,第四步-第十一步构成的整体与第三步是并行的执行关系,两者之间并没有严格的顺序关系。需要说明的是,在客户端播放器的整个播放过程中,若用户在客户端播放器多次进行快进、快退、暂停或停止中的任意一种操作,对应地,第四步会被重复执行多次。
如图6所示,本申请实施例还提供一种视频播放装置120,所述视频播放装置120应用于图2所示的用户终端100。所述视频播放装置120包括接收模块121和修改模块122。
其中,接收模块121用于接收所述云桌面服务器200发送的待显示的视频帧,所述视频帧包括显示持续时长。
在本实施例中,关于接收模块121的描述具体可参考对图4所示步骤S110的详细描述,也即,步骤S110可以由接收模块121执行。
修改模块122用于将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和,以使用户终端100按照所述视频帧的显示持续时长以及接收到所述视频帧的接收顺序对所述视频帧进行播放。
在本实施例中,关于修改模块122的描述具体可参考对图4所示步骤S120的详细描述,也即,步骤S120可以由修改模块122执行。
可选地,在本实施例中,修改模块122还可以用于在接收模块121首次接收到所述云桌面服务器200发送的视频帧时,将该视频帧的显示时间戳修改为默认值。
可选地,在本实施例中,用户终端100设置有初始值为默认值的第一全局时间变量。
在这一情形下,修改模块122将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和的方式,可以为:
将所述第一全局时间变量的当前值作为所述视频帧的显示时间戳,并将所述第一全局时间变量的值更新为所述视频帧的显示时间戳与显示持续时长之和。
可选地,在本实施例中,视频播放装置120还可以包括判断模块123。
判断模块123用于判断接收模块121接收到的视频帧是否是预设的异常视频帧,当所述视频帧不是所述异常视频帧时,再触发修改模块122将所述视频帧的显示时间戳修改为所述视频帧按照接收顺序的前一视频帧的显示时间戳与显示持续时长之和。
关于判断模块123的描述具体可参考上述内容中对步骤S130的详细描述,即步骤S130可以被判断模块123执行。
可选地,在本实施例中,视频播放装置120还可以包括第一设置模块124。
第一设置模块124用于接收到预设指令时,将所述第一全局时间变量的值设置为所述默认值。其中,所述预设指令可以包括快进指令、快退指令、暂停指令及停止指令中的任意一个。
可选地,在本实施例中,用户终端100还可以设置有第二全局时间变量,对应地,视频播放装置120还可以包括第二设置模块125。
第二设置模块125用于当在接收到所述预设指令后接收到第一个显示时间戳大于所述默认值的视频帧时,将所述第二全局时间变量的值更新为当前的系统时间。
在这一情形下,判断模块123判断接收模块121接收到的视频帧是否是预设的异常视频帧的方式,可以为:
判断所述视频帧是否满足预设条件中的任意一个,若满足,确定所述视频帧是所述异常视频帧,否则,确定所述视频帧不是所述异常视频帧;其中,所述预设条件可以包括:
所述视频帧的显示时间戳为负值;
所述视频帧的显示持续时长小于第一预设时长;
接收到所述视频帧的时刻与所述第二全局时间变量的当前值的间隔小于第二预设时长。
如此,即可避免用户终端100将云桌面服务器200发送的并非用于显示的异常视频帧编入用于显示的视频帧序列,从而避免对用户终端100的音视频同步过程造成干扰,也就避免了在播放视频文件时,出现音视频不同步的现象。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中,所述计算机程序被执行时实现本申请实施例提供的视频播放方法。
综上所述,本申请实施例提供一种视频播放方法、装置、用户终端100及存储介质,用户终端100接收云桌面服务器200发送的待显示的视频帧,并将该视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和,从而在播放时按照该视频帧的显示持续时长及接收到该视频帧的接收顺序对该视频帧进行显示。如此,可以避免用户终端100在播放云桌面发送的视频数据时出现视频卡顿现象。
在本申请提供的实施例中,应当理解,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的装置、方法和计算机程序产品可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分保护一个或多个用于实现对应的逻辑功能的可执行指令。
此外,还应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发发生。例如,两个连续的方框实际上可以并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。还应注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后,应说明的是,以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种视频播放方法,其特征在于,应用于与云桌面服务器通信连接的用户终端,所述方法包括:
接收所述云桌面服务器发送的待显示的视频帧,所述视频帧包括显示持续时长;
将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和,以使用户终端按照所述视频帧的显示持续时长以及接收到所述视频帧的接收顺序对所述视频帧进行显示。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在首次接收到所述云桌面服务器发送的视频帧时,将该视频帧的显示时间戳修改为默认值。
3.根据权利要求2所述的方法,其特征在于,所述用户终端设置有初始值为所述默认值的第一全局时间变量;
所述将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和,包括:
将所述第一全局时间变量的当前值作为所述视频帧的显示时间戳,并将所述第一全局时间变量的值更新为该视频帧的显示时间戳与显示持续时长之和。
4.根据权利要求3所述的方法,其特征在于,在接收到所述云桌面服务器发送的视频帧之后,所述方法还包括:
判断所述视频帧是否是预设的异常视频帧;
若所述视频帧不是所述异常视频帧,则执行将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和的步骤。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
在接收到预设指令时,将所述第一全局时间变量的值设置为所述默认值,其中,所述预设指令包括快进指令、快退指令、暂停指令及停止指令中的任意一个。
6.根据权利要求5所述的方法,其特征在于,所述判断所述视频帧是否是预设的异常视频帧,包括:
判断所述视频帧是否满足预设条件中的任意一个,若满足,确定所述视频帧是所述异常视频帧,否则,确定所述视频帧不是所述异常视频帧;其中,所述预设条件包括:
所述视频帧的显示时间戳为负值;
所述视频帧的显示持续时长小于第一预设时长;
接收到所述视频帧的时刻与第二全局时间变量的当前值的间隔小于第二预设时长。
7.一种视频播放装置,其特征在于,应用于与云桌面服务器通信连接的用户终端,所述装置包括:
接收模块,用于接收所述云桌面服务器发送的待显示的视频帧,所述视频帧包括显示持续时长;
修改模块,用于将所述视频帧的显示时间戳修改为接收到的的前一视频帧的显示时间戳与显示持续时长之和,以使用户终端按照所述视频帧的显示持续时长以及接收到所述视频帧的接收顺序对所述视频帧进行显示。
8.根据权利要求7所述的装置,其特征在于,所述修改模块,还用于在所述接收模块首次接收到所述云桌面服务器发送的视频帧时,将该视频帧的显示时间戳修改为默认值。
9.根据权利要求8所述的装置,其特征在于,所述用户终端设置有初始值为默认值的第一全局时间变量;
所述修改模块将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和的方式为:
将所述第一全局时间变量的当前值作为所述视频帧的显示时间戳,并将所述第一全局时间变量的值更新为所述视频帧的显示时间戳与显示持续时长之和。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断所述接收模块接收到的视频帧是否是预设的异常视频帧,当所述视频帧不是所述预设的异常视频帧时,则触发所述修改模块将所述视频帧的显示时间戳修改为接收到的前一视频帧的显示时间戳与显示持续时长之和。
11.一种用户终端,其特征在于,所述用户终端包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-6任一所述的方法。
CN201711466133.8A 2017-12-28 2017-12-28 视频播放方法、装置及用户终端 Active CN108156509B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711466133.8A CN108156509B (zh) 2017-12-28 2017-12-28 视频播放方法、装置及用户终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711466133.8A CN108156509B (zh) 2017-12-28 2017-12-28 视频播放方法、装置及用户终端

Publications (2)

Publication Number Publication Date
CN108156509A true CN108156509A (zh) 2018-06-12
CN108156509B CN108156509B (zh) 2021-06-08

Family

ID=62463706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711466133.8A Active CN108156509B (zh) 2017-12-28 2017-12-28 视频播放方法、装置及用户终端

Country Status (1)

Country Link
CN (1) CN108156509B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110290422A (zh) * 2019-06-13 2019-09-27 浙江大华技术股份有限公司 时间戳叠加方法、装置、拍摄装置及存储装置
CN111787365A (zh) * 2020-07-17 2020-10-16 易视腾科技股份有限公司 多路音视频同步方法及装置
CN112153443A (zh) * 2020-09-01 2020-12-29 青岛海信传媒网络技术有限公司 Pts获取方法和显示设备
CN112584239A (zh) * 2019-09-30 2021-03-30 西安诺瓦星云科技股份有限公司 节目预览方法和节目预览装置
WO2023208102A1 (zh) * 2022-04-29 2023-11-02 华为技术有限公司 一种云桌面数据传输方法及相关装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752642A (zh) * 2012-06-18 2012-10-24 李洋 一种基于ip网络的多终端视频同步播放的方法及系统
US20130170549A1 (en) * 2011-12-28 2013-07-04 Microsoft Corporation Merge mode for motion information prediction
CN103198296A (zh) * 2013-03-07 2013-07-10 中国科学技术大学 一种基于贝叶斯惊奇度计算的视频异常行为检测方法及装置
CN103716579A (zh) * 2012-09-28 2014-04-09 中国科学院深圳先进技术研究院 视频监控方法及系统
US20140169471A1 (en) * 2012-12-19 2014-06-19 Nvidia Corporation Apparatus and method for enhancing motion estimation based on user input
CN103888485A (zh) * 2012-12-19 2014-06-25 华为技术有限公司 云计算资源的分配方法、装置及系统
CN104243969A (zh) * 2013-06-20 2014-12-24 中兴通讯股份有限公司 图像条纹检测方法及装置
CN104301742A (zh) * 2013-07-16 2015-01-21 上海国富光启云计算科技有限公司 虚拟机和客户端间视频重定向装置及其使用方法
CN105184818A (zh) * 2015-09-06 2015-12-23 山东华宇航天空间技术有限公司 一种视频监控异常行为检测方法及其检测系统
CN105744286A (zh) * 2016-04-08 2016-07-06 中国人民解放军军械工程学院 Mjpeg视频无线传输主动抗干扰方法
US9455010B1 (en) * 2015-10-20 2016-09-27 International Business Machines Corporation Video storage and video playing

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130170549A1 (en) * 2011-12-28 2013-07-04 Microsoft Corporation Merge mode for motion information prediction
CN102752642A (zh) * 2012-06-18 2012-10-24 李洋 一种基于ip网络的多终端视频同步播放的方法及系统
CN103716579A (zh) * 2012-09-28 2014-04-09 中国科学院深圳先进技术研究院 视频监控方法及系统
US20140169471A1 (en) * 2012-12-19 2014-06-19 Nvidia Corporation Apparatus and method for enhancing motion estimation based on user input
CN103888485A (zh) * 2012-12-19 2014-06-25 华为技术有限公司 云计算资源的分配方法、装置及系统
CN103198296A (zh) * 2013-03-07 2013-07-10 中国科学技术大学 一种基于贝叶斯惊奇度计算的视频异常行为检测方法及装置
CN104243969A (zh) * 2013-06-20 2014-12-24 中兴通讯股份有限公司 图像条纹检测方法及装置
CN104301742A (zh) * 2013-07-16 2015-01-21 上海国富光启云计算科技有限公司 虚拟机和客户端间视频重定向装置及其使用方法
CN105184818A (zh) * 2015-09-06 2015-12-23 山东华宇航天空间技术有限公司 一种视频监控异常行为检测方法及其检测系统
US9455010B1 (en) * 2015-10-20 2016-09-27 International Business Machines Corporation Video storage and video playing
CN105744286A (zh) * 2016-04-08 2016-07-06 中国人民解放军军械工程学院 Mjpeg视频无线传输主动抗干扰方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张国印: "《虚拟云桌面认证与安全传输技术研究与实现》", 《中国优秀硕士学位论文全文数据库》 *
杨彩亮: "《基于Spice桌面虚拟化框架的移动云桌面研究与实现》", 《中国优秀硕士学位论文全文数据库》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110290422A (zh) * 2019-06-13 2019-09-27 浙江大华技术股份有限公司 时间戳叠加方法、装置、拍摄装置及存储装置
CN110290422B (zh) * 2019-06-13 2021-09-10 浙江大华技术股份有限公司 时间戳叠加方法、装置、拍摄装置及存储装置
CN112584239A (zh) * 2019-09-30 2021-03-30 西安诺瓦星云科技股份有限公司 节目预览方法和节目预览装置
CN111787365A (zh) * 2020-07-17 2020-10-16 易视腾科技股份有限公司 多路音视频同步方法及装置
CN112153443A (zh) * 2020-09-01 2020-12-29 青岛海信传媒网络技术有限公司 Pts获取方法和显示设备
CN112153443B (zh) * 2020-09-01 2022-02-22 青岛海信传媒网络技术有限公司 Pts获取方法和显示设备
WO2023208102A1 (zh) * 2022-04-29 2023-11-02 华为技术有限公司 一种云桌面数据传输方法及相关装置

Also Published As

Publication number Publication date
CN108156509B (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
CN108156509A (zh) 视频播放方法、装置及用户终端
US10229651B2 (en) Variable refresh rate video capture and playback
US9094571B2 (en) Video chatting method and system
CN111882626A (zh) 图像处理方法、装置、服务器及介质
CN111078070B (zh) Ppt视频弹幕的播放控制方法、装置、终端及介质
US10271105B2 (en) Method for playing video, client, and computer storage medium
CN112153082B (zh) 一种在安卓系统中平滑显示实时流视频画面的方法及装置
CN111491208B (zh) 视频处理方法、装置、电子设备及计算机可读介质
US20160307605A1 (en) Method, device, and system of synchronously playing media file
CN108492338B (zh) 动画文件的压缩方法、装置、存储介质和电子装置
CN111078078B (zh) 视频播放控制方法、装置、终端及计算机可读存储介质
US11756079B2 (en) Method for in-stream aggregation of ad interaction data for a population of users viewing ad content
CN112055254B (zh) 视频播放的方法、装置、终端及存储介质
CN106911950A (zh) 一种视频同步方法和系统
US20240129557A1 (en) Live streaming method and apparatus, and computer device and storage medium
WO2021139359A1 (zh) 图像处理方法、装置、电子设备及存储介质
CN108563479A (zh) 重定向窗口的控制方法、装置、虚拟机和重定向系统
US11513937B2 (en) Method and device of displaying video comments, computing device, and readable storage medium
CN113422980A (zh) 视频数据处理方法及装置、电子设备、存储介质
CN111866403B (zh) 一种视频图形内容处理方法、装置、设备及介质
CN109286718A (zh) 一种录屏方法、装置及电子设备
CN115243092B (zh) 视频播放方法、装置及存储介质
CN107820622A (zh) 一种虚拟3d场景制作方法及相关设备
CN106331553B (zh) 一种存储视频的方法、装置及电子设备
CN110189388B (zh) 动画检测方法、可读存储介质及计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant