以Promise风格调用: 支持
压缩视频接口。开发者可指定压缩质量 quality 进行压缩。当需要更精细的控制时,可指定 bitrate、fps、和 resolution,当 quality 传入时,这三个参数将被忽略。原视频的相关信息可通过 getVideoInfo 获取。
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
src | string | 否 | 视频文件路径,可以是临时文件路径也可以是永久文件路径 | |
quality | string | 否 | 压缩质量 | |
fps | number | 否 | 帧率 | |
bitrate | number | 否 | 码率,单位 kbps | |
resolution | number | 否 | 相对于原视频的分辨率比例,取值范围(0, 1] | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
属性 | 类型 | 说明 |
---|---|---|
tempFilePath | string | 压缩后的视频临时文件路径 |
size | number | 压缩后的视频文件大小, 单位: kB |
errMsg | string | compressVideo:ok |
function compressVideo(options = {}) { return new Promise((resolve, reject) => { xhs.compressVideo({ ...options, success: (res) => resolve(res), fail: (err) => reject(err), }); }); } // 调用示例 const videoPath = '/path/to/video.mp4'; // 替换为实际的视频文件路径 compressVideo({ src: videoPath, // 视频文件路径 quality: 'high', // 压缩质量,可选值:low、medium、high // 如果需要更精细控制,可以注释掉 quality 并指定以下参数: // fps: 30, // 帧率 // bitrate: 1000, // 码率,单位 kbps // resolution: 0.8, // 分辨率比例,范围 (0, 1] }) .then((res) => { console.log('视频压缩成功:'); console.log('压缩后文件路径:', res.tempFilePath); console.log('压缩后文件大小:', res.size, 'kB'); }) .catch((err) => { console.error('视频压缩失败:', err); });