导语
智能媒体管理已经支持了视频截帧和雪碧图生成功能,可以方便的在一次请求完成视频首帧、封面、雪碧图生成工作。
功能介绍
在视频点播等场景中,需要在视频上添加一张封面,在播放的同时科技根据进度查看指定时间点的视频画面,来提升用户体验,智能媒体管理可以方便的实现该功能,通过一次请求,可以指定多个输出方式,如时间间隔、百分比间隔、生成雪碧图等。
功能实现
首先需要有阿里云的账号,并且开通IMM(智能媒体管理)功能,关于账号和开通IMM的功能请参考相关文章。
创建一个视频类型的 project,可以使用SDK或者在控制台创建。通过工单提出需要分析的类型,我们会配置好需要的功能。
然后需要为改 Project 的使用的 ServiceRole 添加 AliyunIMMFullAccess 权限,添加方法请参考 RAM 相关文档。完成之后就可以使用截帧功能了。
主要参数说明如下:
IMM 参数 |
类型 |
是否必填 |
描述 |
Interval |
String |
否 |
截帧间隔,截单帧可以不设置,否则必须设置,支持按时长的百分比设置,该值如果小于0.01按0.01处理 |
TotalNumber |
Integer |
否 |
截帧数量,如果视频有效时长不足,则按照有效时长截帧,不会超过该值 |
SkipBegin |
String |
否 |
跳过开始时间,支持按时长的百分比设置。 |
SkipEnd |
String |
否 |
跳过开始时间,支持按时长的百分比设置 |
TargetUri |
String |
是 |
输出文件的OSS URI。支持自定义文件名如 pre{002}suf.jpg,则输出图片文件名为 pre002suf.jpg ,pre003suf.jpg 等等,如果 TotalNumber为1, 则直接使用该名称 |
GrabType |
String |
是 |
截帧类型,目前支持SPRITE(雪碧图),INTERNAL(间隔截帧) |
Width |
String |
否 |
帧宽度,支持按百分比设置 |
Height |
String |
否 |
帧高度,支持按百分比设置 |
SpriteRow |
Integer |
否 |
雪碧图中小图的行数,截雪碧图是必填,雪碧图顺序为优先填满行,不足的为黑色背景,最大为20 |
SpriteColumn |
Integer |
否 |
雪碧图中小图的列数,截雪碧图是必填,雪碧图顺序为优先填满行,不足的为黑色背景,最大为20 |
SpritePad |
Integer |
否 |
雪碧图小图之间的间隔,默认为2。最大为50 |
SpriteMargin |
Integer |
否 |
雪碧图边缘间隔,默认为2。最大为100 |
|
ScaleType |
String |
否 |
缩放方式,可选值:CROP/STRETCH/FILL/FIT,分别为缩放并裁剪/拉伸以填满/缩放并保留黑边/缩放并不保留黑边。默认 STRETCH 。 |
效果展示
封面:

首页:

雪碧图:

