以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);
});