视频缩略图生成方法及生成装置转让专利

申请号 : CN201510435708.4

文献号 : CN105100961B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐苏磊

申请人 : 华为技术有限公司

摘要 :

本发明实施例中公开了一种视频缩略图生成方法及生成装置,所述方法包括:接收缩略图显示请求,缩略图显示请求包括预览时刻,预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,预览时刻通过播放器的播放进度条获取;根据分片列表,获取预览时刻对应的分片地址,分片列表包括播放时刻与流媒体文件的分片地址的对应关系;根据分片地址,发送分片请求至服务器,分片请求中包括预览时刻对应的分片地址;接收服务器反馈的预览时刻对应的分片并进行关键帧的选择;根据选择出的关键帧,生成缩略图;发送缩略图至播放器,以使播放器在对应的预览时刻显示缩略图。本发明无需播放器的支持即可生成视频缩略图,同时可减少服务器压力,缩短响应时间。

权利要求 :

1.一种视频缩略图生成方法,其特征在于,应用于终端,所述方法包括:接收缩略图显示请求,所述缩略图显示请求包括预览时刻,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取;

根据分片列表,获取所述预览时刻对应的分片地址,所述分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系,所述分片为所述流媒体文件切割后的片段;

根据所述分片地址,发送分片请求至服务器,所述分片请求中包括所述预览时刻对应的分片地址;

接收所述服务器反馈的所述预览时刻对应的分片;

根据所述预览时刻对应的分片进行关键帧的选择;

根据所述选择出的关键帧,生成缩略图;

发送所述缩略图至所述播放器,以使所述播放器在对应的预览时刻显示所述缩略图。

2.如权利要求1所述的方法,其特征在于,所述根据分片列表,获取预览时刻对应的分片地址之前,所述方法还包括:发送所述流媒体文件的分片列表请求至所述服务器,以从所述服务器获取所述分片列表。

3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:获取所述流媒体文件的原始地址;

根据所述流媒体文件的原始地址,生成所述流媒体文件的本地地址,使所述播放器根据所述本地地址获取所述原始地址以播放所述流媒体文件。

4.如权利要求3所述的方法,其特征在于,根据所述流媒体文件的原始地址,生成流媒体文件的本地地址,包括:获取所述流媒体文件的原始地址的统一资源标识符URI信息;

获取所述服务器绑定的端口号;

根据本地环回地址、绑定的端口号以及统一资源标识符URI信息,生成本地地址。

5.如权利要求1或2所述的方法,其特征在于,所述方法还包括:获取所述预览时刻的历史记录;

根据所述历史记录,获取相邻两个预览时刻之间的时长间隔;

获取多个时长间隔的平均值作为平均时长;

判断多个时长间隔的均方差是否小于预设阈值;

若所述均方差小于预设阈值,则从所述服务器获取预估时刻对应的分片,所述预估时刻为与最后一个预览时刻相隔时长为所述平均时长的时刻。

6.一种视频缩略图生成方法,其特征在于,应用于服务器,所述方法包括:接收终端发送的分片请求,所述分片请求中包括预览时刻对应的分片地址,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取,所述分片为所述流媒体文件切割后的片段;

获取所述分片请求中的分片地址;

根据所述分片地址获取所述预览时刻对应的分片;

发送所述预览时刻对应的分片至所述终端。

7.如权利要求6所述的方法,其特征在于,所述方法还包括:接收所述终端发送的分片列表请求;

发送所述分片列表至所述终端。

8.一种视频缩略图生成装置,其特征在于,应用于终端,所述装置包括:缩略图显示请求接收单元,用于接收缩略图显示请求,所述缩略图显示请求包括预览时刻,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取;

分片地址获取单元,用于根据分片列表,获取所述预览时刻对应的分片地址,所述分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系,所述分片为所述流媒体文件切割后的片段;

分片请求发送单元,用于根据所述分片地址,发送分片请求至服务器,所述分片请求中包括所述预览时刻对应的分片地址;

分片接收单元,用于接收所述服务器反馈的所述预览时刻对应的分片;

选择单元,用于根据所述预览时刻对应的分片进行关键帧的选择;

缩略图生成单元,用于根据所述选择出的关键帧,生成缩略图;

缩略图发送单元,发送所述缩略图至所述播放器,以使所述播放器在对应的预览时刻显示所述缩略图。

9.如权利要求8所述的装置,其特征在于,所述装置还包括:分片列表获取单元,用于发送所述流媒体文件的分片列表请求至所述服务器,以从所述服务器获取所述分片列表。

10.如权利要求8或9所述的装置,其特征在于,所述装置还包括:原始地址获取单元,用于获取所述流媒体文件的原始地址;

本地地址生成单元,用于根据所述流媒体文件的原始地址,生成所述流媒体文件的本地地址,使所述播放器根据所述本地地址获取所述原始地址以播放所述流媒体文件。

11.如权利要求10所述的装置,其特征在于,本地地址生成单元还用于获取所述流媒体文件的原始地址的统一资源标识符URI信息;

