导语

智能媒体管理已经支持了视频截帧和雪碧图生成功能,可以方便的在一次请求完成视频首帧、封面、雪碧图生成工作。

功能介绍

在视频点播等场景中,需要在视频上添加一张封面,在播放的同时科技根据进度查看指定时间点的视频画面,来提升用户体验,智能媒体管理可以方便的实现该功能,通过一次请求,可以指定多个输出方式,如时间间隔、百分比间隔、生成雪碧图等。

功能实现

首先需要有阿里云的账号,并且开通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 。

效果展示

封面:

cover

首页:

first

雪碧图:

test002suf
test003suf


数据库知识分享者
27.8k 声望35.7k 粉丝

数据库知识分享