视频截图

视频点播支持视频截图,支持通过提前设置截图模板进行视频截图,您可通过控制台和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-single

  • 截图拼接存储

    所有截图的图片会先拼接成一张大图统一存储,访问具体图片时需要从VTT内容中解析到图片的位置,VTT内容如下图所示:vtt-big

使用说明

  • 封面截图

    视频上传完成后,点播会默认进行封面截图,该类截图为封面截图,且该处理过程完全免费。

  • API截图

    通过提交截图作业接口发起对指定视频的截图任务,更多信息,请参见提交媒体截图作业。该方式可以截取普通截图雪碧截图

  • 如何获取截图

    目前,视频点播支持通过以下三种方式获取视频的截图信息。

  • 如何删除截图

    目前视频点播暂不支持截图单独管理,只随视频进行管理,即删除视频会将对应的截图信息以及截图文件都删掉,且数据不可恢复。

管理截图模板

截图涉及到的参数相对较多,如果将诸多截图参数都统一在提交截图任务时传入,不仅加大了截图功能接入门槛,更降低了易用性。因此视频点播提供了截图模板,用户可先将相关参数配置成截图模板,在发起截取任务时指定截图模板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截图配置

    除了普通截图需要配置的参数外,还需要配置FormatSubOut

    API参数

    控制台参数

    描述

    Format

    文件格式

    该参数说明截图需要将截图索引信息生成到VTT文件当中。

    说明

    仅WebVTT截图需要设置该参数,且取值为:VTT。

    SubOut

    仅WebVTT截图需要设置该参数。

    示例:

    {
      "IsSptFrag":"true"
    }

    IsSptFrag:控制生成VTT文件时,截图图片的生成方式。false表示图片单张分开存储,true表示将图片拼接成大图存储。

  • 雪碧截图配置

    说明

    本节内容只对雪碧图的部分参数使用细节进行说明。更多信息,请参见雪碧图配置SpriteSnapshotConfig

    API参数

    控制台参数

    描述

    CellWidth

    小图宽

    雪碧图中的小图宽和高设置参数,如果都不设置则小图宽高为普通截图的宽高,如果只设置其中一个,则另一边按照比例缩放。

    CellHeight

    小图高

    KeepCellPic

    是否删除原始图

    是否保留构成雪碧图的原始图,即截图的普通截图。取值:delete(删除,即不保留)、keep(保留)。

    说明

    对于雪碧图截取,如无特殊需求,建议不保留构成雪碧图的原始图。

    Color

    雪碧图背景色

    生成雪碧图的背景颜色。更多信息,请参见

    说明

    暂不支持RGB参数值。

    雪碧图参数示意如下:p178308