本地地址生成单元还用于获取所述服务器绑定的端口号;

本地地址生成单元还用于根据本地环回地址、绑定的端口号以及统一资源标识符URI信息,生成本地地址。

12.如权利要求8或9所述的装置,其特征在于,所述装置还包括用户行为分析单元,用于获取所述预览时刻的历史记录;

所述用户行为分析单元还用于根据所述历史记录,获取相邻两个预览时刻之间的时长间隔;

所述用户行为分析单元还用于获取多个时长间隔的平均值作为平均时长;

所述用户行为分析单元还用于判断多个时长间隔的均方差是否小于预设阈值;

所述用户行为分析单元还用于若所述均方差小于预设阈值,则从所述服务器获取预估时刻对应的分片,所述预估时刻为与最后一个预览时刻相隔时长为所述平均时长的时刻。

13.一种视频缩略图生成装置,其特征在于,应用于服务器,所述装置包括:分片请求接收单元,用于接收终端发送的分片请求,所述分片请求中包括预览时刻对应的分片地址,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取,所述分片为所述流媒体文件切割后的片段;

分片获取单元,用于获取所述分片请求中的分片地址,根据所述分片地址获取所述预览时刻对应的分片;

分片发送单元,发送所述预览时刻对应的分片至所述终端。

14.如权利要求13所述的装置,其特征在于,所述装置还包括分片请求发送单元,用于接收所述终端发送的分片列表请求,发送所述分片列表至所述终端。

15.一种视频缩略图生成装置,其特征在于,应用于终端,所述装置包括:第一接收器,用于接收缩略图显示请求,所述缩略图显示请求包括预览时刻,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取;

第一处理器,用于根据分片列表,获取所述预览时刻对应的分片地址,所述分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系,所述分片为所述流媒体文件切割后的片段;

第一发送器,用于根据所述分片地址,发送分片请求至服务器,所述分片请求中包括所述预览时刻对应的分片地址;

所述第一接收器用于接收所述服务器反馈的所述预览时刻对应的分片;

所述第一处理器还用于根据所述预览时刻对应的分片进行关键帧的选择;

所述第一处理器还用于根据所述选择出的关键帧,生成缩略图;

所述第一发送器还用于发送所述缩略图至所述播放器,以使所述播放器在对应的预览时刻显示所述缩略图。

16.如权利要求15所述的装置,其特征在于,所述第一发送器还用于发送所述流媒体文件的分片列表请求至所述服务器,以从所述服务器获取所述分片列表。

17.如权利要求15或16所述的装置,其特征在于,所述第一处理器还用于获取所述流媒体文件的原始地址;

所述第一处理器还用于根据所述流媒体文件的原始地址,生成所述流媒体文件的本地地址,使所述播放器根据所述本地地址获取所述原始地址以播放所述流媒体文件。

18.如权利要求17所述的装置,其特征在于,所述第一处理器还用于获取所述流媒体文件的原始地址的统一资源标识符URI信息;

所述第一处理器还用于获取所述服务器绑定的端口号;

所述第一处理器还用于根据本地环回地址、绑定的端口号以及统一资源标识符URI信息,生成本地地址。

19.如权利要求15、16和18任一项所述的装置,其特征在于,所述第一处理器还用于获取所述预览时刻的历史记录;

所述第一处理器还用于根据所述历史记录,获取相邻两个预览时刻之间的时长间隔;

所述第一处理器还用于获取多个时长间隔的平均值作为平均时长;

所述第一处理器还用于判断多个时长间隔的均方差是否小于预设阈值;

所述第一处理器还用于若所述均方差小于预设阈值,则从所述服务器获取预估时刻对应的分片,所述预估时刻为与最后一个预览时刻相隔时长为所述平均时长的时刻。

20.一种视频缩略图生成装置,其特征在于,应用于服务器,所述装置包括:第二接收器,用于接收终端发送的分片请求,所述分片请求中包括预览时刻对应的分片地址,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取,所述分片为所述流媒体文件切割后的片段;

第二处理器,用于获取所述分片请求中的分片地址,根据所述分片地址获取所述预览时刻对应的分片;

第二发送器,用于发送所述预览时刻对应的分片至所述终端。

21.如权利要求20所述的装置,其特征在于,所述第二发送器还用于接收所述终端发送的分片列表请求,发送所述分片列表至所述终端。

说明书 :

视频缩略图生成方法及生成装置

技术领域

[0001] 本发明涉及流媒体处理领域,特别涉及一种视频缩略图生成方法及生成装置。

背景技术

[0002] 随着信息技术的不断发展,流媒体业务在网络中占据越来越大的比例,成为人们日益关注的焦点。自适应流媒体(HTTP Adaptive Streaming,简称HAS)技术结合了传统的流媒体技术和HTTP渐进式下载播放的特点,以HTTP的方式向用户传送流媒体内容,可以大大提升用户的使用体验,同时降低了服务器的复杂度。
[0003] 现有的自适应流媒体技术在流媒体播放时通常会在用户交互界面主窗口提供视频缩略图,以便用户在流媒体文件的播放过程中浏览视频的其他内容。视频缩略图可以和进度条配合使用,在流媒体播放过程中,用户将进度条移动至某个预览时刻,在播放区域会显示该预览时刻的视频缩略图,如图1所示,播放器在播放区域101播放流媒体文件,进度条102移动至T1时刻,在视频预览窗口103会显示T1时刻的视频缩略图。
[0004] 现有的自适应流媒体技术中,由于协议层没有相应的视频缩略图标准,同时传输的数据包中也没有视频缩略图的存在,因此,播放器无法直接从服务器获得缩略图,生成缩略图需要播放器的支持。如果播放器不支持缩略图生成功能,则无法生成缩略图及显示缩略图。例如IOS系统中,原生的AV Player的播放器框架是闭源的,无法直接发送视频数据给播放器去做解码,因此,IOS系统可能无法提供缩略图预览功能。
[0005] 播放器支持生成缩略图时,现有的视频缩略图的生成方法是,播放器向服务器请求流媒体文件的分片),接收服务器返回的分片,根据分片生成缩略图,并在相应的位置显示。现有技术中,在预览时刻生成视频缩略图时需要从服务器获取视频TS分片,容易导致重复下载视频数据,响应速度慢。
[0006] 可见,现有技术中,生成缩略图的方法需要播放器的支持,适用范围小。同时,如果播放器支持生成缩略图的功能,但是,现有技术中的视频缩略图生成方法会增加服务器压力,延长响应速度。

发明内容

[0007] 本发明实施例中提供了一种视频缩略图生成方法及生成装置,能解决生成视频缩略图时需要播放器的支持,且相应速度慢的问题。
[0008] 为了解决上述技术问题,本发明实施例公开了如下技术方案:
[0009] 一方面,提供了一种视频缩略图生成方法,应用于终端,所述方法包括:
[0010] 接收缩略图显示请求,所述缩略图显示请求包括预览时刻,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取;
[0011] 根据分片列表,获取所述预览时刻对应的分片地址,所述分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系,所述分片为所述流媒体文件切割后的片段;
[0012] 根据所述分片地址,发送分片请求至所述服务器,所述分片请求中包括所述预览时刻对应的分片地址;
[0013] 接收所述服务器反馈的所述预览时刻对应的分片;
[0014] 根据所述预览时刻对应的分片进行关键帧的选择;
[0015] 根据所述选择出的关键帧,生成缩略图;
[0016] 发送所述缩略图至所述播放器,以使所述播放器在对应的预览时刻显示所述缩略图。
[0017] 结合第一方面,在第一方面的第一种可能实现方式中,所述根据分片列表,获取预览时刻对应的分片地址之前,所述方法还包括:
[0018] 发送所述流媒体文件的分片列表请求至所述服务器,以从所述服务器获取所述分片列表。
[0019] 结合第一方面或第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述方法还包括:
[0020] 获取所述流媒体文件的原始地址;
[0021] 根据所述流媒体文件的原始地址,生成所述流媒体文件的本地地址,使所述播放器根据所述本地地址获取所述原始地址以播放所述流媒体文件。
[0022] 结合第一方面的第二种可能实现方式,在第一方面的第三种可能实现方式中,根据所述流媒体文件的原始地址,生成流媒体文件的本地地址,包括:
[0023] 获取所述流媒体文件的原始地址的统一资源标识符URI信息;
[0024] 获取所述服务器绑定的端口号;
[0025] 根据本地环回地址、绑定的端口号以及统一资源标识符URI信息,生成本地地址。
[0026] 结合第一方面至第一方面的第三种可能实现方式种的任一种实现方式,在第一方面的第四种可能实现方式中,所述方法还包括:
[0027] 获取所述预览时刻的历史记录;
[0028] 根据所述历史记录,获取相邻两个预览时刻之间的时长间隔;
[0029] 获取多个时长间隔的平均值作为平均时长;
[0030] 判断多个时长间隔的均方差是否小于预设阈值;
[0031] 若所述均方差小于预设阈值,则从所述服务器获取预估时刻对应的分片,所述预估时刻为与最后一个预览时刻相隔时长为所述平均时长的时刻。
[0032] 第二方面,提供了一种视频缩略图生成方法,应用于服务器,所述方法包括:
[0033] 接收终端发送的分片请求,所述分片请求中包括预览时刻对应的分片地址,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取,所述分片为所述流媒体文件切割后的片段;
[0034] 获取所述分片请求中的分片地址;
[0035] 根据所述分片地址获取所述预览时刻对应的分片;
[0036] 发送所述预览时刻对应的分片至所述终端。
[0037] 结合第二方面,在第二方面的第一种可能实现方式中,所述方法还包括:
[0038] 接收所述终端发送的分片列表请求;
[0039] 发送所述分片列表至所述终端。
[0040] 第三方面,提供了一种视频缩略图生成装置,应用于终端,所述装置包括:
[0041] 缩略图显示请求接收单元,用于接收缩略图显示请求,所述缩略图显示请求包括预览时刻,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取;
[0042] 分片地址获取单元,用于根据分片列表,获取所述预览时刻对应的分片地址,所述分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系,所述分片为所述流媒体文件切割后的片段;
[0043] 分片请求发送单元,用于根据所述分片地址,发送分片请求至所述服务器,所述分片请求中包括所述预览时刻对应的分片地址;
[0044] 分片接收单元,用于接收所述服务器反馈的所述预览时刻对应的分片;
[0045] 选择单元,用于根据所述预览时刻对应的分片进行关键帧的选择;
[0046] 缩略图生成单元,用于根据所述选择出的关键帧,生成缩略图;
[0047] 缩略图发送单元,发送所述缩略图至所述播放器,以使所述播放器在对应的预览时刻显示所述缩略图。
[0048] 结合第三方面,在第三方面的第一种可能实现方式中,所述装置还包括:
[0049] 分片列表获取单元,用于发送所述流媒体文件的分片列表请求至所述服务器,以从所述服务器获取所述分片列表。
[0050] 结合第三方面和第三方面的第一种可能实现,在第三方面的第二种可能实现方式中,所述装置还包括:
[0051] 原始地址获取单元,用于获取所述流媒体文件的原始地址;
[0052] 本地地址生成单元,用于根据所述流媒体文件的原始地址,生成所述流媒体文件的本地地址,使所述播放器根据所述本地地址获取所述原始地址以播放所述流媒体文件。
[0053] 结合第三方面的第二种可能实现方式,在第三方面的第三种可能实现方式中,本地地址生成单元还用于获取所述流媒体文件的原始地址的统一资源标识符URI信息;
[0054] 本地地址生成单元还用于获取所述服务器绑定的端口号;
[0055] 本地地址生成单元还用于根据本地环回地址、绑定的端口号以及统一资源标识符URI信息,生成本地地址。
[0056] 结合第三方面至第三方面的第三种可能实现方式中的任一种可能实现方式,在第三方面的第四种可能实现方式中,所述装置还包括用户行为分析单元,用于获取所述预览时刻的历史记录;
[0057] 所述用户行为分析单元还用于根据所述历史记录,获取相邻两个预览时刻之间的时长间隔;
[0058] 所述用户行为分析单元还用于获取多个时长间隔的平均值作为平均时长;
[0059] 所述用户行为分析单元还用于判断多个时长间隔的均方差是否小于预设阈值;
[0060] 所述用户行为分析单元还用于若所述均方差小于预设阈值,则从所述服务器获取预估时刻对应的分片,所述预估时刻为与最后一个预览时刻相隔时长为所述平均时长的时刻。
[0061] 第四方面,还提供了一种视频缩略图生成装置,应用于服务器,所述装置包括:
[0062] 分片请求接收单元,用于接收终端发送的分片请求,所述分片请求中包括预览时刻对应的分片地址,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取,所述分片为所述流媒体文件切割后的片段;
[0063] 分片获取单元,用于获取所述分片请求中的分片地址,根据所述分片地址获取所述预览时刻对应的分片;
[0064] 分片发送单元,发送所述预览时刻对应的分片至所述终端。
[0065] 结合第四方面,在第四方面的第一种可能实现方式中,所述装置还包括分片请求发送单元,用于接收所述终端发送的分片列表请求,发送所述分片列表至所述终端。
[0066] 第五方面,提供了一种视频缩略图生成装置,应用于终端,所述装置包括:
[0067] 第一接收器,用于接收缩略图显示请求,所述缩略图显示请求包括预览时刻,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取;
[0068] 第一处理器,用于根据分片列表,获取所述预览时刻对应的分片地址,所述分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系,所述分片为所述流媒体文件切割后的片段;
[0069] 第一发送器,用于根据所述分片地址,发送分片请求至所述服务器,所述分片请求中包括所述预览时刻对应的分片地址;
[0070] 所述第一接收器用于接收所述服务器反馈的所述预览时刻对应的分片;
[0071] 所述第一处理器还用于根据所述预览时刻对应的分片进行关键帧的选择;
[0072] 所述第一处理器还用于根据所述选择出的关键帧,生成缩略图;
[0073] 所述第一发送器还用于发送所述缩略图至所述播放器,以使所述播放器在对应的预览时刻显示所述缩略图。
[0074] 结合第五方面,在第五方面的第一种可能实现方式中,所述第一发送器还用于发送所述流媒体文件的分片列表请求至所述服务器,以从所述服务器获取所述分片列表。
[0075] 结合第五方面和第五方面的第一种可能实现方式,在第五方面的第二种可能实现方式中,所述第一处理器还用于获取所述流媒体文件的原始地址;
[0076] 所述第一处理器还用于根据所述流媒体文件的原始地址,生成所述流媒体文件的本地地址,使所述播放器根据所述本地地址获取所述原始地址以播放所述流媒体文件。
[0077] 结合第五方面的第二种可能实现方式,在第五方面的第三种可能实现方式中,所述第一处理器还用于获取所述流媒体文件的原始地址的统一资源标识符URI信息;
[0078] 所述第一处理器还用于获取所述服务器绑定的端口号;
[0079] 所述第一处理器还用于根据本地环回地址、绑定的端口号以及统一资源标识符URI信息,生成本地地址。
[0080] 结合第五方面至第五方面的第三种可能实现方式中的任一种可能实现方式,在第五方面的第四种可能实现方式中,所述第一处理器还用于获取所述预览时刻的历史记录;
[0081] 所述第一处理器还用于根据所述历史记录,获取相邻两个预览时刻之间的时长间隔;
[0082] 所述第一处理器还用于获取多个时长间隔的平均值作为平均时长;
[0083] 所述第一处理器还用于判断多个时长间隔的均方差是否小于预设阈值;
[0084] 所述第一处理器还用于若所述均方差小于预设阈值,则从所述服务器获取预估时刻对应的分片,所述预估时刻为与最后一个预览时刻相隔时长为所述平均时长的时刻。
[0085] 第六方面,提供了一种视频缩略图生成装置,应用于服务器,所述装置包括:
[0086] 第二接收器,用于接收终端发送的分片请求,所述分片请求中包括预览时刻对应的分片地址,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取,所述分片为所述流媒体文件切割后的片段;
[0087] 第二处理器,用于获取所述分片请求中的分片地址,根据所述分片地址获取所述预览时刻对应的分片;
[0088] 第二发送器,用于发送所述预览时刻对应的分片至所述终端。
[0089] 结合第六方面,在第六方面的第一种可能实现方式中,所述第二发送器还用于接收所述终端发送的分片列表请求,发送所述分片列表至所述终端。
[0090] 本发明的实施例中公开了一种视频缩略图生成方法,所述方法中,视频缩略图生成装置根据分片列表,获取预览时刻对应的分片地址,由于分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系,因此可以获取预览时刻对应的分片地址,从而从服务器获取到预览时刻对应的分片,从分片中选择关键帧并生成预览时刻对应的缩略图。本发明实施例的方法,无需播放器的支持即可生成视频缩略图,同时根据分片地址直接获取分片,可以减少服务器压力,缩短响应时间。

