阿里云OSS获取视频封面的最简单的办法
在视频的 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 图,不缩放。
云存储的出现确实解决了很多开发者的痛点。