视频截取方法、服务器以及在线视频播放系统与流程

文档序号:13667534阅读:198来源:国知局
视频截取方法、服务器以及在线视频播放系统与流程

本发明涉及多媒体技术领域,特别涉及一种视频截取方法、服务器以及在线视频播放系统。



背景技术:

当前,已有越来越多的用户使用在线方式观看视频,例如观看直播节目等等。部分视频服务平台提供了截取视频片段的功能,可以使用户截取视频中的精彩片段,并进行回看或者分享。

然而,部分终端或浏览器在播放在线视频时使用的并非视频服务平台定制的视频播放器,而是第三方播放器。很多第三方播放器没有向应用层提供能够获取终端的视频播放时间的接口,因此终端无法向服务器提供当前终端的视频播放进度。此外,由于网络延迟、播放方式等因素的影响,当服务器接收到终端的视频截取请求时,服务器的视频播放进度与终端的视频播放进度也存在差异。从而,使用户无法获得精确的视频截取结果,用户体验不佳。



技术实现要素:

本发明实施例所要解决的一个技术问题是:如何准确地截取在线视频的片段。

根据本发明实施例的一个方面,提供一种视频截取方法,包括:服务器在进行在线视频播放时接收终端发送的视频截取请求;服务器根据接收到视频截取请求时服务器的视频播放进度确定截图范围;服务器在截图范围内选取若干视频截图;服务器将选取的视频截图发送给用户,以便用户根据视频截图选择视频截取位置;服务器根据用户选择的视频截取位置对视频进行截取,并将截取的视频片段的信息返回给终端。

在一个实施例中,终端发送的视频截取请求包括终端信息;方法还包括:服务器根据终端信息对应的容错范围,对截图范围进行校正。

在一个实施例中,采用以下方法确定终端信息对应的容错范围:服务器获取每次接收视频截取请求时的服务器的视频播放进度与用户选择的视频截取位置所对应的播放进度的差值的统计结果;服务器根据统计结果确定同一终端信息对应的容错范围。

在一个实施例中,服务器对截图范围内的每个视频分片进行截图;或者,服务器在截图范围内以预设的间隔选取部分视频分片,并对选取的每个视频分片分别进行截图。

在一个实施例中,服务器将截取的视频片段返回给终端,或者,服务器将截取的视频片段的地址返回给终端。

在一个实施例中,服务器采用基于超文本传输协议的视频直播hls协议播放视频。

根据本发明实施例的第二个方面,提供一种用于视频截取的服务器,包括:请求接收模块,用于在进行在线视频播放时接收终端发送的视频截取请求;截图范围确定模块,用于根据接收到视频截取请求时服务器的视频播放进度确定截图范围;视频截图选取模块,用于在截图范围内选取若干视频截图;视频截图发送模块,用于将选取的视频截图发送给用户,以便用户根据视频截图选择视频截取位置;视频片段截取模块,用于根据用户选择的视频截取位置对视频进行截取,并将截取的视频片段的信息返回给终端。

在一个实施例中,终端发送的视频截取请求包括终端信息;服务器还包括截图范围校正模块,用于根据终端信息对应的容错范围,对截图范围进行校正。

在一个实施例中,服务器还包括容错范围确定模块,用于确定终端信息对应的容错范围;容错范围确定模块包括:统计单元,用于获取每次接收视频截取请求时的服务器的视频播放进度与用户选择的视频截取位置所对应的播放进度的差值的统计结果;容错范围计算单元,用于根据统计结果确定同一终端信息对应的容错范围。

在一个实施例中,视频截图选取模块用于对截图范围内的每个视频分片进行截图;或者,视频截图选取模块用于在截图范围内以预设的间隔选取部分视频分片,并对选取的每个视频分片分别进行截图。

在一个实施例中,视频片段截取模块用于将截取的视频片段返回给终端,或者,视频片段截取模块用于将截取的视频片段的地址返回给终端。

在一个实施例中,服务器采用基于超文本传输协议的视频直播hls协议播放视频。

根据本发明实施例的第三个方面,提供一种在线视频播放系统,包括前述任意一种用于视频截取的服务器以及终端设备,终端设备用于播放所述服务器传输的在线视频,并向所述服务器发送视频截取请求。

本发明根据接收视频截取请求时服务器的视频播放进度确定截图范围,并在截图范围内提供若干截图供用户选择视频截取位置,可以使视频截取的结果更准确,并且对播放器的要求较低,通用性强。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明视频截取方法一个实施例的流程图。

图2为本发明视频截取方法的另一个实施例的流程图。

图3为本发明在线视频播放系统的一个实施例的结构图。

图4为本发明用于视频截取的服务器的一个实施例的结构图。

图5为本发明用于视频截取的服务器的另一个实施例的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明视频截取方法一个实施例的流程图。如图1所示,该实施例的方法包括:

步骤s102,服务器在进行在线视频播放时接收终端发送的视频截取请求。

用户在观看在线视频的过程中,当想要回看视频片段或者向他人分享视频片段时,可以在观看到想要截取的片段的起点或者终点时向服务器发送视频截取请求。用户可以对终端进行预设的操作,以使终端向服务器发送视频截取请求,例如点击截取视频按钮、以预设手势操作触摸屏、输入语音指令等等。

