更新记录

1.0.7(2023-12-25)

  1. 修复Android cancelWithSessionId接口大数据时数据类型不兼容问题

1.0.6(2023-09-20)

  1. Android的ffmpeg版本升级到6.0

1.0.5(2023-08-02)

  1. 更新iOS target 版本
查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.6.8,Android:7.0,iOS:12 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

wrs-uts-ffmpeg

支持定制,联系方式 QQ:252797991

目前Android最低支持Android 7.0(24),ios 12.1,如需支持更低版本请联系作者

uniapp对应的最低版本配置打开manifest.json源码视图: 具体节点参考demo或官网文档:


// android最低版本
"minSdkVersion" : 24

// ios最低版本
 "deploymentTarget" : "12.1",

从插件网页右上角点击“试用”按钮,按照步骤下载插件到项目里,修改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);

隐私、权限声明

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

读写权限

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

插件不采集任何数据

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

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问