CN108965907A - 用于播放视频的方法、装置和系统 - Google Patents

用于播放视频的方法、装置和系统 Download PDF

Info

Publication number
CN108965907A
CN108965907A CN201810760088.5A CN201810760088A CN108965907A CN 108965907 A CN108965907 A CN 108965907A CN 201810760088 A CN201810760088 A CN 201810760088A CN 108965907 A CN108965907 A CN 108965907A
Authority
CN
China
Prior art keywords
video
frame
video frame
buffered
play
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
CN201810760088.5A
Other languages
English (en)
Other versions
CN108965907B (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.)
Douyin Vision Co Ltd
Douyin Vision Beijing Co Ltd
Original Assignee
Beijing ByteDance Network Technology 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201810760088.5A priority Critical patent/CN108965907B/zh
Publication of CN108965907A publication Critical patent/CN108965907A/zh
Application granted granted Critical
Publication of CN108965907B publication Critical patent/CN108965907B/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/44Processing 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
    • H04N21/44004Processing 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 involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server

Abstract

本申请实施例公开了用于播放视频的方法、装置和系统。该方法的一具体实施方式包括:响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,执行如下确定步骤:确定当前播放的视频帧作为关键帧以及继续播放第一视频;获取关键帧的关键帧标识,以及将关键帧标识发送至服务端;响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧;响应于确定存在,从目标缓存视频帧开始,播放第二视频。该实施方式有助于避免视频切换时产生的卡顿现象,使视频切换更加流畅。

Description