用户可以在观看到想要截取的视频片段的起点和终点时分别与终端进行一次预设的操作,使终端向服务器先后发送两个视频截取请求。

可以令终端在视频截取请求中标注该请求对应的为欲截取的视频片段的起点还是终点。

也可以不对终端的视频截取请求进行区分,而是由服务器辨别视频截取请求针对的是视频片段的起点还是终点。例如,服务器可以对同一终端发送的视频截取请求按照接收顺序依次进行标号并记录,奇数标号对应的请求可以对应视频片段的起点,偶数标号对应的请求可以对应视频片段的终点。并且当在预设的时间内未收到该终端发送的视频截取请求时,服务器将记录的内容清空。

用户也可以在观看到想要截取的视频片段的起点或终点时仅与终端进行一次交互,即,只告知服务器欲截取的视频片段的起点或者终点,服务器将根据视频片段的起点向后截取具有预设长度的视频,或者根据视频片段的终点向前截取具有预设长度的视频。

步骤s104,服务器根据接收到视频截取请求时服务器的视频播放进度确定截图范围。

其中,视频播放进度通常使用视频播放时间表示,根据需要,也可以使用视频分片标识等其他有序的信息形式表示视频播放进度。

由于网络和设备的影响,服务器的视频播放进度和终端的视频播放进度存在差异,而服务器无法获取终端的视频播放进度。因此,可以将包含接收到视频截取请求时服务器的视频播放进度的一段播放进度范围作为截图范围。

例如,可以以接收到视频截取请求时服务器的视频播放进度为基准进度,并将该基准进度之前和之后的预设范围的内容纳入截图范围内。

步骤s106,服务器在截图范围内选取若干视频截图。

服务器可以随机地对截图范围内的视频进行截图,也可以以一定的间隔截图。例如,在截图范围内,可以每隔预设的播放时间对视频进行截图。

在线视频往往以流媒体方式呈现,即每个视频由若干视频分片组成。因此,对于流媒体视频,服务器可以对截图范围内的每个视频分片进行截图;或者,在截图范围内以预设的间隔选取部分视频分片,并对选取的每个视频分片分别进行截图。

对于流媒体视频进行截取获得的视频片段也是由视频分片组成的,因此,通过采用上述方法,可以快速定位截取的视频片段的起点视频分片或者终点视频分片。

步骤s108,服务器将选取的视频截图发送给用户,以便用户根据视频截图选择视频截取位置。

视频截图能够直观地向用户呈现截取范围内的不同内容,用户可以从中选择与发送视频截取请求时终端的视频播放进度相符的画面。

服务器在发送截图时,还可以发送各个截图对应的播放进度信息,当用户选择一张截图后,终端可以将与选择的截图对应的播放进度信息反馈给服务器。或者,服务器可以仅发送截图,并预先建立截图标识与播放进度信息的对应关系,当用户选择一张截图后,终端可以返回截图标识,服务器根据对应关系确定用户选择的视频截取位置。

步骤s110,服务器根据用户选择的视频截取位置对视频进行截取,并将截取的视频片段的信息返回给终端。

服务器可以根据用户发送的视频起点截取位置的和视频终点截取位置截取视频,也可以根据单一截取位置以及预设的视频片段长度截取视频。

部分在线视频,例如基于hls(httplivestreaming,基于超文本传输协议的视频直播协议)方式播放的视频,是根据索引文件的方式形成视频的,索引文件中包含组成视频的各个视频分片的标识。因此,对此类视频进行截取产生视频片段也可以采用类似的方法,即生成视频片段的索引文件,索引文件中包括截取的视频片段中包含的各个视频分片。

服务器返回的视频片段信息可以以多种方式进行体现。

其一为,服务器可以将截取的视频片段返回给终端,即向用户发送可播放的多媒体文件。这种方式可以使用户较为灵活地使用获取的视频片段,用户可以对其进行重复创作,或者不经平台的限制分享视频片段。

其二为,服务器将截取的视频片段的地址返回给终端。该视频片段的地址可以是新生成的视频文件的地址,也可以是视频片段的索引文件的地址,用户点击该地址即可以播放相应的视频片段。这种方式可以快速地向用户反馈视频截取结果,能够节约用户流量,并且能够保护视频平台服务方的权益。

根据接收视频截取请求时服务器的视频播放进度确定截图范围,并在截图范围内提供若干截图供用户选择视频截取位置,可以使视频截取的结果更准确,并且对播放器的要求较低,通用性强。

终端以及终端中各个播放模块均有可能对终端和服务器的视频播放进度的差异造成影响。例如,对于基于hls方式播放的视频,服务器会向终端提供索引文件。而不同浏览器中的播放器在获取索引文件后,可能采用不同的方式播放。例如,有些浏览器中的播放器可能从索引文件中的倒数第三个视频分片开始播放,或者从索引文件中的第一个视频分片开始播放。

为了尽量减小终端以及终端用于播放视频的模块对视频片段截取的准确度造成的影响,可以根据视频截取请求携带的终端信息对截图范围进行校正。下面结合图2描述本发明另一个实施例的视频截取方法。

