更新记录
1.0.0(2026-03-12)
支持 Android / iOS 本地视频取帧
支持自定义 timeMs 提取指定时间点图片
支持设置图片质量 quality
返回本地图片路径、宽高和时间点
提供可直接试用的模板页和上传演示
平台兼容性
uni-app(4.74)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| √ |
√ |
× |
× |
√ |
√ |
√ |
√ |
- |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| × |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
uni-app x(4.75)
| Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
| × |
× |
√ |
√ |
- |
× |
其他
| 多语言 |
暗黑模式 |
宽屏模式 |
蒸汽模式 |
| × |
× |
× |
√ |
点击“试用插件”即可直接体验视频取帧模板页
试用页面就是插件同级目录下的 index.vue。
页面里已经包含:
- 选择本地视频
- 自定义取帧时间
- 调用
extractVideoFrame
- 通用视频上传示例
- 控制台打印结果
- 图片预览
功能特性
- 支持 Android / iOS App 从本地视频提取一帧图片
- 支持自定义取帧时间
timeMs
- 不传有效时间时默认按
1000ms 取帧
- 支持设置图片质量
quality
- 返回本地图片路径、宽高和实际时间点
安装
将 uni_modules/austin-video-frame 复制到项目的 uni_modules 目录下。
权限说明
- 插件本身不主动申请任何系统权限
- 插件只处理“本地视频路径 -> 本地图片路径”
- 如果你在示例页里使用
uni.chooseVideo 选择相册视频,是否触发系统相册权限由平台和系统版本决定
API
方法
| 方法名 |
说明 |
extractVideoFrame(filePath, timeMs, quality) |
从本地视频取一帧图片 |
参数
| 参数名 |
类型 |
是否必填 |
说明 |
filePath |
string |
是 |
本地视频路径 |
timeMs |
number |
否 |
取帧时间,单位毫秒,默认 1000 |
quality |
number |
否 |
jpg 质量,范围 1-100,默认 85 |
返回值
| 字段 |
类型 |
说明 |
ok |
boolean |
是否成功 |
imagePath |
string |
生成的本地图片路径 |
width |
number |
图片宽度 |
height |
number |
图片高度 |
timeMs |
number |
实际使用的取帧时间 |
errCode |
number |
错误码,成功时为 0 |
errMsg |
string |
错误信息 |
使用示例
<script>
import { extractVideoFrame } from '@/uni_modules/austin-video-frame'
export default {
methods: {
runExtract(filePath) {
const ret = extractVideoFrame(filePath, 1000, 85)
console.log('extractVideoFrame ret', ret)
if (!ret || !ret.ok) {
uni.showToast({ title: ret && ret.errMsg ? ret.errMsg : '取帧失败', icon: 'none' })
return
}
console.log('imagePath', ret.imagePath)
},
},
}
</script>
上传演示
模板页额外提供了一个最小的上传视频示例:
- 自己填写
uploadUrl
- 自己填写上传字段名,默认
file
- 点击“上传视频”后会调用
uni.uploadFile
- 控制台会打印
upload-video-start / upload-video-success / upload-video-fail
- 页面上会显示原始上传回调文本
这个上传演示只是为了方便你快速联调接口,不属于插件核心能力。
试用方法
- 点击“试用插件”
- 进入示例页后点击“选择本地视频”
- 可按需修改
timeMs 和 quality
- 点击“开始取帧”,页面会显示抽出的图片
- 如需联调上传,填写上传地址后点击“上传视频”
- 控制台会打印返回结果,页面会显示上传回调
注意事项
- 当前版本只支持本地视频路径,不支持
http/https 远程地址
- 建议在录制完成、文件已落盘后再调用
- 如果只是想取默认时间点,直接传
1000 即可
- 如果
timeMs 超出视频实际时长,最终取到的是系统可获取的最近一帧