附图说明

[0091] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0092] 图1所示为在视频预览窗口显示视频缩略图的示意图;
[0093] 图2所示为本发明实施例的一种视频缩略图生成方法的流程图;
[0094] 图3所示为本发明实施例的一种视频缩略图生成方法的流程图;
[0095] 图4所示为本发明实施例的一种视频缩略图生成方法的数据流向示意图;
[0096] 图5所示为本发明实施例的一种视频缩略图生成装置的示意图;
[0097] 图6所示为本发明实施例的一种视频缩略图生成装置的示意图;
[0098] 图7所示为本发明实施例的一种视频缩略图生成装置的示意图。

具体实施方式

[0099] 本发明如下实施例提供了一种视频缩略图生成方法和装置,无需播放器的支持即可生成视频缩略图,且提高响应速度。
[0100] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0101] 用户在使用播放器播放流媒体文件时,如果需要浏览视频缩略图,则需要涉及到播放器、服务器以及本发明实施例所述的视频缩略图生成装置。下文将从位于终端上的视频缩略图生成装置以及服务器两方面来说明视频缩略图生成的方法。
[0102] 图2所示为本发明实施例提供了一种视频缩略图生成方法的流程图,如图1所示,所述方法应用于终端,所述方法的执行主体为缩略图生成装置,所述包括:
[0103] 步骤201,接收缩略图显示请求,所述缩略图显示请求包括预览时刻。
[0104] 所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取。
[0105] 缩略图显示请求可以是播放器发送的,也可以是其他具有相同或相似的功能单元发送的。
[0106] 用户在观看流媒体视频的时候,如果想要预览某一个时刻的缩略图,可以通过调整播放器的进度条至预览时刻,播放器,或其他功能单元会生成缩略图显示请求。
[0107] 步骤202,根据分片列表,获取所述预览时刻对应的分片地址。
[0108] 所述分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系。
[0109] 所述分片为所述流媒体文件切割后的片段。
[0110] 通常,为了便于储存、下载或预览等,流媒体文件会被分割成多个小的片段。流媒体文件切割为分片属于现有技术,在此不在赘述。
[0111] 在步骤202之前,所述方法还包括:
[0112] 发送所述分片列表请求所述服务器,以从所述服务器获取所述流媒体文件的分片列表。
[0113] 步骤203,根据所述分片地址,发送分片请求至所述服务器,所述分片请求中包括所述预览时刻对应的分片地址。
[0114] 步骤204,接收所述服务器反馈的所述预览时刻对应的分片。
[0115] 步骤205,根据所述预览时刻对应的分片进行关键帧的选择。
[0116] 视频流中有I帧、P帧、B帧等。提取视频内部的关键帧I帧时,按照相关协议获取到分片中预览时刻对应的视频数据,解码得到其中第一个I帧,获取对应的播放时间戳PTS1时间,然后将播放时间戳PTS1和用户选择的预览时刻T1进行比较,差值Tdiff=T1–PTS1,如果Tdiff>0继续寻找下一个I帧,直到当Tdiff<=0的情况下,停止寻找下一个,将当前的I帧作为关键帧;如果此分片里只有一个I帧,那直接选择此I帧作为关键帧。
[0117] 本发明实施例中选择关键帧还可以采用现有技术中的其他方法,在此不再赘述。
[0118] 步骤206,根据所述选择出的关键帧,生成缩略图。
[0119] 步骤207,发送所述缩略图至所述播放器,以使所述播放器在对应的预览时刻显示所述缩略图。
[0120] 本发明实施例的方法中,视频缩略图生成装置根据分片列表,获取预览时刻对应的分片地址,由于分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系,因此可以获取预览时刻对应的分片地址,从而从服务器获取到预览时刻对应的分片,从分片中选择关键帧并生成预览时刻对应的缩略图。本发明实施例的方法,无需播放器的支持即可生成视频缩略图,同时根据分片地址直接获取分片,可以减少服务器压力,减少响应时间。
[0121] 本发明实施例的方法还包括:
[0122] 获取所述流媒体文件的原始地址;
[0123] 根据所述流媒体文件的原始地址,生成所述流媒体文件的本地地址,使所述播放器根据所述本地地址获取所述原始地址以播放所述流媒体文件。
[0124] 可选的,根据所述流媒体文件的原始地址,生成流媒体文件的本地地址,包括:
[0125] 获取所述流媒体文件的原始地址的统一资源标识符URI信息;
[0126] 获取所述服务器绑定的端口号;
[0127] 根据本地环回地址、绑定的端口号以及统一资源标识符URI信息,生成本地地址。
[0128] 下面以实施例简要说明如何将原始地址转换为本地地址。
[0129] 一个流媒的原始地址例如http://www.huawei.com/index.m3u8,其中,统一资源标识符URI信息为index.m3u8。
[0130] 服务器绑定的端口号可以是5001,本地环回地址为127.0.0.1,生成的本地地址为http://127.0.0.1:5001/index.m3u8。
[0131] 根据流媒体文件的原始地址生成本地地址之后,播放器播放该流媒体文件时,会向本发明实施例的缩略图生成装置发送播放请求,缩略图生成装置向服务器发送播放请求,最终播放器根据流媒体文件的本地地址播放该流媒体文件。
[0132] 播放器的各种请求,包括缩略图显示请求都将发送至本发明实施例的缩略图生成装置,进行地址转换以后,播放器无需直接向服务器请求流媒体文件,而仅需要通过缩略图生成装置根据本地地址播放流媒体文件。结合本发明实施例的缩略图显示方法,可以脱离播放器自身提供的功能,也能获得缩略图。
[0133] 本发明实施例的视频缩略图生成方法还包括:
[0134] 获取所述预览时刻的历史记录;
[0135] 根据所述历史记录,获取相邻两个预览时刻之间的时长间隔;
[0136] 获取多个时长间隔的平均值作为平均时长;
[0137] 判断多个时长间隔的均方差是否小于预设阈值;
[0138] 若所述均方差小于预设阈值,则从所述服务器获取预估时刻对应的分片,所述预估时刻为与最后一个预览时刻相隔时长为所述平均时长的时刻。
[0139] 本发明实施例中的一个应用场景中,假设预览时刻的历史记录中,用户在视频播放10分钟、15分钟、21分钟、25分钟分别获取了视频缩略图,那么根据上述历史记录,可以得知相邻两个预览时刻之间的时长间隔分别为5分钟,6分钟,4分钟,平均后为5分钟。
[0140] 假设上述时长间隔的均方差小于预设的阈值,那么本发明实施例中,在视频播放25钟之后,以5分钟的间隔预览获取该时刻对应的分片,即获取30分钟对应的分片。还可以获取35分钟、40分钟等时刻对应的分片。
[0141] 本发明实施例中,根据预览时刻的历史记录,即根据用户的行为,匀速的选择播放进度条上的时刻,提前从服务器获取分片,可以减少用户在后续的预览时刻获取缩略图的等待时间。
[0142] 图3所示为本发明实施例的一种视频缩略图生成方法的流程图,所述方法应用于服务器,如图3所示,所述方法包括:
[0143] 步骤301,接收终端发送的分片请求,所述分片请求中包括预览时刻对应的分片地址。
[0144] 所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取,所述分片为所述流媒体文件切割后的片段;
[0145] 步骤302,获取所述分片请求中的分片地址。
[0146] 步骤303,根据所述分片地址获取所述预览时刻对应的分片;
[0147] 步骤304,发送所述预览时刻对应的分片至所述终端。
[0148] 本发明上述实施例的方法还包括:
[0149] 接收所述终端发送的分片列表请求;
[0150] 发送所述分片列表至所述终端。
[0151] 实际上,服务器上的流媒体文件通常都是按照分片来存储的,每个分片会对应一个存储地址,根据分片和分片地址,服务器上可以生成分片列表请求,所述分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系。
[0152] 终端在播放流媒体文件时,会预先从服务器获取分片列表。
[0153] 接收到终端发送的包含分片地址的分片请求后,服务器会将该分片地址对应的分片发送给终端,以使终端根据分片生成视频缩略图,可以减少生成视频缩略图的响应时间。
[0154] 图4所示为本发明实施例的一种视频缩略图生成方法的数据流向示意图,图4中仅标明了每个步骤的数据流向,每个步骤的具体内容请参考下例说明,如图4所示,所述方法包括:
[0155] 步骤401,视频缩略图生成装置发送分片列表请求所述服务器。
[0156] 步骤402,服务器发送流流媒体文件的分片列表至视频缩略图生成装置。
[0157] 步骤403,用户通过播放器的播放进度条选择预览时刻,并根据预览时刻生成缩略图显示请求,发送至视频缩略图生成装置。
[0158] 步骤404,视频缩略图生成装置接收缩略图显示请求,根据分片列表,获取预览时刻对应的分片地址。
[0159] 步骤405,视频缩略图生成装置根据所述分片地址,发送分片请求至服务器。
[0160] 步骤406,服务器发送预览时刻对应的分片至视频缩略图生成装置。
[0161] 步骤407,视频缩略图生成装置根据所述预览时刻对应的分片进行关键帧的选择,根据选择出的关键帧,生成缩略图
[0162] 步骤408,视频缩略图生成装置发送所述缩略图至所述播放器。
[0163] 步骤409,播放器在对应的预览时刻显示所述缩略图。
[0164] 本发明实施例的方法中,视频缩略图生成装置根据分片列表,获取预览时刻对应的分片地址,由于分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系,因此可以获取预览时刻对应的分片地址,从而从服务器获取到预览时刻对应的分片,从分片中选择关键帧并生成预览时刻对应的缩略图。本发明实施例的方法,无需播放器的支持即可生成视频缩略图,同时根据分片地址直接获取分片,可以减少服务器压力,减少响应时间。
[0165] 图5所示为本发明实施例的一种视频缩略图生成装置的示意图,如图5所示,所述装置应用于终端,所述装置包括:
[0166] 缩略图显示请求接收单元501,用于接收缩略图显示请求,所述缩略图显示请求包括预览时刻,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取;
[0167] 分片地址获取单元502,用于根据分片列表,获取所述预览时刻对应的分片地址,所述分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系,所述分片为所述流媒体文件切割后的片段;
[0168] 分片请求发送单元503,用于根据所述分片地址,发送分片请求至所述服务器,所述分片请求中包括所述预览时刻对应的分片地址;
[0169] 分片接收单元504,用于接收所述服务器反馈的所述预览时刻对应的分片;
[0170] 选择单元505,用于根据所述预览时刻对应的分片进行关键帧的选择;
[0171] 缩略图生成单元506,用于根据所述选择出的关键帧,生成缩略图;
[0172] 缩略图发送单元507,发送所述缩略图至所述播放器,以使所述播放器在对应的预览时刻显示所述缩略图。
[0173] 本发明的实施例中,所述装置还包括:
[0174] 分片列表获取单元,用于发送所述流媒体文件的分片列表请求至所述服务器,以从所述服务器获取所述分片列表。
[0175] 本发明的实施例中,所述装置还包括:
[0176] 原始地址获取单元,用于获取所述流媒体文件的原始地址;
[0177] 本地地址生成单元,用于根据所述流媒体文件的原始地址,生成所述流媒体文件的本地地址,使所述播放器根据所述本地地址获取所述原始地址以播放所述流媒体文件。
[0178] 本发明的实施例中,本地地址生成单元还用于获取所述流媒体文件的原始地址的统一资源标识符URI信息;
[0179] 本地地址生成单元还用于获取所述服务器绑定的端口号;
[0180] 本地地址生成单元还用于根据本地环回地址、绑定的端口号以及统一资源标识符URI信息,生成本地地址。
[0181] 本发明的实施例中,所述装置还包括用户行为分析单元,用于获取所述预览时刻的历史记录;
[0182] 所述用户行为分析单元还用于根据所述历史记录,获取相邻两个预览时刻之间的时长间隔;
[0183] 所述用户行为分析单元还用于获取多个时长间隔的平均值作为平均时长;
[0184] 所述用户行为分析单元还用于判断多个时长间隔的均方差是否小于预设阈值;
[0185] 所述用户行为分析单元还用于若所述均方差小于预设阈值,则从所述服务器获取预估时刻对应的分片,所述预估时刻为与最后一个预览时刻相隔时长为所述平均时长的时刻。
[0186] 本发明实施例的装置无需播放器的支持即可生成视频缩略图,同时可减少服务器压力,缩短响应时间。
[0187] 图6所示为本发明实施例的一种视频缩略图生成装置的示意图,应用于服务器,如图6所示,所述装置包括:
[0188] 分片请求接收单元601,用于接收终端发送的分片请求,所述分片请求中包括预览时刻对应的分片地址,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取,所述分片为所述流媒体文件切割后的片段;
[0189] 分片获取单元602,用于获取所述分片请求中的分片地址,根据所述分片地址获取所述预览时刻对应的分片;
[0190] 分片发送单元603,发送所述预览时刻对应的分片至所述终端。
[0191] 本发明的实施例中,所述装置还包括分片请求发送单元,用于接收所述终端发送的分片列表请求,发送所述分片列表至所述终端。
[0192] 本发明实施例的装置无需播放器的支持即可生成视频缩略图,同时可减少服务器压力,缩短响应时间。
[0193] 图7所示为本发明实施例的一种视频缩略图生成装置的示意图,应用于终端,如图7所示,所述装置包括:
[0194] 第一接收器701,用于接收缩略图显示请求,所述缩略图显示请求包括预览时刻,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取;
[0195] 第一处理器702,用于根据分片列表,获取所述预览时刻对应的分片地址,所述分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系,所述分片为所述流媒体文件切割后的片段;
[0196] 第一发送器703,用于根据所述分片地址,发送分片请求至所述服务器,所述分片请求中包括所述预览时刻对应的分片地址;
[0197] 所述第一接收器701用于接收所述服务器反馈的所述预览时刻对应的分片;
[0198] 所述第一处理器702还用于根据所述预览时刻对应的分片进行关键帧的选择;
[0199] 所述第一处理器702还用于根据所述选择出的关键帧,生成缩略图;
[0200] 所述第一发送器703还用于发送所述缩略图至所述播放器,以使所述播放器在对应的预览时刻显示所述缩略图。
[0201] 本发明实施例中,所述第一发送器703还用于发送所述流媒体文件的分片列表请求至所述服务器,以从所述服务器获取所述分片列表。
[0202] 本发明实施例中,所述第一处理器702还用于获取所述流媒体文件的原始地址;
[0203] 所述第一处理器702还用于根据所述流媒体文件的原始地址,生成所述流媒体文件的本地地址,使所述播放器根据所述本地地址获取所述原始地址以播放所述流媒体文件。
[0204] 所述第一处理器702还用于获取所述流媒体文件的原始地址的统一资源标识符URI信息;
[0205] 所述第一处理器702还用于获取所述服务器绑定的端口号;
[0206] 所述第一处理器702还用于根据本地环回地址、绑定的端口号以及统一资源标识符URI信息,生成本地地址。
[0207] 本发明实施例中,所述第一处理器702还用于获取所述预览时刻的历史记录;
[0208] 所述第一处理器702还用于根据所述历史记录,获取相邻两个预览时刻之间的时长间隔;
[0209] 所述第一处理器702还用于获取多个时长间隔的平均值作为平均时长;
[0210] 所述第一处理器702还用于判断多个时长间隔的均方差是否小于预设阈值;
[0211] 所述第一处理器702还用于若所述均方差小于预设阈值,则从所述服务器获取预估时刻对应的分片,所述预估时刻为与最后一个预览时刻相隔时长为所述平均时长的时刻。
[0212] 本发明实施例的装置无需播放器的支持即可生成视频缩略图,同时可减少服务器压力,缩短响应时间。
[0213] 本发明实施例中还公开了一种视频缩略图生成装置,应用于服务器,所述装置包括:
[0214] 第二接收器,用于接收终端发送的分片请求,所述分片请求中包括预览时刻对应的分片地址,所述预览时刻为所请求的缩略图对应的流媒体文件的播放时刻,所述预览时刻通过播放器的播放进度条获取,所述分片为所述流媒体文件切割后的片段;
[0215] 第二处理器,用于获取所述分片请求中的分片地址,根据所述分片地址获取所述预览时刻对应的分片;
[0216] 第二发送器,用于发送所述预览时刻对应的分片至所述终端。
[0217] 本发明实施例中,所述第二发送器还用于接收所述终端发送的分片列表请求,发送所述分片列表至所述终端。
[0218] 本发明实施例的装置无需播放器的支持即可生成视频缩略图,同时可减少服务器压力,缩短响应时间。
[0219] 本发明的实施例中公开了一种视频缩略图生成方法和装置,所述方法中,视频缩略图生成装置根据分片列表,获取预览时刻对应的分片地址,由于分片列表包括播放时刻与所述流媒体文件的分片地址的对应关系,因此可以获取预览时刻对应的分片地址,从而从服务器获取到预览时刻对应的分片,从分片中选择关键帧并生成预览时刻对应的缩略图。本发明实施例的方法,无需播放器的支持即可生成视频缩略图,同时根据分片地址直接获取分片,可以减少服务器压力,缩短响应时间。
[0220] 本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件的方式来实现,通用硬件包括通用集成电路、通用CPU、通用存储器、通用元器件等,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0221] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0222] 以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。