CN110719524B - 一种视频播放方法、装置、智能播放设备和存储介质 - Google Patents

一种视频播放方法、装置、智能播放设备和存储介质 Download PDF

Info

Publication number
CN110719524B
CN110719524B CN201910984777.9A CN201910984777A CN110719524B CN 110719524 B CN110719524 B CN 110719524B CN 201910984777 A CN201910984777 A CN 201910984777A CN 110719524 B CN110719524 B CN 110719524B
Authority
CN
China
Prior art keywords
key frame
video
playing
data
time point
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
Application number
CN201910984777.9A
Other languages
English (en)
Other versions
CN110719524A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910984777.9A priority Critical patent/CN110719524B/zh
Publication of CN110719524A publication Critical patent/CN110719524A/zh
Application granted granted Critical
Publication of CN110719524B publication Critical patent/CN110719524B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Television Signal Processing For Recording (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

本申请实施例公开了一种视频播放方法、装置、智能播放设备和存储介质,获取目标视频的视频内容数据和关键帧数据,并对所述视频内容数据进行播放;其中,所述关键帧数据包括至少一个关键帧时间点;接收跳转播放指令;根据所述跳转播放指令从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点;根据所述目标关键帧时间点获取所述目标视频的待播放视频内容数据;对所述待播放视频内容数据进行播放。该方案可以大大提升视频跳转播放的速度。

Description

一种视频播放方法、装置、智能播放设备和存储介质
技术领域
本申请涉及互联网技术领域,具体涉及一种视频播放方法、装置、智能播放设备和存储介质。
背景技术
随着互联网的发展,智能家居设备也被越来越多的人使用。比如,智能家里设备可以包括智能电视、智能音箱等设置。其中,智能电视(TV)可以连接互联网来播放视频,提供视频播放等功能。
目前智能电视在播放视频的过程中,用户可以通过控制设备如遥控器对视频播放进行控制,比如,通过遥控器的左右方向键来控制视频跳转播放如快进、后退等。具体地,用户可以通过对遥控器的左右方向键进行操作向智能电视发送相应的控制指令如快进或后退指令,智能电视可以根据控制指令在时间轴上以固定的速度进行快进、或后退实现跳转播放。
然而,目前智能电视的跳转播放方式,只能在时间轴上以固定的速度进行跳转播放,会浪费很多时间,例如如果视频时间过长则想快进至片尾部分需要花费或等待较长时间,从而导致视频跳转播放的速度较慢。
发明内容
本申请实施例提供一种视频播放方法、装置、智能播放设备和存储介质,可以提升视频跳转播放的速度。
本申请实施例提供一种视频播放方法,该方法包括:
获取目标视频的视频内容数据和关键帧数据,并对所述视频内容数据进行播放;其中,所述关键帧数据包括至少一个关键帧时间点;
接收跳转播放指令;
根据所述跳转播放指令从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点;
根据所述目标关键帧时间点获取所述目标视频的待播放视频内容数据;
对所述待播放视频内容数据进行播放。
本申请实施例提供另一种视频播放方法,该方法包括:
获取目标视频的视频内容、以及视频内容对应的播放时间点;
根据所述视频内容从所述播放时间点中选择关键帧时间点,得到关键帧数据;
将所述关键帧数据与目标视频进行绑定;
向智能播放设备返回目标视频的视频内容数据、以及与目标视频绑定的关键帧数据。
本实施例还提供一种视频播放装置,该装置包括:
播放单元,用于获取目标视频的视频内容数据和关键帧数据,并对所述视频内容数据进行播放;其中,所述关键帧数据包括至少一个关键帧时间点;
接收单元,用于接收跳转播放指令;
确定单元,用于根据所述跳转播放指令从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点;
获取单元,用于根据所述目标关键帧时间点获取所述目标视频的待播放视频内容数据;
跳转单元,用于对所述待播放视频内容数据进行播放。
在一实施例中,所述确定单元,包括:
时间点获取子单元,用于根据所述跳转播放指令获取当前视频播放时间点;
确定子单元,用于根据所述当前视频播放时间点从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点。
在一实施例中,所述确定子单元,用于:
定候选关键帧时间点;
获取当前视频播放时间点与所述候选关键帧时间点之间的距离;
根据所述距离从候选关键帧时间点确定需要跳转播放到的目标关键帧时间点。
在一实施例中,所述确定子单元,用于:
根据跳转播放指令对应的指令类型,从至少一个关键帧时间点中确定候选关键帧时间点;
获取当前视频播放时间点与所述候选关键帧时间点之间的距离;
根据所述距离从候选关键帧时间点确定需要跳转播放到的目标关键帧时间点。
在一实施例中,其中,所述跳转播放指令还包括需要跳过的目标关键帧时间点数量;
所述确定子单元,用于:根据所述距离和所述目标关键帧时间点数量,从候选关键帧时间点确定需要跳转播放到的目标关键帧时间点。
在一实施例中,视频播放装置还包括:
更新单元,用于根据所述关键帧数据对视频播放的时间轴组件模型进行更新,其中,所述时间组件模型包括关键帧时间点对应的关键帧标识;
显示单元,用于当检测到所述跳转播放指令时,在视频播放页面展示更新后的时间轴组件模型。
在一实施例中,所述更新单元,包括:
比值获取子单元,用于获取所述关键帧时间点与目标视频总时长之间的比值;
位置确定子单元,用于根据所述比值确定关键帧标识在时间轴组件模型中时间轴上的绘制位置;
绘制子单元,用于根据所述绘制位置在所述时间轴上绘制所述关键帧时间点对应的关键帧标识。
在一实施例中,所述绘制子单元,还用于:
根据所述绘制位置确定关键帧标识对应的内容展示位置;
根据所述内容展示位置在时间轴组件模型中绘制所述关键帧标识对应的关键帧内容展示区域。
在一实施例中,所述播放单元,用于:
通过关键帧管理组件调用数据管理组件获取目标视频的视频内容数据和关键帧数据;
通过关键帧管理组件调用播放器对所述视频内容数据进行播放;
根据所述关键帧数据对视频播放的时间轴组件模型进行更新,包括:
通过关键帧管理组件调用播放器,根据所述关键帧数据对视频播放的时间轴组件模型进行更新。
在一实施例中,所述播放单元,用于:
当检测到目标视频的播放指令时,查询本地缓存中是否存在目标视频的视频内容数据和关键帧数据;
若本地缓存存在目标视频的视频内容数据和关键帧数据,从本地缓存中读取目标视频的视频内容数据和关键帧数据;
若本地缓存不存在目标视频的视频内容数据和关键帧数据,向服务器请求目标视频的视频内容数据和关键帧数据。
本申请实施例还提供另一种视频播放装置,包括:
内容获取单元,用于获取目标视频的视频内容、以及视频内容对应的播放时间点;
选择单元,用于根据所述视频内容从所述播放时间点中选择关键帧时间点,得到关键帧数据;
绑定单元,用于将所述关键帧数据与目标视频进行绑定;
发送单元,用于向智能播放设备返回目标视频的视频内容数据、以及与目标视频绑定的关键帧数据。
本实施例还提供一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如视频播放方法的步骤。
本实施例还提供一种智能播放设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如所述视频播放方法的步骤。
本申请实施例获取目标视频的视频内容数据和关键帧数据,并对所述视频内容数据进行播放;其中,所述关键帧数据包括至少一个关键帧时间点;在播放目标视频的过程中,接收跳转播放指令;根据所述跳转播放指令从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点;根据所述目标关键帧时间点获取所述目标视频的待播放视频内容数据;对所述待播放视频内容数据进行播放。该方案可以在视频的关键帧时间点之间进行快速跳转播放,避免了以匀速移动进行跳转播放,节省了跳转播放的实现时间,大大提升了视频跳转播放的速度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的视频播放方法的场景示意图;
图1b是本申请实施例提供的视频播放方法的流程图;
图2a是本申请实施例提供的时间轴组件模型的示意图;
图2b是本申请实施例提供的控制层主类示意图;
图2c是本申请实施例提供的数据层逻辑流程示意图;
图3a是本申请实施例提供的视频播放的另一流程示意图;
图3b是本申请实施例提供的关键帧时间点选择示意图;
图3c是本申请实施例提供的另一关键帧时间点选择示意图;
图3d是本申请实施例提供的后台逻辑流程示意图;
图4是本申请实施例提供的前端视频跳转播放的逻辑示意图;
图5a是本申请实施例提供的视频播放装置的结构示意图;
图5b是本申请实施例提供的视频播放装置的另一结构示意图;
图5c是本申请实施例提供的视频播放装置的另一结构示意图;
图5d是本申请实施例提供的视频播放装置的另一结构示意图;
图6是本申请实施例提供的视频播放装置的另一结构示意图;
图7是本申请实施例提供的智能播放设备的结构示意图;
图8a是本申请实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图;
图8b是本申请实施例提供的区块结构的一个可选的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种视频播放方法、装置、智能播放设备和存储介质。具体地,本申请实施例提供适用于智能播放设备的视频播放装置。其中,该智能播放设备可以为终端或服务器等设备,该终端可以为智能电视、电视盒子、手机、平板电脑、笔记本电脑等设备。该服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群。
参考图1a,以智能播放设备为智能电视为例,本申请实施例提供了视频播放系统包括智能电视10和服务器20等;智能电视10与服务器20之间通过网络连接,比如,通过有线或无线网络连接等,其中,视频播放装置集成在智能电视中,比如,以客户端的形式集成在智能电视10中,该客户端可以是视频客户端,浏览器客户端等。
其中,智能电视10,可以获取目标视频的视频内容数据和关键帧数据,比如,可以从服务器20请求获取目标视频的视频内数据和关键帧数据,然后,智能电视10可以对视频内容数据进行播放;其中,该关键帧数据包括至少一个关键帧时间点;接收跳转播放指令;根据跳转播放指令从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点;根据目标关键帧时间点获取目标视频的待播放视频内容数据;对待播放视频内容数据进行播放。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本申请实施例提供了一种视频播放方法,该方法可以由终端或服务器执行,也可以由终端和服务器共同执行;本申请实施例以视频播放方法由终端执行为例来进行说明,具体的,由集成在终端中的视频播放装置来执行。如图1b所示,该视频播放方法的具体流程可以如下:
101、获取目标视频的视频内容数据和关键帧数据,并对视频内容数据进行播放;其中,关键帧数据包括至少一个关键帧时间点。
其中,视频内容数据可以为目标视频的图像帧数据、音频数据等等。比如,某个视频的音视频数据等。
本申请实施例中,视频可以由一系列图像(即视频帧)组成,对一系列视频帧进行显示,即显示视频的播放。在实际应用中,每个视频帧都对应有播放时间点,在播放视频时,可以根据播放时间点对视频帧进行播放,从而使得用户可以观看到视频画面,实现视频播放。
其中,关键帧可以为用户可能会跳转播放的视频帧,具体可以根据实际需求设定,比如,可以为综艺节目等娱乐视频中广告内容结束后正片内容开始时的视频帧(如正片内容的第一个视频帧),又比如,可以为新闻报道类视频中每一条新闻内容开始时的视频帧(如每一条新闻内容的第一个视频帧)等等。
其中,关键帧时间点可以为关键帧对应的播放时间点,比如,可以为综艺节目等娱乐视频中广告内容结束后正片内容开始时的视频帧(如正片内容的第一个视频帧)所对应的播放时间点,又比如,可以为新闻报道类视频中每一条新闻内容开始时的视频帧(如每一条新闻内容的第一个视频帧)所对应的播放时间点等等。
在一实施例中,关键帧时间点可以以列表形式呈现,比如,关键帧数据可以包括关键帧时间点列表,该列表中包括按照一定顺序排列的关键帧时间点,该排列顺序可以根据实际需求设定,比如,按照时间点先后或大小顺序排列。
本申请实施例中,视频内容数据和关键帧数据的获取方式可以有多种,比如,在一实施例中,可以从本地缓存中获取目标视频的视频内容数据和关键帧数据;又比如,在一实施例中,可以从后台服务器中请求目标视频的视频内容数据和关键帧数据。例如,终端可以向服务器发送视频数据获取请求,服务器可以根据视频数据获取请求向终端返回目标视频的视频内容数据和关键帧数据,在一实施例中,该视频获取请求可以携带目标视频的视频标识,这样后台服务器可以根据该视频标识获取目标视频的视频内容数据和关键帧数据,并向终端返回该数据。
其中,本实施例中,获取视频数据的时机可以有多种,比如,可以在播放目标视频时获取视频数据,也可以在播放视频之前预先获取目标视频的视频数据(视频内容数据和关键帧数据)。例如,在一实施例中,当检测到目标视频的播放指令时,获取目标视频的视频数据。
在一实施例中,在获取视频内容数据和关键帧数据之后,还可以对视频内容数据进行解析,对解析后的视频内容数据进行播放,比如,在实际应用中,可以通过播放器对解析后的视频内容数据进行播放。
其中,播放器是为用户提供多媒体文件播放的软件,用户可以通过播放器进行视频播放,但是一般的视频播放是简单的单向的内容展示,用户并不能参与其中。此外,在实际应用中,还需要对关键帧数据进行解析。
在实际应用中,播放某个视频,在一些情况下需要显示时间轴组件模型,该时间轴组件模型可以为提示用户当前视频播放的进度、、视频播放总进度、当前播放时长、视频总时长等,以便用户对视频播放进行控制等。在一实施例中,为了提升视频跳转播放的效率和准确性,可以在时间轴组件模型中设置关键帧时间点对应的关键帧标识,具体地,可以在时间轴组件模型中时间轴上设置关键帧标识,以提示用户跳转播放的时间点,便于用户进行视频跳转播放等。其中,时间轴组件模型可以由播放器提供。
由于不同视频对应的关键帧时间点不相同,因此,在一实施例中,在播放目标视频时,还需要根据关键帧数据对时间轴组件模型进行更新;也即,本申请实施例方法还可以包括:根据关键帧数据对视频播放的时间轴组件模型进行更新,其中,时间组件模型包括关键帧时间点对应的关键帧标识。
其中,关键帧标识可以包括关键帧标记,该标记形式有多种,比如,可以采用圆点、颜色等方式标记。
在一实施例中,为了提升界面的简洁性、节省资源以及用户体验,可以在用户进行视频跳转播放如关键帧时间点跳转播放时展示时间轴组件模型;比如,本申请实施例还可以包括:当检测到跳转播放指令时,在视频播放页面展示更新后的时间轴组件模型。
在一实施例中,时间轴组件模型的更新可以包括对关键帧标识的更新,其更新方式有多种,比如,步骤“根据关键帧数据对视频播放的时间轴组件模型进行更新”,可以包括:
获取关键帧时间点与目标视频总时长之间的比值;
根据比值确定关键帧标识在时间轴组件模型中时间轴上的绘制位置;
根据绘制位置在时间轴上绘制关键帧时间点对应的关键帧标识。
例如,终端设置关键帧标记时,可以根据后台下发的关键帧时间点与视频总时长比值确定该标记位于时间轴的位置。例如视频总时长100秒,时间轴UI总长度1000像素,第一个关键帧时间点为40秒的位置,则第一个关键帧的标记在时间轴UI上的位置就在400像素的位置。像素位置确定后将关键帧标记居中绘制到时间轴的400像素位置。
在一实施例中,为了进一步提升视频跳转播放的效率和准确性,还可以在时间轴组件模型中设置关键帧内容展示区域,该区域用于展示关键帧内容如关键帧主要内容,该关键帧内容可以根据实际需求设定,比如,可以为关键帧对应的帧画面,或者可以为从视频帧中按照规则选择的帧画面,在一实施例中,还可以由视频提供方自由设定关键帧内容的文案。
在一实施例中,可以基于关键帧标识的绘制位置确定关键帧内容展示位置,具体地,步骤“根据关键帧数据对视频播放的时间轴组件模型进行更新”,可以包括:
根据绘制位置确定关键帧标识对应的内容展示位置;
根据内容展示位置在时间轴组件模型中绘制关键帧标识对应的关键帧内容展示区域。
其中,内容展示位置可以基于关键帧标识的绘制位置确定,可以有多种方式,比如,在可以绘制位置的上方或下方位置中确定一个位置作为关键帧内容显示区域的位置。
例如,以视频播放按照模型试图控制器(MVC,Model View Controller)架构实现为例,该MVC架构实现可以为三层:展示层、控制层、数据层。
展示层:
本申请实施例展示层可以在有播放器的时间轴组件模型中如模型中时间轴之上增加了关键帧的标注信息,时间轴组件模型,如图2a所示。
图2a图为播放器的时间轴组件的UI模型图,用户正常观看视频时该组件是隐藏状态,不会显示到界面中,在用户进行关键帧时间点跳转时该组件变为显示状态用于显示当前用户视频播放的进度。时间轴的总长度代表播放视频的总长度,区域201的长度代表已经播放的视频进度,图中的”20:21/110:23“代表视频总时长110分钟23秒,当前播放位置在20分21秒。本申请实施例在时间轴之上增加了关键帧的标记与文案用于提示用户每个关键帧在视频整个时长中位于什么位置和每一个关键帧的主要内容。下面详细讲述下时间轴的标记数据与主要内容文案部分:
标记部分:标记部分是根据后台下发的数据进行解析与标记的,根据后台下发的关键帧时间点与视频总时长比值确定该标记位于时间轴的位置。例如视频总时长100秒,时间轴UI总长度1000像素,第一个关键帧时间点为50秒的位置,则第一个关键帧的标记在时间轴UI上的位置就在500像素的位置。像素位置确定后将关键帧标记居中绘制到时间轴的500像素位置。
文案部分:在标记点的位置在时间轴上确定下来之后,对应的主要内容文案位置就可以确定下来,由于文案是与关键帧的标记一一对应的,因此只需要将文案居中绘制到标记点的上方即可,每一块文案区域(即关键帧内容展示区域)的最大宽度和高度都进行了限定,防止因为文案区域过宽遮挡了其它关键帧的文案。
在一实施例中,为了提升视频播放的效率和质量,可以在系统的控制设置关键帧管理组件来控制视频播放和视频跳转播放。具体地,步骤“获取目标视频的视频内容数据和关键帧数据,并对视频内容数据进行播放”,可以包括:
通过关键帧管理组件调用数据管理组件获取目标视频的视频内容数据和关键帧数据;
通过关键帧管理组件调用播放器对视频内容数据进行播放;
此时,步骤“根据关键帧数据对视频播放的时间轴组件模型进行更新”,可以包括:通过关键帧管理组件调用播放器,根据关键帧数据对视频播放的时间轴组件模型进行更新。
在一实施例中,控制层中关键帧管理组件、播放器、数据管理组件可以为类的形式,播放器和数据管理组件可以集成在关键帧管理组件中。例如,参考图2b为在MVC架构的控制层主类示意图,由图2b所示类图可以知道,KeyFrameManager(关键帧管理)作为控制类,包含了数据类(DataManager)、播放器(MediaPlayer),播放器类包含了对于时间轴(TimeAxis)的控制逻辑。KeyFrameManager可以控制数据类、播放器类实现数据获取、数据播放等。
在一实施例中,KeyFrameManager作为控制类的功用是,作为数据类和播放器的桥梁,将二者的功能结合起来,封装成类给外界调用。这样做可以很好地将逻辑和界面分开,仅仅提供一个实现,就能完成一个功能。其功能包括:初始化界面,请求播放视频数据、接收控制设备如遥控器的按键响应、进行关键帧时间点间的跳转,操作时间轴等等(其余辅助功能不多赘述)。
在一实施例中,为提升视频播放速度和节省资源,可以先检查缓存中是否有视频数据,如果有直接利用缓存的视频数据进行播放,如果没有向后台服务器请求数据进行播放。具体地,步骤“获取目标视频的视频内容数据和关键帧数据”,可以包括:
当检测到目标视频的播放指令时,查询本地缓存中是否存在目标视频的视频内容数据和关键帧数据;
若存在,从本地缓存中读取目标视频的视频内容数据和关键帧数据;
若不存在,向服务器请求目标视频的视频内容数据和关键帧数据。
例如,参考图2c,在MVC结构的数据层:当用户选择播放目标视频后,播放的流程如下:
21、终端可以先检查本地缓存是否存在目标视频的视频数据(视频内容数据和关键帧数据中的至少一种),若存在,即有缓存,那么则之间从缓存中获取目标视频的视频数据进行播放,具体地,执行步骤25通知播放器基于关键帧数据更新视频播放时间轴模型即更新视频轴UI(用户界面)、并基于视频内容数据进行视频播放;若不存在,则执行步骤22;
22、向服务器发送数据请求以获取目标视频的视频数据;
23、判断请求成功与否,若成功,则执行步骤24对目标视频的视频数据进行解析,然后执行步骤25基于解析后视频数据进行播放;若失败,则执行步骤26通知用户结果,如通知用户播放失败等。
例如,用户选择播放的视频后,终端(具体地,可以为终端的视频播放装置如客户端)向服务器请求,客户端请求时先检查缓存数据,缓存视频的id为索引,存储在内存中。请求时先检查缓存,缓存缺失再请求服务器,解析成功后缓存并通知播放器进行UI的更新与视频的播放。
在一实施例中,在服务器侧可以将视频数据封装成KeyFrame的列表与VideoInfo(视频信息),具体地,将视频内容数据封装成VideoInfo,将关键帧数据封装成成KeyFrame的列表。VideoInfo是用户选择播放的视频,而KeyFrame的列表代表的就是该视频所有的关键帧时间点,按照时间点大小顺序排列。VideoInfo用于视频的播放,而KeyFrame列表将用于刷新时间轴UI模型,显示出关键帧标记与文案。
102、接收跳转播放指令。
本申请实施例中,接收跳转播放指令的时机有多种,比如,在一个实施例中,可以在播放目标视频的过程中,接收跳转播放指令;又比如,可以在目标视频的播放暂停时,接收跳转播放指令,等等。具体接收跳转播放指令的时机可以根据播放场景而定。
其中,跳转播放指令可以由终端的控制设备,如智能电视的遥控器发送。比如,用户通过操作遥控器的按键如双击左右方向键的方式触发向智能电视发送跳转播放指令,实现关键帧快速跳转。
此外,在一实施例中,跳转播放指令还可以由终端自己触发,比如,当智能播放视频检测到当前播放状态满足跳转条件时自动触发跳转播放指令。譬如,通过增加自动跳转模式定时在视频的关键帧时间点进行自动跳转,不需要用户的手动操作,当用户发现自己感兴趣的内容时再停止播放器的自动时间点跳转。
在一实施例中,为了提升跳转播放的准确性,还可以对跳转播放指令进行划分,比如,根据跳转的方向,可以划分为向后跳转播放的指令,如跳转到下一个关键帧时间点的指令,向前跳转播放的指令如跳转到前一个关键帧时间点的指令。其中,前后指的是当视频播放时间点之前或之后。
103、根据跳转播放指令从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点。
其中,目标关键帧时间点为需要跳转到的目标时间点,该目标时间点可以从关键帧时间点中选择。
其中,选择目标关键帧时间点的方式有多种,比如,在一实施例中,跳转播放指令指示需要跳转到的目标关键帧时间点,此时,可以直接从至少一个关键帧时间点中选择出目标关键帧时间点。
例如,时间点列表包括关键帧时间点1、关键帧时间点2……关键帧时间点n,n为大于2的正整数;当跳转播放指令指示跳转到关键帧时间点5时,此时,可以直接确定关键帧时间点5为目标关键帧时间点。
又比如,在一实施例中,还可以基于当前视频播放时间点来确定目标关键帧时间点。具体地,步骤“根据跳转播放指令从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点”,可以包括:
根据跳转播放指令获取当前视频播放时间点;
根据当前视频播放时间点从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点;
比如,在一实施例中,可以根据跳转播放指令从视频播放数据中获取当前视频播放时间点,又比如,可以基于当前显示的播放时间时长得到。
本申请实施例中,根据当前视频播放时间点从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点的方式有多种,比如,在一实施例中,可以结合跳转播放指令的指令类型来确定。具体地,步骤“根据当前视频播放时间点从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点”,可以包括:
根据跳转播放指令对应的指令类型,从至少一个关键帧时间点中确定候选关键帧时间点;
获取当前视频播放时间点与候选关键帧时间点之间的距离;
根据距离从候选关键帧时间点确定需要跳转播放到的目标关键帧时间点。
例如,当指令类型为向后跳转指令时,可以将位于当前视频播放时间点之后的关键帧时间点作为候选关键帧时间点;当指令类型为向前跳转指令时,可以将位于视频播放时间点之前的关键帧时间点作为候选关键帧时间点。又比如,当指令类型为随机跳转指令时,可以将所有关键帧时间点作为候选关键帧时间点。
其中,基于距离确定目标关键帧时间点的方式有多种,比如,在一实施例中,可以将距离当前视频播放时间点最近的关键帧时间点作为目标时间点,或者,将距离当前视频播放时间点最远的关键帧时间点作为目标时间点。
例如,用户操作触发跳转下一个关键帧的指令后终端会在内存中查找后台下发的该视频所有的关键帧的时间点信息,找到离该视频当前播放的时间点最近的下一个关键帧的时间点作为播放器进行跳转的目标时间。
又比如,在一实施例中,跳转播放指令还可以包括需要跳过的目标关键帧时间点数量时,可以根据该数量和距离来确定目标关键帧时间点。具体地,步骤“根据当前视频播放时间点从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点”,可以包括:根据跳转播放指令对应的指令类型、当前视频播放时间点以及目标关键帧时间点数量,从候选关键帧时间点确定需要跳转播放到的目标关键帧时间点。
其中,目标关键帧时间点数量为需要跳过的关键帧时间点数量,在一些实施例中可以称为跳跃步长,每个步长的单位为一个关键帧时间点。该目标关键帧时间点数量可以由用户选择,与用户操作对应,比如,可以与用户操作的次数对应,譬如,在用户遥控器控制时,双击右方向按键时目标关键帧时间点数量为0、当三击右方向按键时目标关键帧时间点数量为1、当四击右方向按键时目标关键帧时间点数量为2等等。
例如,关键帧时间点列表包括关键帧时间点1、2、3、……n,且当视频播放时间点t位于关键时间点1和2之间;如果指令类型为向后跳转播放指令时,可以选择关键帧时间点3……n为候选时间点;当需要跳过2个关键帧时间点时,此时,可以选择候选关键帧时间点中距离当前时间点t最近的第3个关键帧时间点即关键帧时间点5作为目标关键帧时间点。
104、根据目标关键帧时间点获取目标视频的待播放视频内容数据。
其中,待播放视频内容数据可以包括目标关键帧时间获取目标关键帧时间点对应的视频内容数据,比如,可以为目标关键帧时间点之后的视频内容数据等。
在一实施例中,在确定目标关键帧时间点,即需要跳转到目标时间点时,终端可以从目标时间点开始重新从服务器或缓存中获取待播放视频数据。在一实施例中,还可以根据目标关键帧时间点对视频播放进度进行更新。
105、对待播放视频内容数据进行播放。
比如,可以对待播放视频内容数据进行解析,然后通过播放器对解析后视频内容数据进行播放。
至此,通过上述步骤终端可以完成了跳转播放,即跳转到目标关键帧时间点进行播放。
由上可知,本申请实施例获取目标视频的视频内容数据和关键帧数据,并对视频内容数据进行播放;其中,关键帧数据包括至少一个关键帧时间点;在播放目标视频的过程中,接收跳转播放指令;根据跳转播放指令从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点;根据目标关键帧时间点获取目标视频的待播放视频内容数据;对待播放视频内容数据进行播放。该方案可以在视频的关键帧时间点之间进行快速跳转播放,避免了以匀速移动进行跳转播放(如以固定速度在视频播放的时间轴上移动从而实现跳转播放),节省了跳转播放的实现时间,大大提升了视频跳转播放的速度。对于用户来说,可以在视频播放过程中通过操作快速跳转到目标关键帧时间点,无需等待较长时间,简化了用户的跳转播放操作,提升了跳转播放的操作效率以及节省了资源。
此外,该方案还可以在时间轴组件模型中增加关键帧时间点的标识、内容显示,可以辅助用户操作跳转播放,减少了用户以往需要多次快进定位才能找到关键视频信息内容的问题,帮助用户快速的浏览当前视频的主要内容,获取视频中包含的有效信息,大大减少了用户需要观看视频的总时长、提升了用户体验。
本申请实施例还提供了另一种适用于服务器的视频播放方法,该服务器可以为单台服务器,也可以是由多个服务器组成的服务器集群。其中,服务器可以视频提供方的服务器,该服务器可以提供视频资源,供用户播放。
参考图3a,为本申请实施例提供的一种视频播放方法,该方法可以由服务器,具体由服务器的处理器执行,具体如下:
301、获取目标视频的视频内容、以及视频内容对应的播放时间点。
比如,可以从媒体资源库中获取目标视频的视频内容。
其中,视频内容的播放时间点可以包括视频帧对应的播放时间点,比如,可以为每个视频帧对应的播放时间点。
302、根据视频内容从播放时间点中选择关键帧时间点,得到关键帧数据。
该关键帧时间点为在视频播放过程中用户可能想要跳转到播放的时间点。
本申请实施例中,根据视频内容选择关键帧时间点的方式有多种,比如,在一实施例中,可以将视频中预设内容如广告内容结束正片开始前的时间点作为关键帧时间点;具体地,步骤“根据视频内容从播放时间点中选择关键帧时间点”,可以包括:
从视频内容中识别出预设跳播内容;
根据预设跳播内容的播放结束时间点,从播放时间点中选择关键帧时间点。
其中,预设跳播内容可以为预设的用户可能不想观看的视频内容,如广告内容等。
例如,可以直接将预设跳播内容的播放结束时间点作为关键帧时间点,或者,可以将预设跳播内容的播放结束时间点的下一个视频帧的播放时间点作为关键帧时间点。
例如,参考图3b,以一集综艺节目视频里的广告为例,广告部分是多数用户不喜欢观看的部分,因此以广告结束后正片开始前的时间点可以作为一个关键帧的时间点,在用户观看该视频到广告时可以通过本方案的快速跳转直接跳转到广告播放完后的正片起始部分,关键帧的选取如下图所示,中间的横轴为时间轴,时间轴中设置了三个关键帧时间点。通过遥控控制可以在关键帧间进行跳转,跳过用户不想观看的内容与广告。
在一实施例中,视频内容可以包括多个视频子内容,比如,新闻报道视频中多个新闻视频,此时,可以基于视频子内容开始或起始播放的播放时间点选择关键帧时间点。具体地,步骤“根据视频内容从播放时间点中选择关键帧时间点”,可以包括:
获取视频内容中各个视频子内容的起始播放时间点;
根据起始播放时间点从播放时间点中选择关键帧时间点。
例如,在一实施例中,可以将视频子内容的起始播放时间点直接作为关键帧时间点。
譬如,参考图3c,以一期新闻报道视频为例,因为新闻报道中广告内容较少,因此关键帧时间点的选取考虑的因素为用户对每一条新闻是否感兴趣。帮助用户更好的跳过该条新闻到达下一条新闻内容的时间点。关键帧的选取如下图所示,图中以每条新闻的起始时间点作为关键帧时间点,若用户对本条新闻不感兴趣,则可以通过遥控操作跳转到下一条新闻的起始位置观看下一条新闻,如果依然不感兴趣则可以继续跳转到下一条新闻的起始时间点。
应当理解的是:本申请实施例关键帧时间点的选取只以综艺类型视频的广告结束正片开始的时间点以及新闻类型每条新闻的间隔点为例子进行说明,关键点的选取根据视频的性质不同选取的位置与数量也不尽相同。但最终选取的目标时间点是可以跳过有效信息较少的视频片段例如广告等,其他本文中未列举的视频类型也可以根据各自的特点进行不同的选取。
303、将关键帧数据与目标视频进行绑定。
具体地,在一实施例中,可以间关键帧数据与目标视频的视频标识(id)绑定,当终端请求该目标视频的数据时,可以将搬到的关键帧数据一同发送给终端。
在一实施例中,还可以对绑定后关键帧数据、以及视频内容数据进行存储,如存储至分布式系统中,如区块链中。
304、向终端返回目标视频的视频内容数据、以及与目标视频绑定的关键帧数据。
比如,可以接收终端发送的数据获取请求,服务器可以根据该请求向终端发送目标视频的视频内容数据、以及与目标视频绑定的关键帧数据。在一实施例中,服务器还可以主动向终端推送目标视频的视频内容数据、以及与目标视频绑定的关键帧数据,比如定期推送数据等。
例如,参考图3d,为后台逻辑流程,服务器可以分别获取视频A、B、C的视频内容,然后,进行关键帧数据选择与标注,将处理后视频对应的关键帧数据绑定;当接收到前端(如播放端)的数据请求之后,可以封装待播放视频数据,并向播放端返回封装后的视频数据响应前端(在一实施例中,数据封装可以在接收到请求之前封装)。比如,可以将数据封装成KeyFrame的列表与VideoInfo。
由上可知,本申请实施例可以在服务器侧预先针对视频进行关键帧时间点选择或标记,并向终端发送关键帧时间点,以使得终端在关键帧时间点进行跳转播放,减少了旧有方案进行快进需要等待较长时间的问题。也减少了用户以往需要多次快进定位才能找到关键视频信息的问题,帮助用户快速的浏览当前视频的主要内容,获取视频中包含的有效信息,大大减少了用户需要观看视频的总时长。
上述为本申请实施例提供的视频跳转方案,本申请实施例视频跳转方案可以应用在智能电视的视频跳转播放中,比如,上述视频播放装置可以记载智能电视中视频播放应用程序(APP)中,用户可以通过电视遥控来操作以实现在关键帧时间点之间的快速跳转播放。具体地,如图4所示,为智能电视前端实现的逻辑:
用户在APP中选择视频开始观看,发现对正在播放的内容不感兴趣后,通过双击遥控器的方向键右键向APP下达跳转关键帧的指令。双击右键代表跳转到播放视频的下一个关键帧的指令,双击左键代表跳转到播放器的上一个关键帧的指令。APP中的播放器接收到用户操作的跳转下一个关键帧的指令后会在内存中查找后台下发的该视频所有的关键帧的时间点信息,找到离该视频当前播放的时间点最近的下一个关键帧的时间点作为播放器进行跳转的目标时间点。
播放器根据查找到的目标时间点进行播放进度调整,从目标时间点开始重新拉取数据,待播放数据拉取完成后继续在播放器进行播放,至此一次跳转的动作结束。用户若对跳转后时间点的内容依然不感兴趣,则可以继续向下一个时间点跳转。若用户对上一个关键帧时间点的内容很感兴趣,则可以通过遥控器左键跳转回上一个时间点进行重复观看。
为了更好地实施以上方法,相应的,本申请实施例还提供一种视频播放装置,该视频播放装置可以集成在终端中,参考图5a,该视频播放装置可以包括播放单元501、接收单元502、确定单元503、获取单元504以及跳转单元505:
播放单元501,用于获取目标视频的视频内容数据和关键帧数据,并对所述视频内容数据进行播放;其中,所述关键帧数据包括至少一个关键帧时间点;
接收单元502,用于接收跳转播放指令;
确定单元503,用于根据所述跳转播放指令从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点;
获取单元504,用于根据所述目标关键帧时间点获取所述目标视频的待播放视频内容数据;
跳转单元505,用于对所述待播放视频内容数据进行播放。
在一实施例中,参考图5b,所述确定单元503,可以包括:
时间点获取子单元5031,用于根据所述跳转播放指令获取当前视频播放时间点;
确定子单元5032,用于根据所述当前视频播放时间点从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点。
在一实施例中,所述确定子单元5031,用于:
定候选关键帧时间点;
获取当前视频播放时间点与所述候选关键帧时间点之间的距离;
根据所述距离从候选关键帧时间点确定需要跳转播放到的目标关键帧时间点。
在一实施例中,所述确定子单元5031,用于:
根据跳转播放指令对应的指令类型,从至少一个关键帧时间点中确定候选关键帧时间点;
获取当前视频播放时间点与所述候选关键帧时间点之间的距离;
根据所述距离从候选关键帧时间点确定需要跳转播放到的目标关键帧时间点。
在一实施例中,其中,所述跳转播放指令还包括需要跳过的目标关键帧时间点数量;
所述确定子单元5031,用于:根据所述距离和所述目标关键帧时间点数量,从候选关键帧时间点确定需要跳转播放到的目标关键帧时间点。
在一实施例中,参考图5c,视频播放装置还包括:
更新单元506,用于根据所述关键帧数据对视频播放的时间轴组件模型进行更新,其中,所述时间组件模型包括关键帧时间点对应的关键帧标识;
显示单元507,用于当检测到所述跳转播放指令时,在视频播放页面展示更新后的时间轴组件模型。
在一实施例中,参考图5d,所述更新单元506,包括:
比值获取子单元5061,用于获取所述关键帧时间点与目标视频总时长之间的比值;
位置确定子单元5062,用于根据所述比值确定关键帧标识在时间轴组件模型中时间轴上的绘制位置;
绘制子单元5063,用于根据所述绘制位置在所述时间轴上绘制所述关键帧时间点对应的关键帧标识。
在一实施例中,所述绘制子单元5063,还用于:
根据所述绘制位置确定关键帧标识对应的内容展示位置;
根据所述内容展示位置在时间轴组件模型中绘制所述关键帧标识对应的关键帧内容展示区域。
在一实施例中,所述播放单元501,用于:
通过关键帧管理组件调用数据管理组件获取目标视频的视频内容数据和关键帧数据;
通过关键帧管理组件调用播放器对所述视频内容数据进行播放;
根据所述关键帧数据对视频播放的时间轴组件模型进行更新,包括:
通过关键帧管理组件调用播放器,根据所述关键帧数据对视频播放的时间轴组件模型进行更新。
在一实施例中,所述播放单元501,用于:
当检测到目标视频的播放指令时,查询本地缓存中是否存在目标视频的视频内容数据和关键帧数据;
若本地缓存存在目标视频的视频内容数据和关键帧数据,从本地缓存中读取目标视频的视频内容数据和关键帧数据;
若本地缓存不存在目标视频的视频内容数据和关键帧数据,向服务器请求目标视频的视频内容数据和关键帧数据。
由上可知,本申请实施例的视频播放装置可以通过播放单元501获取目标视频的视频内容数据和关键帧数据,并对所述视频内容数据进行播放;其中,所述关键帧数据包括至少一个关键帧时间点;然后,由接收单元502接收跳转播放指令;由确定单元503根据所述跳转播放指令从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点;由获取单元504根据所述目标关键帧时间点获取所述目标视频的待播放视频内容数据;由跳转单元505对所述待播放视频内容数据进行播放。该方案可以在视频的关键帧时间点之间进行快速跳转播放,避免了以匀速移动进行跳转播放(如以固定速度在视频播放的时间轴上移动从而实现跳转播放),节省了跳转播放的实现时间,大大提升了视频跳转播放的速度。对于用户来说,可以在视频播放过程中通过操作快速跳转到目标关键帧时间点,无需等待较长时间,简化了用户的跳转播放操作,提升了跳转播放的操作效率以及节省了资源
为了更好地实施以上方法,相应的,本申请实施例还提供一种视频播放装置,该视频播放装置可以集成在服务器中,参考图6,该视频播放装置可以包括内容获取单元601、选择单元602、绑定单元603、发送单元604:
内容获取单元601,用于获取目标视频的视频内容、以及视频内容对应的播放时间点;
选择单元602,用于根据所述视频内容从所述播放时间点中选择关键帧时间点,得到关键帧数据;
绑定单元603,用于将所述关键帧数据与目标视频进行绑定;
发送单元604,用于向智能播放设备如终端返回目标视频的视频内容数据、以及与目标视频绑定的关键帧数据。
在一实施例中选择单元602,可以具体用于:
从所述视频内容中识别出预设跳播内容;
根据预设跳播内容的播放结束时间点,从播放时间点中选择关键帧时间点。
在一实施例中选择单元602,可以具体用于:
获取视频内容中各个视频子内容的起始播放时间点;
根据起始播放时间点从所述播放时间点中选择关键帧时间点。
例如,在一实施例中,可以将视频子内容的起始播放时间点直接作为关键帧时间点。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
本实施例的视频播放装置,可以在视频的关键帧时间点之间进行快速跳转播放,避免了在时间抽上以匀速移动进行跳转播放,节省了跳转播放的实现时间,大大提升了视频跳转播放的速度。对于用户来说,可以在视频播放过程中通过操作快速跳转到目标关键帧时间点,无需等待较长时间,简化了用户的跳转播放操作,提升了跳转播放的操作效率以及节省了资源。
此外,本申请实施例还提供一种智能播放设备,该智能播放设备可以为终端或者服务器,如图7所示,其示出了本申请实施例所涉及的智能播放设备的结构示意图,具体来讲:
该智能播放设备可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、电源703和输入单元704等部件。本领域技术人员可以理解,图7中示出的智能播放设备结构并不构成对智能播放设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器701是该智能播放设备的控制中心,利用各种接口和线路连接整个智能播放设备的各个部分,通过运行或执行存储在存储器702内的软件程序和/或单元,以及调用存储在存储器702内的数据,执行智能播放设备的各种功能和处理数据,从而对智能播放设备进行整体监控。可选的,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。
存储器702可用于存储软件程序以及单元,处理器701通过运行存储在存储器702的软件程序以及单元,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能播放设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。
智能播放设备还包括给各个部件供电的电源703,优选的,电源703可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源703还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该智能播放设备还可包括输入单元704,该输入单元704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,智能播放设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,智能播放设备中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能,如下:
获取目标视频的视频内容数据和关键帧数据,并对所述视频内容数据进行播放;其中,所述关键帧数据包括至少一个关键帧时间点;在播放目标视频的过程中,接收跳转播放指令;根据所述跳转播放指令从至少一个关键帧时间点中,确定需要跳转播放到的目标关键帧时间点;根据所述目标关键帧时间点获取所述目标视频的待播放视频内容数据;对所述待播放视频内容数据进行播放。
或者
获取目标视频的视频内容、以及视频内容对应的播放时间点;根据所述视频内容从所述播放时间点中选择关键帧时间点,得到关键帧数据;将所述关键帧数据与目标视频进行绑定;向智能播放设备返回目标视频的视频内容数据、以及与目标视频绑定的关键帧数据。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本申请实施例涉及的视频播放系统可以是由客户端、多个节点(接入网络中的任意形式的智能播放设备,如服务器、终端)通过网络通信的形式连接形成的分布式系统。其中,服务器可以将视频的关键帧数据、视频内容数据等存储至分布式系统如区块链中。
以分布式系统为区块链系统为例,参见图8a,图8a是本申请实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点(接入网络中的任意形式的智能播放设备,如服务器、终端)和客户端形成,节点之间形成组成的点对点(P2P,PeerTo Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission ControlProtocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。本实施例中,视频数据如视频内容数据、关键帧数据等可以通过区域链系统的节点被存储在区域链系统的共享账本中,智能播放设备(例如终端或服务器)可以基于共享账本存储的记录数据获取互动视频的视频内容、互动条件和互动控件信息。
参见图8a示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图8b,图8b是本申请实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例还提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种视频播放方法中的步骤。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种视频播放方法中的步骤,因此,可以实现本申请实施例所提供的任一种视频播放方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种视频播放方法、装置、智能播放设备和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种视频播放方法,其特征在于,应用于智能电视,所述方法采用模型视图控制器MVC架构实现,所述MVC架构包括展示层、控制层与数据层;所述方法包括:
通过关键帧管理组件调用数据管理组件获取目标视频的视频内容数据和关键帧数据,并调用播放器对所述视频内容数据进行播放;其中,所述关键帧数据包括至少一个关键帧时间点,关键帧为用户可能会跳转播放的视频片段内容中的视频帧,所述关键帧为从所述目标视频中视频片段内容的视频帧中选择出的一个视频帧,所述关键帧时间点用于供所述目标视频播放过程中,在所述关键帧时间点之间进行跳转播放,所述播放器和所述数据管理组件集成在所述关键帧管理组件中;
在播放所述目标视频的过程中,通过关键帧管理组件接收跳转播放指令,所述跳转播放指令包括需要跳过的目标关键帧时间点数量;
根据所述跳转播放指令获取当前视频播放时间点;
根据跳转播放指令对应的指令类型,从至少一个关键帧时间点中确定候选关键帧时间点,所述指令类型包括向后跳转指令或者向前跳转指令;
获取当前视频播放时间点与所述候选关键帧时间点之间的距离;
根据所述距离和所述目标关键帧时间点数量,从候选关键帧时间点确定需要跳转播放到的目标关键帧时间点;
通过关键帧管理组件调用数据管理组件根据所述目标关键帧时间点获取所述目标视频的待播放视频内容数据;
通过关键帧管理组件调用播放器对所述待播放视频内容数据进行播放,以通过所述关键帧管理组件来控制所述目标视频播放过程中跳转到所述目标关键帧时间点进行播放;
通过关键帧管理组件调用播放器,获取所述关键帧时间点与目标视频总时长之间的比值,根据所述比值确定关键帧标识在时间轴组件模型中时间轴上的绘制位置,根据所述绘制位置在所述时间轴上绘制所述关键帧时间点对应的关键帧标识,得到更新后的时间轴组件模型,所述时间轴组件模型包括关键帧时间点对应的关键帧标识;其中,所述关键帧标识位于模型视图控制器架构的展示层,所述展示层还用于在所述时间轴上增加所述关键帧标识对应的文案内容;所述播放器、所述数据管理组件及所述关键帧管理组件位于模型视图控制器架构的控制层,所述关键帧管理组件作为所述播放器与所述数据管理组件的桥梁,将所述播放器与所述数据管理组件封装成类给外界调用,以将逻辑和界面分开;
当检测到所述跳转播放指令时,在视频播放页面展示更新后的时间轴组件模型。
2.如权利要求1所述的视频播放方法,其特征在于,所述方法还包括:
根据所述绘制位置确定关键帧标识对应的内容展示位置;
根据所述内容展示位置在时间轴组件模型中绘制所述关键帧标识对应的关键帧内容展示区域。
3.如权利要求1所述的视频播放方法,其特征在于,获取目标视频的视频内容数据和关键帧数据,包括:
当检测到目标视频的播放指令时,查询本地缓存中是否存在目标视频的视频内容数据和关键帧数据;
若本地缓存中存在目标视频的视频内容数据和关键帧数据,从本地缓存中读取目标视频的视频内容数据和关键帧数据;
若本地缓存中不存在目标视频的视频内容数据和关键帧数据,向服务器请求目标视频的视频内容数据和关键帧数据。
4.一种视频播放方法,其特征在于,包括:
获取目标视频的视频内容、以及视频内容对应的播放时间点;
根据所述视频内容从所述播放时间点中选择关键帧时间点,得到关键帧数据;
将所述关键帧数据与目标视频进行绑定;
向智能电视返回目标视频的视频内容数据、以及与目标视频绑定的关键帧数据,以便所述智能电视采用如权利要求1所述的方法进行视频播放。
5.如权利要求4所述的视频播放方法,其特征在于,根据所述视频内容从所述播放时间点中选择关键帧时间点,包括:
从视频内容中识别出预设跳播内容;
根据预设跳播内容的播放结束时间点,从播放时间点中选择关键帧时间点。
6.如权利要求5所述的视频播放方法,其特征在于,根据所述视频内容从所述播放时间点中选择关键帧时间点,包括:
获取视频内容中各个视频子内容的起始播放时间点;
根据起始播放时间点从播放时间点中选择关键帧时间点。
7.一种视频播放装置,其特征在于,应用于智能电视,所述装置采用模型视图控制器MVC架构实现,所述MVC架构包括展示层、控制层与数据层;所述装置包括:
播放单元,用于通过关键帧管理组件调用数据管理组件获取目标视频的视频内容数据和关键帧数据,并调用播放器对所述视频内容数据进行播放;其中,所述关键帧数据包括至少一个关键帧时间点,关键帧为用户可能会跳转播放的视频片段内容中的视频帧,所述关键帧为从所述目标视频中视频片段内容的视频帧中选择出的一个视频帧,所述关键帧时间点用于供所述目标视频播放过程中,在所述关键帧时间点之间进行跳转播放,所述播放器和所述数据管理组件集成在所述关键帧管理组件中;
接收单元,用于在播放所述目标视频的过程中,通过关键帧管理组件接收跳转播放指令,所述跳转播放指令包括需要跳过的目标关键帧时间点数;
确定单元,用于根据所述跳转播放指令获取当前视频播放时间点;
根据跳转播放指令对应的指令类型,从至少一个关键帧时间点中确定候选关键帧时间点,所述指令类型包括向后跳转指令或者向前跳转指令;获取当前视频播放时间点与所述候选关键帧时间点之间的距离;根据所述距离和所述目标关键帧时间点数量,从候选关键帧时间点确定需要跳转播放到的目标关键帧时间点;
获取单元,用于通过关键帧管理组件调用数据管理组件根据所述目标关键帧时间点获取所述目标视频的待播放视频内容数据;
跳转单元,用于通过关键帧管理组件调用播放器对所述待播放视频内容数据进行播放,以通过所述关键帧管理组件来控制所述目标视频播放过程中跳转到所述目标关键帧时间点进行播放;
更新单元,用于通过关键帧管理组件调用播放器,获取所述关键帧时间点与目标视频总时长之间的比值,根据所述比值确定关键帧标识在时间轴组件模型中时间轴上的绘制位置,根据所述绘制位置在所述时间轴上绘制所述关键帧时间点对应的关键帧标识,得到更新后的时间轴组件模型,所述时间轴组件模型包括关键帧时间点对应的关键帧标识;其中,所述关键帧标识位于模型视图控制器架构的展示层,所述展示层还用于在所述时间轴上增加所述关键帧标识对应的文案内容;所述播放器、所述数据管理组件及所述关键帧管理组件位于模型视图控制器架构的控制层,所述关键帧管理组件作为所述播放器与所述数据管理组件的桥梁,将所述播放器与所述数据管理组件封装成类给外界调用,以将逻辑和界面分开;
显示单元,用于当检测到所述跳转播放指令时,在视频播放页面展示更新后的时间轴组件模型。
8.如权利要求7所述的视频播放装置,其特征在于,所述更新单元,还用于:
根据所述绘制位置确定关键帧标识对应的内容展示位置;
根据所述内容展示位置在时间轴组件模型中绘制所述关键帧标识对应的关键帧内容展示区域。
9.如权利要求7所述的视频播放装置,其特征在于,所述播放单元,用于:
当检测到目标视频的播放指令时,查询本地缓存中是否存在目标视频的视频内容数据和关键帧数据;
若本地缓存存在目标视频的视频内容数据和关键帧数据,从本地缓存中读取目标视频的视频内容数据和关键帧数据;
若本地缓存不存在目标视频的视频内容数据和关键帧数据,向服务器请求目标视频的视频内容数据和关键帧数据。
10.一种视频播放装置,其特征在于,包括:
内容获取单元,用于获取目标视频的视频内容、以及视频内容对应的播放时间点;
选择单元,用于根据所述视频内容从所述播放时间点中选择关键帧时间点,得到关键帧数据;
绑定单元,用于将所述关键帧数据与目标视频进行绑定;
发送单元,用于向智能电视返回目标视频的视频内容数据、以及与目标视频绑定的关键帧数据,以便所述智能电视采用如权利要求1所述的方法进行视频播放。
11.一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述方法的步骤。
12.一种智能电视,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1-6任一项所述方法的步骤。
CN201910984777.9A 2019-10-16 2019-10-16 一种视频播放方法、装置、智能播放设备和存储介质 Active CN110719524B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910984777.9A CN110719524B (zh) 2019-10-16 2019-10-16 一种视频播放方法、装置、智能播放设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910984777.9A CN110719524B (zh) 2019-10-16 2019-10-16 一种视频播放方法、装置、智能播放设备和存储介质

Publications (2)

Publication Number Publication Date
CN110719524A CN110719524A (zh) 2020-01-21
CN110719524B true CN110719524B (zh) 2022-02-01

Family

ID=69211752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910984777.9A Active CN110719524B (zh) 2019-10-16 2019-10-16 一种视频播放方法、装置、智能播放设备和存储介质

Country Status (1)

Country Link
CN (1) CN110719524B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111556351B (zh) * 2020-05-15 2022-04-15 宁波菊风系统软件有限公司 一种rtp文件播放系统
CN111698565B (zh) * 2020-06-03 2022-09-27 咪咕动漫有限公司 视频播放方法、装置和电子设备
CN112511887B (zh) * 2020-11-30 2023-10-13 京东方科技集团股份有限公司 视频播放控制方法及相应的装置、设备、系统和存储介质
CN112788289A (zh) * 2020-12-18 2021-05-11 南京虎牙信息科技有限公司 基于二维码的视频监控户籍化管理方法
CN112528936B (zh) * 2020-12-22 2024-02-06 北京百度网讯科技有限公司 视频序列编排方法、装置、电子设备及存储介质
CN114666666B (zh) * 2020-12-23 2023-05-30 北京字节跳动网络技术有限公司 视频跳转播放方法、装置、终端设备及存储介质
CN115225970A (zh) * 2021-04-16 2022-10-21 海信视像科技股份有限公司 显示设备及显示设备视频跳转方法
CN113727272B (zh) * 2021-07-26 2024-04-19 和美(深圳)信息技术股份有限公司 分布式智能交互方法、装置、电子设备及存储介质
CN114007122B (zh) * 2021-10-13 2024-03-15 深圳Tcl新技术有限公司 一种视频播放方法、装置、电子设备和存储介质
CN114598909B (zh) * 2022-03-30 2023-12-01 青岛海信宽带多媒体技术有限公司 一种智能机顶盒及直播节目的时间轴显示方法
CN115174680B (zh) * 2022-07-05 2023-07-25 广州文远知行科技有限公司 可视化数据播放方法、装置、系统、设备及可读存储介质
CN115314755A (zh) * 2022-07-12 2022-11-08 天翼云科技有限公司 一种视频播放方法、装置、电子设备和存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780919A (zh) * 2012-08-24 2012-11-14 乐视网信息技术(北京)股份有限公司 通过关键帧进行视频定位和播放的方法
CN104105003A (zh) * 2014-07-23 2014-10-15 天脉聚源(北京)科技有限公司 视频播放方法及装置
CN104618794A (zh) * 2014-04-29 2015-05-13 腾讯科技(北京)有限公司 播放视频的方法和装置
CN104639949A (zh) * 2015-03-03 2015-05-20 腾讯科技(深圳)有限公司 一种视频源接入方法及装置
CN104717571A (zh) * 2013-12-13 2015-06-17 中国移动通信集团公司 关键播放时间点确定方法、视频播放方法及相关装置
CN107155138A (zh) * 2017-06-06 2017-09-12 深圳Tcl数字技术有限公司 视频播放跳转方法、设备及计算机可读存储介质
CN107690088A (zh) * 2017-08-04 2018-02-13 天脉聚源(北京)传媒科技有限公司 一种智能播放视频的方法及装置
CN107801100A (zh) * 2017-09-27 2018-03-13 北京潘达互娱科技有限公司 一种视频定位播放方法及装置
CN109525901A (zh) * 2018-11-27 2019-03-26 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及计算机可读介质
CN109791680A (zh) * 2016-09-20 2019-05-21 脸谱公司 在线社交网络上的视频关键帧显示

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9179096B2 (en) * 2013-10-11 2015-11-03 Fuji Xerox Co., Ltd. Systems and methods for real-time efficient navigation of video streams
CN108737908B (zh) * 2018-05-21 2021-11-30 腾讯科技(深圳)有限公司 一种媒体播放方法、装置及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780919A (zh) * 2012-08-24 2012-11-14 乐视网信息技术(北京)股份有限公司 通过关键帧进行视频定位和播放的方法
CN104717571A (zh) * 2013-12-13 2015-06-17 中国移动通信集团公司 关键播放时间点确定方法、视频播放方法及相关装置
CN104618794A (zh) * 2014-04-29 2015-05-13 腾讯科技(北京)有限公司 播放视频的方法和装置
CN104105003A (zh) * 2014-07-23 2014-10-15 天脉聚源(北京)科技有限公司 视频播放方法及装置
CN104639949A (zh) * 2015-03-03 2015-05-20 腾讯科技(深圳)有限公司 一种视频源接入方法及装置
CN109791680A (zh) * 2016-09-20 2019-05-21 脸谱公司 在线社交网络上的视频关键帧显示
CN107155138A (zh) * 2017-06-06 2017-09-12 深圳Tcl数字技术有限公司 视频播放跳转方法、设备及计算机可读存储介质
CN107690088A (zh) * 2017-08-04 2018-02-13 天脉聚源(北京)传媒科技有限公司 一种智能播放视频的方法及装置
CN107801100A (zh) * 2017-09-27 2018-03-13 北京潘达互娱科技有限公司 一种视频定位播放方法及装置
CN109525901A (zh) * 2018-11-27 2019-03-26 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及计算机可读介质

Also Published As

Publication number Publication date
CN110719524A (zh) 2020-01-21

Similar Documents

Publication Publication Date Title
CN110719524B (zh) 一种视频播放方法、装置、智能播放设备和存储介质
CN109032738B (zh) 多媒体播放控制方法、装置、终端及存储介质
CN110784752B (zh) 一种视频互动方法、装置、计算机设备和存储介质
US7636509B2 (en) Media data representation and management
JP3449671B2 (ja) 個人用映画プレゼンテーションおよび個人用映画コレクションの作成を可能にするシステムおよび方法
US8412729B2 (en) Sharing of presets for visual effects or other computer-implemented effects
KR101635876B1 (ko) 온라인 콘텐츠를 위한 미디어 가이드의 단일, 공동 및 자동 생성
CN107920274B (zh) 一种视频处理方法、客户端及服务器
US20130263182A1 (en) Customizing additional content provided with video advertisements
WO2016004240A1 (en) Interactive distributed multimedia system
US20150172787A1 (en) Customized movie trailers
CN104065979A (zh) 一种动态显示和视频内容相关联信息方法及系统
US20090055725A1 (en) System and Method for Generating Creatives Using Composite Templates
US20090307602A1 (en) Systems and methods for creating and sharing a presentation
JP5018352B2 (ja) 書籍コンテンツに広告を挿入配信するサーバ装置
JP2007036830A (ja) 動画管理システム、動画管理方法、クライアント、およびプログラム
US20160007098A1 (en) Automated pre and post roll production
CN102132266A (zh) 带有缩略图创建的数字生活网络联盟(dlna)客户端设备
US20180137890A1 (en) Virtual Video Editing
US10257301B1 (en) Systems and methods providing a drive interface for content delivery
CN113727168B (zh) 一种视频发布方法、装置、终端及存储介质
CN112584218A (zh) 一种视频播放方法、装置、计算机设备和存储介质
JP6500132B1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP5397507B2 (ja) 書籍コンテンツに広告を挿入配信するサーバ装置
JP2005110016A (ja) 配信映像リコメンド方法、装置およびプログラム

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40021460

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant