发明内容
本申请所要解决的技术问题是提供一种视频播放方法,包括:
加载并播放视频;其中,所述视频包括至少一个视频角色;
获取所述视频的当前播放时间,查询并调用与所述当前播放时间对应的视频角色的标识和对应所述视频角色在所述视频中的位置;
根据所述标识提取对应视频角色的标签,并根据所述位置将所述视频角色的标签加载至所述视频中。
优选地,在所述加载并播放视频之前还包括:
从所述视频中获取所述视频角色数据,所述视频角色数据包括所述视频角色的标识、所述视频角色在所述视频中出现的位置和时间;
将所述视频角色的标识和所述视频角色的位置,与所述视频角色在所述视频中的播放时间进行关联。
优选地,所述加载并播放视频进一步包括:接入网络,并自网络接收视频数据;以及将所述视频数据加载至视频窗口进行播放。
优选地,所述根据所述位置将所述视频角色的标签加载至所述视频中包括:根据所述视频角色在所述视频的每帧图像中出现的坐标点,将所述视频角色的标签加载至所述视频中。
相应的,本申请还提供了一种视频播放装置,包括:
视频加载模块,用于加载并播放视频;其中,所述视频包括至少一个视频角色;
调用模块,用于获取所述视频的当前播放时间,查询并调用与所述当前播放时间对应的视频角色的标识和对应所述视频角色在所述视频中的位置;
标签加载模块,用于根据所述标识提取对应视频角色的标签,并根据所述位置将所述视频角色的标签加载至所述视频中。
优选地,还包括:
视频角色数据获取模块,用于从所述视频中获取所述视频角色数据,所述视频角色数据包括所述视频角色的标识、所述视频角色在所述视频中出现的位置和时间;
关联模块,用于将所述视频角色的标识和所述视频角色的位置,与所述视频角色在所述视频中的播放时间进行关联。
优选地,所述视频加载模块进一步包括:接入单元,用于接入网络,并自网络接收视频数据;以及播放单元,用于将所述视频数据加载至视频窗口进行播放。
与现有技术相比,本申请提前从视频中提取视频角色出现的时间和位置信息,对该角色赋予一个标识,并将该标识所对应的角色信息制作成标签,之后定义在相应的时间视频角色的标识与位置的对应关系。当播放该视频时,检测视频播放到哪个时间,并根据该时间点的视频角色的位置和标识将视频角色的标签显示于视频中,从而提升了用户的观看体验,并且有效保证了视频与视频角色标签的同步。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请一种视频播放方法的流程图。
步骤1:加载并播放视频;其中,所述视频包括至少一个视频角色。
为了在加载视频时同时显示视频角色的相关信息,本发明将视频提前进行加工,包括:
从所述视频中获取所述视频角色数据,所述视频角色数据包括所述视频角色的标识、所述视频角色在所述视频中出现的位置和时间;
将所述视频角色的标识和所述视频角色的位置,与所述视频角色在所述视频中的播放时间进行关联。
所述视频角色可以为视频中的人物或其他敏感元素,如足球比赛中的队员。在从视频中提取视频角色数据时,对每个角色赋予一个标识(ID),获取每个角色在视频中出现的所有时间点和在这些时间点时该角色在视频画面中的位置。
优选地,所述位置包括所述视频角色在所述视频的每帧图像中的坐标。该坐标所在的坐标系可以定义为任何形式,例如,以每帧图像的中心像素点作为原点,以两个像素点之间的距离为单位长度,原点向右延伸是X轴正方向,原点向下延伸是Y轴正方向,视频角色的坐标代表了该角色相对于原点的横坐标X值和纵坐标Y值。
在获得视频角色出现的所有时间点、在这些时间点时该角色在视频画面中的位置以及视频角色的标识之后,定义视频角色出现的时间点下该视频角色的标识与其在该时间点时在视频中的位置。
参照图2,示出了按照视频角色出现的时间点定义的视频角色的标识与位置的对应关系示意图。
在时间点1角色A(标识)对应的位置为(2,3),在时间点2角色A(标识)对应的位置为(2,4)。在时间点1角色B(标识)对应的位置为(3,10),在时间点2角色B(标识)对应的位置为(4,12)。若在定义的时间点中,有一个或多个角色未出现在视频图像中,则不定义该角色在这些时间点的视频位置。例如角色C(标识)在时间点1和时间点2均未出现在视频图像中,则仅定义其出现的时间点3的视频位置(5,5)。
本发明方法及装置适用于播放本地视频及网络视频。播放本地视频的播放软件包括暴风影音、real player等;播放网络视频的播放软件包括以Flash或Html5标准编写的软件等。
视频角色的标签可以以包的形式嵌入到MPEG-Ⅱ或其他标准的视频文件中,或者将上述信息建立独立的文件,设立与视频数据同步的时间码或数据指针,或者将上述信息与视频文件共同建立一个独立的视频文件格式。
播放本地视频时,存储于本地终端设备的视频数据和视频角色的标签直接加载。而播放网络视频时需要先将本地终端设备接入网络,并自网络接收视频数据;以及将所述视频数据加载至视频窗口进行播放。可以通过TCP/IP协议或其他协议通过网络接口接入网络,并向服务器端请求视频播放地址(URL)及相应的视频角色信息(包括视频角色的标签、视频角色出现的时间点、标识、位置等),服务器返回视频数据和相应的视频角色信息。数据和相应的视频角色信息加载至Flash或Html5标准编写的视频窗口进行播放。
步骤2:获取所述视频的当前播放时间,查询并调用与所述当前播放时间对应的视频角色的标识和对应所述视频角色在所述视频中的位置。
本发明将所有视频角色出现的时间点,相应时间点下视频角色的标识与位置的对应关系以及标识与标签的对应关系等信息作为一个整体文件由终端设备获取。视频播放软件加载视频数据的同时通过设定相应的函数获取该视频的当前播放时间,将当前播放时间与视频角色文件中包含的时间点进行对比,若视频角色文件包含该时间点,则调用在该时间点出现的视频角色的标识,该标识在视频图像中的位置(如坐标)以及该标识所对应的标签。
步骤3:根据所述标识提取对应视频角色的标签,并根据所述位置将所述视频角色的标签加载至所述视频中。
优选地,所述根据所述位置将所述视频角色的标签加载至所述视频中包括:根据所述视频角色在所述视频的每帧图像中出现的坐标点,将所述视频角色的标签加载至所述视频中。
所述视频角色的标签可以是该视频角色的相关信息,如姓名、以往的成绩、头像等,在对视频提前进行加工时便根据每个角色的标识制作相应的标签。该标签可以为文本或图像形式。每个标识关联一个标签,在根据视频角色出现的时间点调用视频角色的标识,该标识在视频图像中的位置(如坐标)以及该标识所对应的标签时,将该标识所对应的标签叠加到视频图像中的相应位置。
参考图3,示出了本申请一种视频播放装置的示意图。
视频播放装置300包括:
视频加载模块301,用于加载并播放视频;其中,所述视频包括至少一个视频角色;
调用模块302,用于获取所述视频的当前播放时间,查询并调用与所述当前播放时间对应的视频角色的标识和对应所述视频角色在所述视频中的位置;
标签加载模块303,用于根据所述标识提取对应视频角色的标签,并根据所述位置将所述视频角色的标签加载至所述视频中。
优选地,视频播放装置300还包括:
视频角色数据获取模块304,用于从所述视频中获取所述视频角色数据,所述视频角色数据包括所述视频角色的标识、所述视频角色在所述视频中出现的位置和时间;
关联模块305,用于将所述视频角色的标识和所述视频角色的位置,与所述视频角色在所述视频中的播放时间进行关联。
优选地,视频加载模块301进一步包括:接入单元3011,用于接入网络,并自网络接收视频数据;以及播放单元3012,用于将所述视频数据加载至视频窗口进行播放。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明优选应用于嵌入式系统中。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种视频播放方法和装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。