更新记录
1.3.0(2026-03-10)
- 更新安卓端ffpmeg 库已经兼容谷歌16kb 上架要求
1.2.0(2025-09-30)
- 更新第三方库,改成远程仓库,避免造成本地文件太大,影响打包
1.1.0(2025-09-07)
查看更多
平台兼容性
uni-app(4.81)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-vue插件版本 |
app-nvue |
Android |
Android插件版本 |
iOS |
iOS插件版本 |
鸿蒙 |
| × |
× |
× |
× |
√ |
1.3.0 |
- |
7.0 |
1.3.0 |
12 |
1.3.0 |
× |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| × |
× |
× |
× |
× |
× |
× |
× |
× |
- |
× |
× |
uni-app x(4.81)
| Chrome |
Safari |
Android |
Android插件版本 |
iOS |
iOS插件版本 |
鸿蒙 |
微信小程序 |
| × |
× |
7.0 |
1.3.0 |
12 |
1.3.0 |
× |
× |
FFmpeg UTS音视频媒体处理插件
引用插件

-
uniapp x 中使用,导入插件
import * as FFmpeg from '../../uni_modules/Html5App-FFmpeg';
import {FFmpegOptions} from '../../uni_modules/Html5App-FFmpeg';
-
uniapp 中使用导入插件,去掉FFmpegOptions 参数
import * as FFmpeg from '../../uni_modules/Html5App-FFmpeg';
| 方法名称 |
说明 |
| getResourcePath |
把相对路径转换成绝对路径 |
| startCommand |
音视频FFmpeg 处理方法 |
| getListSessions |
获取所有任务记录 |
| getFFprobeMediaInfo |
获取媒体信息 |
| FFprobeCommand |
音视频获取媒体信息指令处理方法 |
| cancelAll |
取消所有任务 |
| cancelSessionId |
根据任务sessionId取消某一个任务 |
startCommand 指令执行方法
let inputPath=FFmpeg.getResourcePath("static/33.mp4"); //原视频路径
let outPath=FFmpeg.getResourcePath("static/3.mp4"); //处理后输出新的视频路径
let command = "-i "+inputPath+"-r 30 -y" +outPath;
FFmpeg.startCommand({command:command,
completeCallback:(json) =>
{
console.log("完成回调:"+JSON.stringify(json));
},
statisticsCallback: (json) => {
console.log("信息统计回调:"+JSON.stringify(json));
},
logCallback: (json) => {
console.log("执行日志回调:"+JSON.stringify(json));
},
taskCallback: (json) => {
console.log("任务开始回调:"+JSON.stringify(json));
}
} as FFmpegOptions);
getListSessions 获取所有任务记录
FFmpeg.cancelSessionId({
sessionId:0, //任务Id
success: (e) => {
console.log("取消回调:"+JSON.stringify(e));
}
}as FFmpegOptions);
getFFprobeMediaInfo 通过音视频绝对路径获取媒体信息详情
let filePath =FFmpeg.getResourcePath("static/33.mp4");
FFmpeg.getFFprobeMediaInfo({
filePath:filePath,
timeout:5000, //超时5000ms
completeCallback:(e) => {
console.log("完成回调:"+JSON.stringify(e));
},
logCallback: (e) => {
console.log("日志回调:"+JSON.stringify(e));
}
}as FFmpegOptions);
FFprobeCommand 通过指令的方式获取音视频媒体信息详情
let path=FFmpeg.getResourcePath("static/33.mp4");
let command="-i "+path+" -hide_banner";
FFmpeg.FFprobeCommand({
command:command,
completeCallback:(e) => {
console.log("完成回调:"+JSON.stringify(e));
},
logCallback: (e) => {
console.log("日志回调:"+JSON.stringify(e));
}
}as FFmpegOptions);
cancelAll 取消全部任务
FFmpeg.cancelAll({
success: (e) => {
console.log("取消回调:"+JSON.stringify(e));
}
}as FFmpegOptions);
cancelSessionId 根据任务sessionId 来取消某一个任务
FFmpeg.cancelSessionId({
sessionId:0,
success: (e) => {
console.log("取消回调:"+JSON.stringify(e));
}
}as FFmpegOptions);