在视频的 URL 后面加上以下参数就可以了:

?x-oss-process=video/snapshot,t_1000,f_jpg,w_800,h_600,m_fast

完整的地址就是:

https://<bucket>.<endpoint>/<video>.mp4?x-oss-process=video/snapshot,t_1000,f_jpg,w_800,h_600,m_fast

各项参数含义:

  • t_<毫秒数> 指定截图时间点,t_1000 表示 在视频 第 1000 毫秒(1 秒) 截图。
  • f_<格式> 指定输出图片格式,f_jpg 表示生成 JPG,同理 f_png 表示生成 PNG,还支持 f_webp
  • w_<宽度> 输出图片的宽度(像素)。
  • h_<高度> 输出图片的高度(像素)。
  • m_<模式> 指定截图模式,m_fast 表示快速模式,取关键帧,速度快,但位置可能不完全精确,m_exact 表示精准模式,解码到指定时间点,截图更精确,但速度较慢,绝大部分场景下用 m_fast 即可。

综上,?x-oss-process=video/snapshot,t_1000,f_jpg,w_800,h_600,m_fast 表示截取视频第1秒的画面,生成 JPG 格式图片,输出尺寸 800x600 像素,使用快速模式(关键帧附近)。

当然,你也可以只写最简参数,比如:

?x-oss-process=video/snapshot,t_2000,f_jpg

表示在第2秒截一张 JPG 图,不缩放。

云存储的出现确实解决了很多开发者的痛点。

标签: 阿里云, 视频处理, OSS, 截图

添加新评论