用于播放视频的方法、装置和系统
技术领域
本申请实施例涉及计算机技术领域,具体涉及用于播放视频的方法、装置和系统。
背景技术
在有些视频播放软件中,播放视频时,用户可以将正在播放的视频切换至另一视频。例如,如果当前播放的视频的配音语言是中文,当用户点击切换按钮时,可以切换至该视频的英文版视频,从而满足用户对不同的配音语言的要求。现有技术中,在将当前的视频画面转换为另一视频画面时,通常需要中断当前播放的视频,等待另一视频的视频帧缓存至运行播放软件的电子设备后,再继续播放另一视频。
发明内容
本申请实施例提出了用于播放视频的方法和装置、用于推送视频的方法和装置,以及用于播放视频的系统。
第一方面,本申请实施例提供了一种用于播放视频的方法,该方法包括:响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,执行如下确定步骤:确定当前播放的视频帧作为关键帧以及继续播放第一视频;获取关键帧的关键帧标识,以及将关键帧标识发送至服务端;响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧,其中,当前视频帧是继续播放的第一视频中当前显示的视频帧,缓存视频帧是预先与第一视频建立对应关系的第二视频中的视频帧,缓存视频帧与第一视频包括的视频帧对应;响应于确定存在,从目标缓存视频帧开始,播放第二视频。
在一些实施例中,在确定至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧之后,该方法还包括:响应于确定不存在,继续播放第一视频。
在一些实施例中,第二视频是在目标应用中播放的;以及该方法还包括:响应于接收到用户对当前播放的第二视频进行切换操作而产生的切换指令,确定目标应用的播放模式,其中,所接收的切换指令用于指示将第二视频切换至对应的第一视频;响应于确定播放模式表征目标应用处于第二播放模式,继续播放第二视频。
在一些实施例中,第一视频是在目标应用中播放的;以及该方法还包括:响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,确定目标应用的播放模式,其中,所接收的切换指令用于指示将第一视频切换至对应的第二视频;响应于确定播放模式表征目标应用处于第一播放模式,继续执行确定步骤。
第二方面,本申请实施例提供了一种用于推送视频的方法,该方法包括:接收终端发送的表征第一视频中的关键帧的关键帧标识;从预设的、与第一视频关联的第二视频中,确定关键帧的对应视频帧;向终端发送至少一个缓存视频帧,其中,缓存视频帧是第二视频中的、播放时间晚于对应视频帧的播放时间的视频帧。
在一些实施例中,从预设的、与第一视频关联的第二视频中,确定关键帧的对应视频帧,包括:将关键帧与预设的、与第一视频关联的第二视频包括的视频帧进行匹配,得到匹配结果;基于匹配结果,从第二视频中,确定关键帧的对应视频帧。
在一些实施例中,将关键帧与预设的、与第一视频关联的第二视频包括的视频帧进行匹配,得到匹配结果,包括:确定关键帧与第二视频包括的视频帧的相似度作为匹配结果。
在一些实施例中,将关键帧与预设的、与第一视频关联的第二视频包括的视频帧进行匹配,得到匹配结果,包括:从第二视频包括的视频帧的播放时间中,确定与关键帧的播放时间最接近的播放时间作为匹配结果。
第三方面,本申请实施例提供了一种用于播放视频的装置,该装置包括:第一确定接收单元,被配置成响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,执行如下确定步骤:确定当前播放的视频帧作为关键帧以及继续播放第一视频;发送单元,被配置成获取关键帧的关键帧标识,以及将关键帧标识发送至服务端;接收单元,,被配置成响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧,其中,当前视频帧是继续播放的第一视频中当前显示的视频帧,缓存视频帧是预先与第一视频建立对应关系的第二视频中的视频帧,缓存视频帧与第一视频包括的视频帧对应;第二确定单元,被配置成响应于确定存在,从目标缓存视频帧开始,播放第二视频。
在一些实施例中,该装置还包括:第三确定单元,被配置成响应于确定不存在,继续播放第一视频。
在一些实施例中,第二视频是在目标应用中播放的;以及装置还包括:第三确定单元,被配置成响应于接收到用户对当前播放的第二视频进行切换操作而产生的切换指令,确定目标应用的播放模式,其中,所接收的切换指令用于指示将第二视频切换至对应的第一视频;第四确定单元,被配置成响应于确定播放模式表征目标应用处于第二播放模式,继续播放第二视频。
在一些实施例中,第一视频是在目标应用中播放的;以及第一确定单元包括:第一确定模块,被配置成响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,确定目标应用的播放模式,其中,所接收的切换指令用于指示将第一视频切换至对应的第二视频;第二确定模块,被配置成响应于确定播放模式表征目标应用处于第一播放模式,继续执行确定步骤。
第四方面,本申请实施例提供了一种用于推送视频的装置,该装置包括:接收单元,被配置成接收终端发送的表征第一视频中的关键帧的关键帧标识;确定单元,被配置成从预设的、与第一视频关联的第二视频中,确定关键帧标识的对应视频帧;发送单元,被配置成向终端发送至少一个缓存视频帧,其中,缓存视频帧是第二视频中的、播放时间晚于对应视频帧的播放时间的视频帧。
在一些实施例中,确定单元包括:匹配模块,被配置成将关键帧标识表征的视频帧与预设的、与第一视频关联的第二视频包括的视频帧进行匹配,得到匹配结果;确定模块,被配置成基于匹配结果,从第二视频中,确定关键帧标识表征的视频帧的对应视频帧。
在一些实施例中,匹配模块进一步被配置成:确定关键帧标识表征的视频帧与第二视频包括的视频帧的相似度作为匹配结果。
在一些实施例中,匹配模块进一步被配置成:从第二视频包括的视频帧的播放时间中,确定与关键帧标识表征的视频帧的播放时间最接近的播放时间作为匹配结果。
第五方面,本申请实施例提供了一种用于播放视频的系统,该系统包括:终端和服务端,其中,终端被配置成执行如上述第一方面中任一实施例所描述的方法,服务端被配置成执行如上述第二方面中任一实施例所描述的方法。
第六方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面或第二方面中任一实现方式描述的方法。
第七方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面或第二方面中任一实现方式描述的方法。
本申请实施例提供的用于播放视频的方法、装置和系统,通过将当前播放的视频帧确定为关键帧,以及获取关键帧的关键帧标识,将关键帧标识发送至服务端,并继续播放第一视频,响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧,如果存在,从目标缓存视频帧开始,播放第二视频,有助于避免视频切换时产生的卡顿现象,使视频切换更加流畅。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的用于播放视频的方法的一个实施例的流程图;
图3是根据本申请的用于播放视频的方法的目标缓存视频帧的确定方法的示例性示意图;
图4是根据本申请的用于播放视频的方法的一个应用场景的示意图;
图5是根据本申请的用于推送视频的方法的一个实施例的流程图;
图6是根据本申请的用于播放视频的装置的一个实施例的结构示意图;
图7是根据本申请的用于推送视频的装置的一个实施例的结构示意图;
图8是根据本申请的用于播放视频的系统的一个实施例的时序图;
图9是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的用于播放视频的方法或用于播放视频的装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如视频播放类应用、阅读类应用、网页浏览器应用、社交平台软件等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏且支持视频播放的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上播放的视频提供支持的后台视频资源服务器。后台视频资源服务器可以对接收到的第一视频的关键帧的关键帧标识等数据进行分析等处理,并将处理结果(例如第二视频的缓存视频帧)反馈给终端设备。
需要说明的是,本申请实施例所提供的用于播放视频的方法一般由终端设备101、102、103执行,相应地,用于播放视频的装置一般设置于终端设备101、102、103中。本申请实施例所提供的用于推送视频的方法一般由服务器105执行,相应地,用于推送视频的装置一般设置于服务器105中。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用于播放视频的方法的一个实施例的流程200。该用于播放视频的方法,包括以下步骤:
步骤201,响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,执行如下确定步骤:确定当前播放的视频帧作为关键帧以及继续播放第一视频。
在本实施例中,用于播放视频的方法的执行主体(例如图1所示的终端设备)可以响应于接收到使用其观看视频的用户对当前播放的的第一视频进行切换操作(例如点击用于切换视频的按钮,或输入用于切换视频的命令)而产生的切换指令,确定当前播放的视频帧作为关键帧。其中,切换指令可以用于指示上述执行主体进行视频切换操作。切换指令的形式可以包括但不限于以下至少一种:文字、数字、符号、音频等。当前播放的视频帧可以是在上述执行主体上当前显示的视频帧。需要说明的是,在确定关键视频帧之后,上述执行主体可以继续播放第一视频。
步骤202,获取关键帧的关键帧标识,以及将关键帧标识发送至服务端。
在本实施例中,上述执行主体可以获取步骤201中确定的关键帧的关键帧标识,以及将关键帧标识发送至服务端。其中,关键帧标识可以用于表征关键帧。作为示例,关键帧标识可以是关键帧的播放时间(例如“00:01:20”)、关键帧在第一视频中的排列序号等。
在本实施例中,上述执行主体可以将获取的关键帧标识通过有线连接方式或无线连接方式发送至服务端(例如图1所示的服务器)。其中,上述执行主体可以将标识信息单独发送至服务端,也可以通过向服务端发送符合预设通信协议(例如TCP(TransmissionControl Protocol传输控制协议)、HTTP(HyperText Transfer Protocol,超文本传输协议)等)的、包含关键帧标识的消息,将关键帧标识发送至服务端。
步骤203,响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧。
在本实施例中,上述执行主体可以响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在目标缓存视频帧。其中,当前视频帧是继续播放的第一视频中当前显示的视频帧,缓存视频帧是预先与第一视频建立对应关系的第二视频中的视频帧,并且缓存视频帧与第一视频包括的视频帧对应。目标缓存视频帧可以是播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的缓存视频帧。需要说明的是,第一视频中的视频帧与缓存视频帧的对应关系可以是上述执行主体自动建立的。例如,上述执行主体自动将至少一个缓存视频帧的第1帧对应于上述关键帧的下一帧,将至少一个缓存视频帧的第2帧对应于上述关键帧的下一帧的下一帧,以此类推。
作为示例,如图3所示,假设第一视频301从第一帧开始播放,当前视频帧是第N帧(即标号3012),其中,N为大于1的整数。关键帧是第N-3帧(即标号3011)。至少一个缓存视频帧302中的第1帧对应于第一视频的第N-2帧,至少一个缓存视频帧302中的第3帧(即标号3021)对应于当前视频帧(即标号3012),则目标缓存视频帧可以是至少一个缓存视频帧302中的第4帧(即标号3022)。
实践中,第二视频可以是和第一视频具有关联关系的视频。例如,第一视频可以是某电影的中文配音版,第二视频可以是该电影的英文配音版。需要说明的是,本公开对第一视频和第二视频具体如何实现关联,不做限定。
步骤204,响应于确定存在,从目标缓存视频帧开始,播放第二视频。
在本实施例中,上述执行主体可以响应于确定至少一个缓存视频帧中存在目标视频帧,从目标缓存视频帧开始,播放第二视频。如图3所示,上述执行主体可以从目标缓存视频帧3022开始,播放第二视频,从而实现从播放第一视频切换到播放第二视频。通过执行本步骤,可以实现在不中断播放的第一视频的情况下,从第一视频切换到第二视频继续播放,从而提高了视频切换的连贯性,改善了视频播放的效果。
在本实施例的一些可选的实现方式中,上述执行主体可以响应于确定至少一个缓存视频帧中不存在目标视频帧,继续播放第一视频。作为示例,如果如图1所示的网络的数据传输速率较慢,此时,接收的至少一个缓存视频帧中的、播放时间最晚的缓存视频帧的播放时间,可能会先于当前视频帧的播放时间,即至少一个缓存视频帧中不存在目标视频帧,此时,上述执行主体可以继续播放第一视频,当至少一个缓存视频帧中包括目标视频帧时,上述执行主体可以切换至第二视频继续播放,由此实现了视频切换的连贯性。
在本实施例的一些可选的实现方式中,第二视频可以是在目标应用中播放的,目标应用可以是预先安装在上述执行主体中的某个应用软件。上述执行主体还可以执行如下步骤:
首先,响应于接收到用户对当前播放的第二视频进行切换操作而产生的切换指令,确定目标应用的播放模式。其中,所接收的切换指令用于指示将第二视频切换至对应的第一视频。通常,播放模式可以由用户进行选择,例如,目标应用可以包括模式切换按钮,当用户点击切换按钮时,可以在不同的播放模式之间切换。
然后,响应于确定播放模式表征目标应用处于第二播放模式,继续播放第二视频。其中,第二播放模式具有对应的、目标应用支持的资源的类型。
作为示例,假设第二播放模式是英文播放模式,英文播放模式支持播放英文视频,第二视频的类型是英文视频,则第二视频是第二播放模式支持的类型。如果目标应用当前的播放模式为英文播放模式,则当用户进行切换操作时,上述执行主体可以不对第二视频进行切换,继续播放第二视频,从而可以向用户只提供英文类型的视频,有助于使用户沉浸在英文环境下。
在本实施例的一些可选的实现方式中,第一视频可以是在目标应用中播放的,目标应用可以是预先安装在上述执行主体中的某个应用软件。上述执行主体还可以执行如下步骤:
响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,确定目标应用的播放模式,确定目标应用的播放模式。其中,所接收的切换指令用于指示将第一视频切换至对应的第二视频。通常,播放模式可以由用户进行选择,例如,目标应用可以包括模式切换按钮,当用户点击切换按钮时,可以在不同的播放模式之间切换。
响应于确定播放模式表征目标应用处于第一播放模式,继续执行步骤201中的确定步骤。其中,第一播放模式可以具有对应的、目标应用支持的资源的类型,并且,第一播放模式支持的资源的类型可以是至少一种。例如,第一播放模式为中文播放模式,中文播放模式支持播放中文视频,同时也支持播放英文视频。如果目标应用当前的播放模式为中文播放模式时,可以利用上述步骤201-步骤204实现视频切换。
需要说明的是,由于第一播放模式支持的资源的类型是至少一种,因此,在第一播放模式下,可以实现在第一视频和第二视频之间切换。
继续参见图4,图4是根据本实施例的用于播放视频的方法的应用场景的一个示意图。在图4的应用场景中,用户首先所使用的终端设备401正在播放电影“xxx”的中文版视频(即第一视频),用户点击播放界面中的切换按钮403,产生切换指令。然后,终端设备401接收到切换指令,确定当前播放的视频帧作为关键帧404,以及继续播放第一视频。接着,获取关键帧404的关键帧标识405(例如关键帧的播放时间“00:01:30”),并将关键帧标识405发送至服务端402。再然后,终端设备401接收到服务端402发送的多个缓存视频帧406,确定各个缓存视频帧中存在目标视频帧4061。其中目标视频帧4061是各个缓存视频帧中的、播放时间晚于当前正在播放的视频帧的播放时间、且与当前正在播放的视频帧对应的缓存视频帧相邻的缓存视频帧。缓存视频帧可以是服务端402存储的、电影“xxx”的英文版视频的视频帧。最后,终端设备401从目标缓存视频帧4061开始,播放电影“xxx”的英文版视频。
本申请的上述实施例提供的用于播放视频的方法,通过将当前播放的视频帧确定为关键帧并继续播放第一视频,以及获取关键帧的关键帧标识,将关键帧标识发送至服务端,响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧,如果存在,从目标缓存视频帧开始,播放第二视频,有助于避免视频切换时产生的卡顿现象,使视频切换更加流畅。
进一步参考图5,其示出了用于推送视频的方法的一个实施例的流程500。该用于推送视频的方法的流程500,包括以下步骤:
步骤501,接收终端发送的表征第一视频中的关键帧的关键帧标识。
在本实施例中,用于推送视频的方法运行于其上的执行主体(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从用户使用的终端(例如图1所示的终端设备)接收关键帧标识。其中,关键帧标识与上述步骤201中描述的关键帧标识相同,这里不再赘述。
步骤503,从预设的、与第一视频关联的第二视频中,确定关键帧标识的对应视频帧。
在本实施例中,上述执行主体可以从预设的、与第一视频关联的第二视频中,确定关键帧标识的对应视频帧。其中,第二视频可以与第一视频关联存储在上述执行主体中。例如,第一视频和第二视频分别具有对应的视频标识,将对应的视频标识相同或具有预设的对应关系的第一视频和第二视频确定为两者互相关联。
在本实施例中,上述执行主体可以按照各种方法,从第二视频中确定关键帧标识的对应视频帧。例如,从第二视频中,将播放时间与关键帧标识表征的视频帧的播放时间相同的视频帧确定为对应视频帧。
在本实施例的一些可选的实现方式中,第二视频中的视频帧与第一视频中的视频帧具有预先建立的对应关系。上述执行主体可以基于对应关系,从第二视频中,确定关键帧标识的对应视频帧。作为示例,第一视频中的视频帧和第二视频中的视频帧可以是一一对应的关系;或者,第一视频中的至少两个视频帧可以对应于第二视频中的一个视频帧。上述对应关系可以由预设的对应关系表来表征,例如,对应关系表中可以包括第一视频的视频帧的标识和对应的第二视频的视频帧的标识。
在本实施例的一些可选的实现方式中,上述执行主体可以按照如下步骤确定关键帧标识表征的视频帧的对应视频帧:
步骤一,将关键帧标识表征的视频帧与预设的、与第一视频关联的第二视频包括的视频帧进行匹配,得到匹配结果。具体地,上述执行主体可以按照各种方法将关键帧标识表征的视频帧与第二视频的视频帧进行匹配。例如,可以对比关键帧标识表征的视频帧的播放时间与第二视频中的视频帧的播放时间,从第二视频中的各个视频帧的播放时间中,确定与关键帧的播放时间最接近的播放时间作为匹配结果。
在本实施例的一些可选的实现方式中,上述执行主体可以确定关键帧标识表征的视频帧与第二视频包括的视频帧的相似度作为匹配结果。具体地,上述执行主体可以按照现有的确定图像之间的相似度的方法(例如感知哈希算法、人工神经网络方法等),确定关键帧标识表征的视频帧与第二视频中的视频帧的相似度。
步骤二,基于匹配结果,从第二视频中,确定关键帧标识的对应视频帧。作为示例,如果匹配结果是关键帧标识表征的视频帧与第二视频中的视频帧的相似度,则可以从第二视频中的各个视频帧中,将最大相似度对应的视频帧确定为关键帧标识的对应视频帧。如果匹配结果是第二视频中的各个视频帧的播放时间中的、与关键帧标识表征的视频帧的播放时间最接近的播放时间,则将该播放时间对应的视频帧确定为关键帧的对应视频帧。作为另一示例,如果匹配结果是从第二视频中的各个视频帧的播放时间中所确定的与关键帧标识表征的视频帧的播放时间最接近的播放时间,则该最接近的播放时间对应的视频帧为对应视频帧。通过将关键帧与第二视频中的视频帧进行匹配,可以从第二视频中,更加准确地确定出对应视频帧,从而可以使得终端在播放的过程中进行视频切换时,准确地从另一视频中确定出对应的视频帧,有助于在切换时避免产生图像突变。
步骤504,向终端发送至少一个缓存视频帧。
在本实施例中,上述执行主体可以向终端发送至少一个缓存视频帧。其中,缓存视频帧可以是第二视频中的、播放时间晚于对应视频帧的播放时间的视频帧。作为示例,假设对应视频帧是第二视频的第M帧,其中,M为正整数。至少一个缓存视频帧可以包括第M+1帧、第M+2帧等等。
本申请的上述实施例提供的用于推送视频的方法,通过根据接收终端发送的关键帧标识,从第二视频中确定关键帧标识的对应视频帧,最后向终端发送至少一个缓存视频帧,从而提高了推送视频帧的针对性,有助于提高从第一视频向第二视频切换的连贯性。
进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种用于播放视频的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的用于播放视频的装置600包括:第一确定单元601,被配置成响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,执行如下确定步骤:确定当前播放的视频帧作为关键帧以及继续播放第一视频;发送单元602,被配置成获取关键帧的关键帧标识,以及将关键帧标识发送至服务端;接收单元603,被配置成响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧,其中,当前视频帧是继续播放的第一视频中当前显示的视频帧,缓存视频帧是预先与第一视频建立对应关系的第二视频中的视频帧,缓存视频帧与第一视频包括的视频帧对应;第二确定单元604,被配置成响应于确定存在,从目标缓存视频帧开始,播放第二视频。
在本实施例中,第一确定单元601可以响应于接收到用户对当前播放的的第一视频进行切换操作(例如点击用于切换视频的按钮,或输入用于切换视频的命令)而产生的切换指令,确定当前播放的视频帧作为关键帧以及继续播放第一视频。其中,切换指令可以用于指示上述执行主体进行视频切换操作。切换指令的形式可以包括但不限于以下至少一种:文字、数字、符号、音频等。当前播放的视频帧可以是在上述执行主体上当前显示的视频帧。
在本实施例中,发送单元602可以获取关键帧的关键帧标识,以及将关键帧标识发送至服务端。其中,关键帧标识可以用于表征关键帧。作为示例,关键帧标识可以是关键帧的播放时间(例如“00:01:20”)、关键帧在第一视频中的排列序号等。在本实施例中,发送单元602可以将获取的关键帧标识通过有线连接方式或无线连接方式发送至服务端(例如图1所示的服务器)。
在本实施例中,接收单元603可以响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在目标缓存视频帧。其中,当前视频帧是继续播放的第一视频中当前显示的视频帧,缓存视频帧是预先与第一视频建立对应关系的第二视频中的视频帧,并且缓存视频帧与第一视频包括的视频帧对应。目标缓存视频帧可以是播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的缓存视频帧。需要说明的是,第一视频中的视频帧与缓存视频帧的对应关系可以是上述执行主体自动建立的。例如,上述执行主体自动将至少一个缓存视频帧的第1帧对应于上述关键帧的下一帧,将至少一个缓存视频帧的第2帧对应于上述关键帧的下一帧的下一帧,以此类推。
在本实施例中,第二确定单元604可以响应于确定至少一个缓存视频帧中存在目标视频帧,从目标缓存视频帧开始,播放第二视频。通过第二确定单元604执行的步骤,可以实现在不中断播放的第一视频的情况下,从第一视频切换到第二视频继续播放,从而提高了视频切换的连贯性,改善了视频播放的效果。
在本实施例的一些可选的实现方式中,装置600还可以包括:第三确定单元(图中未示出),被配置成响应于确定不存在,继续播放第一视频。
在本实施例的一些可选的实现方式中,第二视频可以是在目标应用中播放的;以及装置600还可以包括:第三确定单元(图中未示出),被配置成响应于接收到用户对当前播放的第二视频进行切换操作而产生的切换指令,确定目标应用的播放模式,其中,所接收的切换指令用于指示将第二视频切换至对应的第一视频;第四确定单元(图中未示出),被配置成响应于确定播放模式表征目标应用处于第二播放模式,继续播放第二视频。
在本实施例的一些可选的实现方式中,第一视频可以是在目标应用中播放的;以及第一确定单元可以包括:第一确定模块(图中未示出),被配置成响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,确定目标应用的播放模式,其中,所接收的切换指令用于指示将第一视频切换至对应的第二视频;第二确定模块(图中未示出),被配置成响应于确定播放模式表征目标应用处于第一播放模式,继续执行上述确定步骤。
本申请的上述实施例提供的用于播放视频的装置,通过将当前播放的视频帧确定为关键帧并继续播放第一视频,以及获取关键帧的关键帧标识,将关键帧标识发送至服务端,响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧,如果存在,从目标缓存视频帧开始,播放第二视频,有助于避免视频切换时产生的卡顿现象,使视频切换更加流畅。
进一步参考图7,作为对上述各图所示方法的实现,本申请提供了一种用于播放视频的装置的一个实施例,该装置实施例与图5所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,本实施例的用于播放视频的装置700包括:接收单元701,被配置成接收终端发送的表征第一视频中的关键帧的关键帧标识;确定单元702,被配置成从预设的、与第一视频关联的第二视频中,确定关键帧的对应视频帧;发送单元703,被配置成向终端发送至少一个缓存视频帧,其中,缓存视频帧是第二视频中的、播放时间晚于对应视频帧的播放时间的视频帧。
在本实施例中,接收单元701可以通过有线连接方式或者无线连接方式从用户使用的终端(例如图1所示的终端设备)接收关键帧标识。其中,关键帧标识与图2所示的实施例中描述的关键帧标识相同,这里不再赘述。
在本实施例中,确定单元702可以从预设的、与第一视频关联的第二视频中,确定关键帧标识的对应视频帧。其中,第二视频可以与第一视频关联存储在上述执行主体中。例如,第一视频和第二视频分别具有对应的视频标识,将对应的视频标识相同或具有预设的对应关系的第一视频和第二视频确定为两者互相关联。确定单元702可以按照各种方法,从第二视频中确定关键帧标识的对应视频帧。例如,将播放时间与关键帧标识表征的视频帧的播放时间相同的视频帧确定为对应视频帧。
在本实施例中,发送单元703可以向终端发送至少一个缓存视频帧。其中,缓存视频帧可以是第二视频中的、播放时间晚于对应视频帧的播放时间的视频帧。作为示例,假设对应视频帧是第二视频的第M帧,其中,M为正整数。至少一个缓存视频帧可以包括第M+1帧、第M+2帧等等。
在本实施例的一些可选的实现方式中,确定单元702可以包括:匹配模块(图中未示出),被配置成将关键帧标识表征的视频帧与预设的、与第一视频关联的第二视频包括的视频帧进行匹配,得到匹配结果;确定模块,被配置成基于匹配结果,从第二视频中,确定关键帧标识表征的视频帧的对应视频帧。
在本实施例的一些可选的实现方式中,匹配模块可以进一步被配置成:确定关键帧标识表征的视频帧与第二视频包括的视频帧的相似度作为匹配结果。
在本实施例的一些可选的实现方式中,匹配模块可以进一步被配置成:从第二视频包括的视频帧的播放时间中,确定与关键帧标识表征的视频帧的播放时间最接近的播放时间作为匹配结果。
本申请的上述实施例提供的用于推送视频的装置,通过根据接收终端发送的关键帧标识,再从第二视频中确定关键帧标识的对应视频帧,最后向终端发送至少一个缓存视频帧,从而提高了推送视频帧的针对性,有助于提高从第一视频向第二视频切换的连贯性。
继续参考图8,其示出了根据本申请的用于处理信息的系统的一个实施例的时序800。
本申请实施例中的用于处理信息的系统可以包括终端和服务端。其中,终端被配置成响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,执行如下确定步骤:确定当前播放的视频帧作为关键帧以及继续播放第一视频;获取关键帧的关键帧标识,以及将关键帧标识发送至服务端;响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧,其中,当前视频帧是继续播放的第一视频中当前显示的视频帧,缓存视频帧是预先与第一视频建立对应关系的第二视频中的视频帧,缓存视频帧与第一视频包括的视频帧对应;响应于确定存在,从目标缓存视频帧开始,播放第二视频。服务端被配置成接收终端发送的表征第一视频中的关键帧的关键帧标识;从预设的、与第一视频关联的第二视频中,确定关键帧标识的对应视频帧;向终端发送至少一个缓存视频帧,其中,缓存视频帧是第二视频中的、播放时间晚于对应视频帧的播放时间的视频帧。
如图8所示,在步骤801中,终端响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,执行如下确定步骤:确定当前播放的视频帧作为关键帧以及继续播放第一视频。
在本实施例中,终端(例如图1所示的终端设备)可以响应于接收到使用其观看视频的用户对当前播放的的第一视频进行切换操作(例如点击用于切换视频的按钮,或输入用于切换视频的命令)而产生的切换指令,确定当前播放的视频帧作为关键帧以及继续播放第一视频。其中,切换指令可以用于指示终端进行视频切换操作。切换指令的形式可以包括但不限于以下至少一种:文字、数字、符号、音频等。当前播放的视频帧可以是在终端上当前显示的视频帧。
步骤802,终端获取关键帧的关键帧标识。
在本实施例中,终端可以获取步骤801中确定的关键帧的关键帧标识。其中,关键帧标识可以用于表征关键帧。作为示例,关键帧标识可以是关键帧的播放时间(例如“00:01:20”)、关键帧在第一视频中的排列序号等。
步骤803,终端将关键帧标识发送至服务端。
在本实施例中,终端可以将获取的关键帧标识通过有线连接方式或无线连接方式发送至服务端(例如图1所示的服务器)。其中,终端可以将标识信息单独发送至服务端,也可以通过向服务端发送符合预设通信协议(例如TCP、HTTP等)的、包含关键帧标识的消息,将关键帧标识发送至服务端。
步骤804,服务端从预设的、与第一视频关联的第二视频中,确定关键帧标识的对应视频帧。
在本实施例中,服务端可以从预设的、与第一视频关联的第二视频中,确定关键帧的对应视频帧。其中,第二视频可以与第一视频关联存储在服务端中。例如,第一视频和第二视频分别具有对应的视频标识,将对应的视频标识相同或具有预设的对应关系的第一视频和第二视频确定为两者互相关联。
在本实施例中,服务端可以按照各种方法,从第二视频中确定关键帧的对应视频帧。例如,将播放时间与关键帧的播放时间相同的视频帧确定为对应视频帧。
在本实施例的一些可选的实现方式中,服务端可以按照如下步骤确定关键帧的对应视频帧:首先,将关键帧与预设的、与第一视频关联的第二视频包括的视频帧进行匹配,得到匹配结果。然后,基于匹配结果,从第二视频中,确定关键帧标识的对应视频帧。
在本实施例的一些可选的实现方式中,服务端可以确定关键帧标识表征的视频帧与第二视频包括的视频帧的相似度作为匹配结果。
在本实施例的一些可选的实现方式中,服务端可以从第二视频包括的视频帧的播放时间中,确定与关键帧标识表征的视频帧的播放时间最接近的播放时间作为匹配结果。
步骤805,服务端向终端发送至少一个缓存视频帧。
在本实施例中,服务端可以向终端发送至少一个缓存视频帧。其中,缓存视频帧可以是第二视频中的、播放时间晚于对应视频帧的播放时间的视频帧。作为示例,假设对应视频帧是第二视频的第M帧,其中,M为正整数。至少一个缓存视频帧可以包括第M+1帧、第M+2帧等等。
步骤806,终端响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧。
在本实施例中,终端可以响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在目标缓存视频帧。其中,当前视频帧是继续播放的第一视频中当前显示的视频帧,缓存视频帧是预先与第一视频建立对应关系的第二视频中的视频帧,并且缓存视频帧与第一视频包括的视频帧对应。目标缓存视频帧可以是播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的缓存视频帧。
步骤807,终端响应于确定存在,从目标缓存视频帧开始,播放第二视频。
在本实施例中,终端可以响应于确定至少一个缓存视频帧中存在目标视频帧,从目标缓存视频帧开始,播放第二视频。
本申请的上述实施例提供的系统,通过终端将当前播放的视频帧确定为关键帧并继续播放第一视频,以及获取关键帧的关键帧标识,将关键帧标识发送至服务端,服务端根据接收终端发送的关键帧标识从第二视频中确定关键帧的对应视频帧,最后向终端发送至少一个缓存视频帧,终端响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧,如果存在,从目标缓存视频帧开始,播放第二视频,从而有助于避免视频切换时产生的卡顿现象,使视频切换更加流畅。
下面参考图9,其示出了适于用来实现本申请实施例的电子设备(例如图1所示的服务器或终端设备)的计算机系统900的结构示意图。图9示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如液晶显示器(LCD)等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一确定单元、发送单元、接收单元和第二确定单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“获取关键帧的关键帧标识,以及将关键帧标识发送至服务端的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,执行如下确定步骤:确定当前播放的视频帧作为关键帧以及继续播放第一视频;获取关键帧的关键帧标识,以及将关键帧标识发送至服务端;响应于接收到服务端发送的至少一个缓存视频帧,确定至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧,其中,当前视频帧是继续播放的第一视频中当前显示的视频帧,缓存视频帧是预先与第一视频建立对应关系的第二视频中的视频帧,缓存视频帧与第一视频包括的视频帧对应;响应于确定存在,从目标缓存视频帧开始,播放第二视频。
此外,当上述一个或者多个程序被该电子设备执行时,还可以使得该电子设备:接收终端发送的表征第一视频中的关键帧的关键帧标识;从预设的、与第一视频关联的第二视频中,确定关键帧的对应视频帧;向终端发送至少一个缓存视频帧,其中,缓存视频帧是第二视频中的、播放时间晚于对应视频帧的播放时间的视频帧。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (19)

1.一种用于播放视频的方法,包括:
响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,执行如下确定步骤:确定当前播放的视频帧作为关键帧以及继续播放第一视频;
获取所述关键帧的关键帧标识,以及将所述关键帧标识发送至服务端;
响应于接收到所述服务端发送的至少一个缓存视频帧,确定所述至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧,其中,当前视频帧是继续播放的第一视频中当前显示的视频帧,缓存视频帧是预先与所述第一视频建立对应关系的第二视频中的视频帧,缓存视频帧与第一视频包括的视频帧对应;
响应于确定存在,从所述目标缓存视频帧开始,播放所述第二视频。
2.根据权利要求1所述的方法,其中,在所述确定所述至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧之后,所述方法还包括:
响应于确定不存在,继续播放所述第一视频。
3.根据权利要求1或2所述的方法,其中,所述第二视频是在目标应用中播放的;以及
所述方法还包括:
响应于接收到用户对当前播放的第二视频进行切换操作而产生的切换指令,确定所述目标应用的播放模式,其中,所接收的切换指令用于指示将所述第二视频切换至对应的第一视频;
响应于确定所述播放模式表征所述目标应用处于第二播放模式,继续播放所述第二视频。
4.根据权利要求1或2所述的方法,其中,所述第一视频是在目标应用中播放的;以及
所述方法还包括:
响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,确定所述目标应用的播放模式,其中,所接收的切换指令用于指示将所述第一视频切换至对应的第二视频;
响应于确定所述播放模式表征所述目标应用处于第一播放模式,继续执行所述确定步骤。
5.一种用于推送视频的方法,包括:
接收终端发送的表征第一视频中的关键帧的关键帧标识;
从预设的、与所述第一视频关联的第二视频中,确定所述关键帧标识的对应视频帧;
向所述终端发送至少一个缓存视频帧,其中,缓存视频帧是所述第二视频中的、播放时间晚于所述对应视频帧的播放时间的视频帧。
6.根据权利要求5所述的方法,其中,所述从预设的、与所述第一视频关联的第二视频中,确定所述关键帧标识的对应视频帧,包括:
将所述关键帧标识表征的视频帧与预设的、与所述第一视频关联的第二视频包括的视频帧进行匹配,得到匹配结果;
基于所述匹配结果,从所述第二视频中,确定所述关键帧的对应视频帧。
7.根据权利要求6所述的方法,其中,所述将所述关键帧标识与预设的、与所述第一视频关联的第二视频包括的视频帧进行匹配,得到匹配结果,包括:
确定所述关键帧标识表征的视频帧与所述第二视频包括的视频帧的相似度作为匹配结果。
8.根据权利要求6所述的方法,其中,所述将所述关键帧标识与预设的、与所述第一视频关联的第二视频包括的视频帧进行匹配,得到匹配结果,包括:
从所述第二视频包括的视频帧的播放时间中,确定与所述关键帧标识表征的视频帧的播放时间最接近的播放时间作为匹配结果。
9.一种用于播放视频的装置,包括:
第一确定单元,被配置成响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,执行如下确定步骤:确定当前播放的视频帧作为关键帧以及继续播放第一视频;
发送单元,被配置成获取所述关键帧的关键帧标识,以及将所述关键帧标识发送至服务端;
接收单元,被配置成响应于接收到所述服务端发送的至少一个缓存视频帧,确定所述至少一个缓存视频帧中,是否存在播放时间晚于当前视频帧的播放时间、且与当前视频帧对应的缓存视频帧相邻的目标缓存视频帧,其中,当前视频帧是继续播放的第一视频中当前显示的视频帧,缓存视频帧是预先与所述第一视频建立对应关系的第二视频中的视频帧,缓存视频帧与第一视频包括的视频帧对应;
第二确定单元,被配置成响应于确定存在,从所述目标缓存视频帧开始,播放所述第二视频。
10.根据权利要求9所述的装置,其中,所述装置还包括:
第三确定单元,被配置成响应于确定不存在,继续播放所述第一视频。
11.根据权利要求9或10所述的装置,其中,所述第二视频是在目标应用中播放的;以及
所述装置还包括:
第三确定单元,被配置成响应于接收到用户对当前播放的第二视频进行切换操作而产生的切换指令,确定所述目标应用的播放模式,其中,所接收的切换指令用于指示将所述第二视频切换至对应的第一视频;
第四确定单元,被配置成响应于确定所述播放模式表征所述目标应用处于第二播放模式,继续播放所述第二视频。
12.根据权利要求9或10所述的装置,其中,所述第一视频是在目标应用中播放的;以及
所述第一确定单元包括:
第一确定模块,被配置成响应于接收到用户对当前播放的第一视频进行切换操作而产生的切换指令,确定所述目标应用的播放模式,其中,所接收的切换指令用于指示将所述第一视频切换至对应的第二视频;
第二确定模块,被配置成响应于确定所述播放模式表征所述目标应用处于第一播放模式,继续执行所述确定步骤。
13.一种用于推送视频的装置,包括:
接收单元,被配置成接收终端发送的表征第一视频中的关键帧的关键帧标识;
确定单元,被配置成从预设的、与所述第一视频关联的第二视频中,确定所述关键帧标识的对应视频帧;
发送单元,被配置成向所述终端发送至少一个缓存视频帧,其中,缓存视频帧是所述第二视频中的、播放时间晚于所述对应视频帧的播放时间的视频帧。
14.根据权利要求13所述的装置,其中,所述确定单元包括:
匹配模块,被配置成将所述关键帧标识表征的视频帧与预设的、与所述第一视频关联的第二视频包括的视频帧进行匹配,得到匹配结果;
确定模块,被配置成基于所述匹配结果,从所述第二视频中,确定所述关键帧标识表征的视频帧的对应视频帧。
15.根据权利要求14所述的装置,其中,所述匹配模块进一步被配置成:
确定所述关键帧标识表征的视频帧与所述第二视频包括的视频帧的相似度作为匹配结果。
16.根据权利要求14所述的装置,其中,所述匹配模块进一步被配置成:
从所述第二视频包括的视频帧的播放时间中,确定与所述关键帧标识表征的视频帧的播放时间最接近的播放时间作为匹配结果。
17.一种用于播放视频的系统,包括终端和服务端,其中,所述终端被配置成执行如权利要求1-4之一所述的方法,所述服务端被配置成执行如权利要求5-8之一所述的方法。
18.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
19.一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN201810760088.5A 2018-07-11 2018-07-11 用于播放视频的方法、装置和系统 Active CN108965907B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810760088.5A CN108965907B (zh) 2018-07-11 2018-07-11 用于播放视频的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810760088.5A CN108965907B (zh) 2018-07-11 2018-07-11 用于播放视频的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN108965907A true CN108965907A (zh) 2018-12-07
CN108965907B CN108965907B (zh) 2020-03-13

Family

ID=64483931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810760088.5A Active CN108965907B (zh) 2018-07-11 2018-07-11 用于播放视频的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN108965907B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110213642A (zh) * 2019-05-23 2019-09-06 腾讯音乐娱乐科技(深圳)有限公司 视频的断点播放方法、装置、存储介质及电子设备
CN110519645A (zh) * 2019-09-05 2019-11-29 北京字节跳动网络技术有限公司 视频内容的播放方法、装置、电子设备及计算机可读介质
CN111436005A (zh) * 2019-01-15 2020-07-21 北京字节跳动网络技术有限公司 用于显示图像的方法和装置
CN111836076A (zh) * 2019-04-18 2020-10-27 腾讯科技(深圳)有限公司 视频分辨率切换方法及装置、电子设备
CN112399197A (zh) * 2019-08-12 2021-02-23 深圳市茁壮网络股份有限公司 Ip播放转加扰视频流播放的方法、装置、服务器及介质
CN112887755A (zh) * 2019-11-29 2021-06-01 北京百度网讯科技有限公司 用于播放视频的方法和装置
CN113170217A (zh) * 2018-12-27 2021-07-23 深圳市柔宇科技股份有限公司 视频同步方法、服务器端视频同步装置、客户端视频同步装置
CN113301351A (zh) * 2020-07-03 2021-08-24 阿里巴巴集团控股有限公司 视频播放方法、装置、电子设备及计算机存储介质
CN113727172A (zh) * 2021-09-01 2021-11-30 北京字跳网络技术有限公司 视频缓存播放方法、装置、电子设备及存储介质
CN115225914A (zh) * 2021-04-16 2022-10-21 浙江创意声光电科技有限公司 光影秀播放方法、装置、控制设备和存储介质
WO2023165371A1 (zh) * 2022-03-02 2023-09-07 北京字节跳动网络技术有限公司 音频播放方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291599A (zh) * 2011-05-07 2011-12-21 董友球 网络视频播放方法及网络视频播放装置
CN102905188A (zh) * 2012-11-01 2013-01-30 北京奇艺世纪科技有限公司 一种视频码流切换方法及装置
CN104219579A (zh) * 2014-08-20 2014-12-17 北京奇艺世纪科技有限公司 一种视频切换方法和装置
CN104244069A (zh) * 2014-09-15 2014-12-24 深圳润华创视科技有限公司 网络视频播放方法、存储方法、播放设备、服务端及系统
CN106375836A (zh) * 2016-09-27 2017-02-01 广东小天才科技有限公司 一种视频的分辨率切换方法及装置
US20170048295A1 (en) * 2011-09-19 2017-02-16 Comcast Cable Communications, Llc Content Storage and Identification

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291599A (zh) * 2011-05-07 2011-12-21 董友球 网络视频播放方法及网络视频播放装置
US20170048295A1 (en) * 2011-09-19 2017-02-16 Comcast Cable Communications, Llc Content Storage and Identification
CN102905188A (zh) * 2012-11-01 2013-01-30 北京奇艺世纪科技有限公司 一种视频码流切换方法及装置
CN104219579A (zh) * 2014-08-20 2014-12-17 北京奇艺世纪科技有限公司 一种视频切换方法和装置
CN104244069A (zh) * 2014-09-15 2014-12-24 深圳润华创视科技有限公司 网络视频播放方法、存储方法、播放设备、服务端及系统
CN106375836A (zh) * 2016-09-27 2017-02-01 广东小天才科技有限公司 一种视频的分辨率切换方法及装置

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113170217A (zh) * 2018-12-27 2021-07-23 深圳市柔宇科技股份有限公司 视频同步方法、服务器端视频同步装置、客户端视频同步装置
US11482257B2 (en) 2019-01-15 2022-10-25 Beijing Bytedance Network Technology Co., Ltd. Image display method and apparatus
CN111436005A (zh) * 2019-01-15 2020-07-21 北京字节跳动网络技术有限公司 用于显示图像的方法和装置
CN111836076A (zh) * 2019-04-18 2020-10-27 腾讯科技(深圳)有限公司 视频分辨率切换方法及装置、电子设备
CN111836076B (zh) * 2019-04-18 2023-01-20 腾讯科技(深圳)有限公司 视频分辨率切换方法及装置、电子设备
CN110213642A (zh) * 2019-05-23 2019-09-06 腾讯音乐娱乐科技(深圳)有限公司 视频的断点播放方法、装置、存储介质及电子设备
CN112399197A (zh) * 2019-08-12 2021-02-23 深圳市茁壮网络股份有限公司 Ip播放转加扰视频流播放的方法、装置、服务器及介质
CN110519645A (zh) * 2019-09-05 2019-11-29 北京字节跳动网络技术有限公司 视频内容的播放方法、装置、电子设备及计算机可读介质
CN112887755A (zh) * 2019-11-29 2021-06-01 北京百度网讯科技有限公司 用于播放视频的方法和装置
CN113301351B (zh) * 2020-07-03 2023-02-24 阿里巴巴集团控股有限公司 视频播放方法、装置、电子设备及计算机存储介质
CN113301351A (zh) * 2020-07-03 2021-08-24 阿里巴巴集团控股有限公司 视频播放方法、装置、电子设备及计算机存储介质
CN115225914A (zh) * 2021-04-16 2022-10-21 浙江创意声光电科技有限公司 光影秀播放方法、装置、控制设备和存储介质
CN115225914B (zh) * 2021-04-16 2023-08-22 浙江创意声光电科技有限公司 光影秀播放方法、装置、控制设备和存储介质
CN113727172A (zh) * 2021-09-01 2021-11-30 北京字跳网络技术有限公司 视频缓存播放方法、装置、电子设备及存储介质
CN113727172B (zh) * 2021-09-01 2023-02-28 北京字跳网络技术有限公司 视频缓存播放方法、装置、电子设备及存储介质
WO2023165371A1 (zh) * 2022-03-02 2023-09-07 北京字节跳动网络技术有限公司 音频播放方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN108965907B (zh) 2020-03-13

Similar Documents

Publication Publication Date Title
CN108965907A (zh) 用于播放视频的方法、装置和系统
CN108022586B (zh) 用于控制页面的方法和装置
CN108540831B (zh) 用于推送信息的方法和装置
CN102572557A (zh) 当前设备定位广告分发
CN111064987B (zh) 信息展示方法、装置及电子设备
CN109684578A (zh) 用于显示信息的方法和装置
CN110069738A (zh) 信息处理方法、装置、终端设备及服务器
CN110166791A (zh) 连接的建立方法、装置、设备及存储介质
CN109446442A (zh) 用于处理信息的方法和装置
CN109753332A (zh) 用于展现信息的方法和装置
CN109640176A (zh) 用于生成信息的方法和装置
CN109495767A (zh) 用于输出信息的方法和装置
CN110673886B (zh) 用于生成热力图的方法和装置
CN108337556B (zh) 用于播放影音文件的方法和装置
CN109918146A (zh) 页面生成方法和装置
CN109819042A (zh) 用于提供软件开发工具包的方法和装置
CN108881928A (zh) 用于发布信息的方法和装置、用于处理信息的方法和装置
CN109672910A (zh) 视频播放方法、装置、电子设备及计算机可读存储介质
CN111225255B (zh) 目标视频推送播放方法、装置、电子设备及存储介质
CN108984260B (zh) 用于处理信息的方法和装置
CN102665096B (zh) 无线分发系统代理高速缓存的系统和方法
CN110619101B (zh) 用于处理信息的方法和装置
CN111460211A (zh) 音频信息播放方法、装置和电子设备
CN112307393A (zh) 信息发布方法、装置和电子设备
CN109408647A (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
CP01 Change in the name or title of a patent holder

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Tiktok vision (Beijing) Co.,Ltd.

CP01 Change in the name or title of a patent holder