图2为本发明视频截取方法的另一个实施例的流程图。如图2所示,该实施例的方法包括:

步骤s202,服务器在进行在线视频播放时接收终端发送的视频截取请求,视频截取请求包括终端信息。

其中,终端信息可以为终端型号、终端操作系统版本、终端中用于播放在线视频的浏览器的类型、终端中用于播放在线视频的播放器的类型的一个或多个。根据需要,终端信息还可以包括其他类型的信息,这里不再赘述。

步骤s204,服务器根据接收到视频截取请求时服务器的视频播放进度确定截图范围。

其中,步骤s204的具体实现方式可以参照步骤s104。

步骤s205,服务器根据终端信息对应的容错范围,对截图范围进行校正。

服务器记录了各个终端信息对应的容错范围。服务器在查找到终端信息对应的容错范围后,可以将截图范围的两个端点值分别减去该容错范围,获得校正后的截图范围。

此外,也可以在步骤s204中将服务器接收到视频截取请求时服务器的视频播放进度与容错范围的差值确定为校正后的播放进度,并根据校正后的播放进度确定截图范围。

步骤s206,服务器在截图范围内选取若干视频截图。

步骤s208,服务器将选取的视频截图发送给用户,以便用户根据视频截图选择视频截取位置。

步骤s210,服务器根据用户选择的视频截取位置对视频进行截取,并将截取的视频片段的信息返回给终端。

其中,步骤s206~s210的具体实现方式可以参照步骤s106~s110。

通过采用上述方法,可以减少由于终端以及终端中各个播放模块的类型、版本问题造成的误差,进一步提高视频截取的准确度。

在上述实施例中,可以采用以下方法获取各个终端信息对应的容错范围:首先,服务器获取每次接收视频截取请求时的服务器的视频播放进度与用户选择的视频截取位置所对应的播放进度的差值的统计结果;然后,服务器根据统计结果确定同一终端信息对应的容错范围。例如,服务器可以采用均值、加权平均值等方法计算服务器的视频播放进度与用户选择的视频截取位置所对应的播放进度的差值的统计结果。

从而,服务器可以根据各次视频截取行为产生的统计数据获取终端信息对应的容错范围。

本发明提供的视频截取方法适用于各个类型的视频播放协议。其中,由于采用hls协议播放的视频采用索引文件组织视频分片形成完整的视频,因此在进行视频片段的截取和视频片段的分享的操作时可以快速地提取视频分片并组合视频分片,无需解封装和封装的过程,因此将本发明的视频截取方法应用于采用hls协议播放的视频中,实现简单,灵活性强。

下面结合图3描述本发明一个实施例的在线视频播放系统。

图3为本发明在线视频播放系统的一个实施例的结构图。如图3所示,该实施例的在线视频播放系统包括用于视频截取的服务器40和终端设备30。其中,终端设备30用于播放所述服务器传输的在线视频,并向所述服务器发送视频截取请求。

下面结合图4描述本发明一个实施例的用于视频截取的服务器。

图4为本发明用于视频截取的服务器的一个实施例的结构图。如图4所示,该实施例的用于视频截取的服务器40包括:请求接收模块41,用于在进行在线视频播放时接收终端发送的视频截取请求;截图范围确定模块42,用于根据接收到视频截取请求时服务器的视频播放进度确定截图范围;视频截图选取模块43,用于在截图范围内选取若干视频截图;视频截图发送模块44,用于将选取的视频截图发送给用户,以便用户根据视频截图选择视频截取位置;视频片段截取模块45,用于根据用户选择的视频截取位置对视频进行截取,并将截取的视频片段的信息返回给终端。

根据接收视频截取请求时服务器的视频播放进度确定截图范围,并在截图范围内提供若干截图供用户选择视频截取位置,可以使视频截取的结果更准确,并且对播放器的要求较低,通用性强。

其中,视频截图选取模块43可以用于对截图范围内的每个视频分片进行截图;或者,视频截图选取模块43可以用于在截图范围内以预设的间隔选取部分视频分片,并对选取的每个视频分片分别进行截图。

其中,视频片段截取模块45可以用于将截取的视频片段返回给终端,或者,视频片段截取模块45可以用于将截取的视频片段的地址返回给终端。

在上述各个实施例中,用于视频截取的服务器40可以采用基于超文本传输协议的视频直播hls协议播放视频。

下面结合图5描述本发明另一个实施例的用于视频截取的服务器。

图5为本发明用于视频截取的服务器的另一个实施例的结构图。在该实施例中,终端发送的视频截取请求可以包括终端信息。用于视频截取的服务器40还可以包括截图范围校正模块56,用于根据终端信息对应的容错范围,对截图范围进行校正。

此外,服务器40还可以包括容错范围确定模块57,用于确定终端信息对应的容错范围;容错范围确定模块57包括:统计单元572,用于获取每次接收视频截取请求时的服务器的视频播放进度与用户选择的视频截取位置所对应的播放进度的差值的统计结果;容错范围计算单元574,用于根据统计结果确定同一终端信息对应的容错范围。

本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1