更新记录
1.0.8(2025-05-31)
- 修复高版本HB持续回调问题
1.0.7(2023-12-25)
- 修复Android cancelWithSessionId接口大数据时数据类型不兼容问题
1.0.6(2023-09-20)
- Android的ffmpeg版本升级到6.0
平台兼容性
uni-app
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
√ | √ | - | - | - | - | 7.0 | 12 | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | - | × | × | × | × |
uni-app x
Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
---|---|---|---|---|---|
- | - | 7.0 | 12 | - | × |
wrs-uts-ffmpeg
目前Android最低支持Android 7.0(24),ios 12.1,如需支持更低版本请联系作者
uniapp对应的最低版本配置打开manifest.json源码视图: 具体节点参考demo或官网文档:
// android最低版本
"minSdkVersion" : 24
// ios最低版本
"deploymentTarget" : "12.1",
集成步骤
- 集成插件步骤请参考https://www.cnblogs.com/wenrisheng/p/18323027
- 修改uni_modules/wrs-uts-ffmpeg/utssdk/app-ios/config.json文件,将deploymentTarget的12改成12.1
开发文档
import {
UTSFFmpeg,
UTSFFprobe
} from "@/uni_modules/wrs-uts-ffmpeg";
执行FFMpeg命令
let cmd = "-version";
UTSFFmpeg.executeAsync(cmd, (resp) => {
// 命令执行完回调
let state = resp.state;
this.showMsg("执行状态:" + state);
console.log("执行状态:" + state);
}, (resp) => {
// 命令日志回调
this.showMsg(JSON.stringify(resp.message));
console.log("logCallback:" + JSON.stringify(resp));
}, (resp) => {
// 命令统计回调
console.log("statisticsCallback:" + JSON.stringify(resp));
});
-
cmd ffmpeg命令,不需要ffmpeg开头,截取ffmpeg后面的命令参数即可,如: ffmpeg -v 查询版本,cmd值为-v ffmpeg -i https://sss/video.m3u8 /sdcard/test.mp4 将m3u8转为mp4,cmd值为-i https://sss/video.m3u8 /sdcard/test.mp4
-
completeCallback 命令执行完的回调
-
logCallback 命令执行期间的日志回调
-
statisticsCallback 统计回调
取消所有FFMpeg命令
UTSFFmpeg.cancel();
取消某个FFMpeg命令
let sessionId = 10000;
UTSFFmpeg.cancelWithSessionId(sessionId);
执行FFprobe命令
let cmd = "-i -i /sdcard/test.mp4";
let completeCallback = (resp)=>{};
let logCallback = (resp)=>{};
UTSFFprobe.executeAsync(cmd, completeCallback, logCallback);
-
cmd FFprobe命令,不需要FFprobe开头,截取FFprobe后面的命令参数即可,如: ffprobe -i /sdcard/test.mp4 查询mp4视频信息,cmd值为-i /sdcard/test.mp4
-
completeCallback 命令执行完的回调
-
logCallback 命令执行期间的日志回调
ffprobe API接口查看视频信息
var absPath = plus.io.convertLocalFileSystemURL("_www");
// Android获取的absPath以/结尾,iOS获取的absPath不是/结尾
if (absPath.endWith('/')) {
absPath = absPath.substring(0, absPath.length - 1);
}
let filePath = absPath + "/static/test.mp4"
let completeCallback = (resp) => {
// this.showMsg(JSON.stringify(resp));
let state = resp.state;
this.showMsg("执行状态:" + state);
console.log("执行状态:" + state);
// console.log("completeCallback:" + JSON.stringify(resp));
};
let logCallback = (resp) => {
// this.showMsg(JSON.stringify(resp.message));
// console.log(resp.message);
};
let waitTimeout = 5000;
UTSFFprobe.getMediaInformationAsync(filePath, completeCallback, logCallback, waitTimeout);