更新记录

1.0.1(2026-01-03) 下载此版本

  1. 简化参数配置
  2. 修复 iOS 报错

v1.0.0(2025-12-29) 下载此版本

  • 首次发布
  • 支持网络视频(HTTP/HTTPS)封面提取
  • 支持本地视频封面提取
  • 支持 content:// URI
  • 支持指定时间点提取
  • 支持自定义 JPEG 质量
  • 提供 Promise API

平台兼容性

uni-app(4.87)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - - 5.0 13 -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(4.87)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - 5.0 13 - -

lab-uts-video-cover

高性能视频封面提取插件,支持网络视频和本地视频,智能路径,秒开不卡顿

特性

  • 网络视频支持 - 直接传入 HTTP/HTTPS 链接,无需下载
  • 本地视频支持 - 支持本地视频文件
  • 指定时间点 - 精确提取任意秒数的画面
  • 智能路径 - 无需手动指定保存路径,自动管理临时文件
  • 秒开不卡顿 - 使用 OPTION_CLOSEST_SYNC 优化,快速定位关键帧
  • 纯 UTS 实现 - 无原生依赖,标准基座可直接运行

平台支持

Android iOS
✅ 5.0+ ✅ 12.0+

安装

在 uni_modules 目录下导入本插件即可。

使用方法

引入插件

import { getCover } from '@/uni_modules/lab-uts-video-cover/js'

本地视频封面

// 方式1: uni.chooseMedia
uni.chooseMedia({
    count: 1,
    mediaType: ['video'],
    sourceType: ['album'],
    success: async (res) => {
        const videoPath = res.tempFiles[0].tempFilePath
        const coverPath = await getCover(videoPath)
        console.log('封面路径:', coverPath)
    }
})

// 方式2: uni.chooseVideo
uni.chooseVideo({
    sourceType: ['album'],
    success: async (res) => {
        const coverPath = await getCover(res.tempFilePath)
        console.log('封面路径:', coverPath)
    }
})

网络视频封面

// 直接传入网络视频 URL
const path = await getCover('https://example.com/video.mp4')
console.log('封面路径:', path)

指定时间点和质量

const path = await getCover(videoPath, {
    time: 5,      // 提取第 5 秒的画面
    quality: 90   // JPEG 质量 90%
})
console.log('封面路径:', path)

保存到相册

const path = await getCover(videoPath)
uni.saveImageToPhotosAlbum({
    filePath: path,
    success: () => console.log('已保存到相册')
})

上传到服务器

const path = await getCover(videoPath)
uni.uploadFile({
    url: 'https://your-server.com/upload',
    filePath: path,
    name: 'file',
    success: (res) => console.log('上传成功', res.data)
})

API

getCover(src, options?): Promise

提取视频封面图片。

参数:

参数 类型 必填 说明
src string 视频路径,支持网络地址(http/https)、本地路径
options object 配置选项

options:

属性 类型 默认值 说明
time number 0 提取时间点(秒)
quality number 80 JPEG 质量 1-100

返回值:

  • Promise<string> - 封面图片路径

注意事项

  1. 网络视频:首次加载可能需要一定时间,建议显示 loading 提示
  2. 缓存管理:封面图片保存在应用缓存目录,系统会自动清理
  3. iOS 权限:访问网络视频需要在 manifest 中配置网络权限
  4. 仅支持真机:本插件依赖原生 API,不支持模拟器

更新日志

1.0.0

  • 首次发布
  • 支持网络视频和本地视频封面提取
  • 支持指定时间点和质量参数

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议