视频点播支持视频截图,支持通过提前设置截图模板进行视频截图,您可通过控制台和API管理模板。本文为您介绍视频截图、截图类型、使用说明、截图模板和截图参数,以及如何管理截图模板。
简介
视频截图,是指在指定视频特定的位置进行图像截取,并生成图片文件。为了提高易用性,视频点播提供了截图模板,用户可先将相关参数配置成截图模板,在发起截取任务时指定截图模板ID即可。
纯音频且无任何图像信息流的媒体文件、源文件损坏或源文件封装信息异常,则可能无法生成截图文件。
截图的过程是完全异步的,发出截图请求后,在接口返回结果时,任务可能还在排队中,并没有完成。可以通过接收视频截图完成事件消息获取截图结果。
截图耗时与文件的大小、时长以及截图采用的帧类型有关。
截图生成的文件目录不支持自定义。
截图类型
封面截图(CoverSnapshot)
视频点播对每一个视频源片都会进行截图,该类截图为封面截图,默认按照视频关键帧平均截取最多8张图片,且截图时间点是从视频的第5ms开始。封面截图可在视频点播控制台视频管理详情页查看,可选择其中任意一张作为视频封面。
如果视频的关键帧数量不够8个,截图数将不足8张。
如果视频没有设置封面,则默认会使用封面截图的中间一张设置为视频封面。
普通截图(NormalSnapshot)
通过API对指定视频截取一定数量的图片,可设置开始截图的时间点、截图的总数、截图的时间间隔以及截取的图片宽高等。如果对视频通过API重复发起截图,视频点播只会记录最新的截图数据。更多信息,请参见提交媒体截图作业。
雪碧截图(SpriteSnapshot)
所谓雪碧图是指先进行普通截图,然后将普通截图按照一定的排列规则拼成一张大图,而这张大图即为雪碧图,而此时的普通截图又称组成雪碧图的原始图。截取雪碧图的优势在于可降低图片的请求数量,从而可以通过请求雪碧图一次获取多张截图的信息,加强了客户端的性能。
例如:按照10行、10列规则对普通图进行排列,则一张雪碧图中的小图理论数目为10×10 =100张,由于受限于普通截图的实际张数,雪碧图中小图数目可能不够100张,而如果超过100张则会再次生成第二张雪碧图,以此类推。如下图示意:
说明上图示例中,普通截图总数为50,按照10×3排列。第一张雪碧图中小图数为30,则第二张雪碧图中小图数为20。
雪碧图原始图(SpriteOriginSnapshot)
雪碧图原始图,即用来拼接雪碧图的普通截图,对于这些原始截图,可以选择删除或者保留,如果保留可以通过查询截图数据接口获取。更多信息,请参见查询截图数据。
WebVTT截图
WebVTT截图即根据所有截图信息生成VTT的文件,截图的基本信息(截图时间、截图地址)会记录到VTT文件中,在使用缩略图时需要先获取VTT的内容,解析截图的信息进行展示,可用于播放器进度条缩略图展示。
WebVTT截图存储方式
截图单张存储
所有截图分开存储,VTT内容记录单张截图的相对位置信息、截图时间,VTT内容如下图所示:
截图拼接存储
所有截图的图片会先拼接成一张大图统一存储,访问具体图片时需要从VTT内容中解析到图片的位置,VTT内容如下图所示:
使用说明
管理截图模板
截图涉及到的参数相对较多,如果将诸多截图参数都统一在提交截图任务时传入,不仅加大了截图功能接入门槛,更降低了易用性。因此视频点播提供了截图模板,用户可先将相关参数配置成截图模板,在发起截取任务时指定截图模板ID即可。
视频点播支持控制台和API的方式管理截图模板。
通过控制台管理
通过点播控制台可以进行截图模板的添加、修改及删除操作。
通过API管理
通过接口进行管理,更多信息,请参见截图模板。
截图参数
普通截图配置
说明本节只介绍普通截图配置的部分参数使用细节,更多参数信息,请参见普通截图配置SnapshotConfig。
API参数
控制台参数
描述
FrameType
帧类型
截图截取的帧类型包括:关键帧(intra)、普通帧(normal)。
在同等截图规则条件下,一般关键帧截图比普通帧截图速度要快。
SpecifiedOffsetTime
开始时间
截图开始的时间点。正整数类型,单位:毫秒。
如果是单帧截图,则
SpecifiedOffsetTime
为截图的时间点。Count
截图总数
截图总数。
Interval
截图间隔
截取多张截图时,截图之间的时间间隔。
Count>1:表示按照间隔时间截取到指定的Count数。
Count>1,Interval = 0:表示在视频时长范围内按照Count值截图,如果FrameType=intra,关键帧数小于Count数,则截图实际总数<Count。
Count=1:截取单帧截图。
Width
截图宽
截图的宽。单位:像素,取值范围:[8,4096]。
说明Width、Height说明:
不设置宽和高,截图宽高与输入视频宽高相同。
如果只设置宽或者高,则没有设置的一边按照输入视频的画面比例进行缩放,维持图片不变形。
Height
截图高
截图的高。单位:像素,取值范围:[8,4096]。
WebVTT截图配置
除了普通截图需要配置的参数外,还需要配置
Format
和SubOut
。API参数
控制台参数
描述
Format
文件格式
该参数说明截图需要将截图索引信息生成到VTT文件当中。
说明仅WebVTT截图需要设置该参数,且取值为:VTT。
SubOut
仅WebVTT截图需要设置该参数。
示例:
{ "IsSptFrag":"true" }
IsSptFrag:控制生成VTT文件时,截图图片的生成方式。false表示图片单张分开存储,true表示将图片拼接成大图存储。
雪碧截图配置
说明本节内容只对雪碧图的部分参数使用细节进行说明。更多信息,请参见雪碧图配置SpriteSnapshotConfig。
API参数
控制台参数
描述
CellWidth
小图宽
雪碧图中的小图宽和高设置参数,如果都不设置则小图宽高为普通截图的宽高,如果只设置其中一个,则另一边按照比例缩放。
CellHeight
小图高
KeepCellPic
是否删除原始图
是否保留构成雪碧图的原始图,即截图的普通截图。取值:delete(删除,即不保留)、keep(保留)。
说明对于雪碧图截取,如无特殊需求,建议不保留构成雪碧图的原始图。
Color
雪碧图背景色
说明暂不支持RGB参数值。
雪碧图参数示意如下: