更新记录

2.6.0(2023-12-28)

  • 新增 直播推流 功能,来代替uni 自带的直播推送组件,因为有文件冲突问题无法共同使用导致云打包失败。

2.5.9(2023-11-30)

  • 优化安卓端,对 targetSdkVersion=31 的云打包支持。

2.5.8(2023-05-10)

  • 增加编辑视频分辨率 ,码率设置.
查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 14.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 16

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


Android 和 IOS 腾讯云 短视频插件

1.首先到,腾讯云网站 申请短视频的相关资料 , 短视频的 LicenceURL 和 key .

2. 到访问管理项 进入网站 ,API 密钥管理-》获得AppId .

插件说明

首先需要在uniapp 项目配置文件中-》选择原生插件配置-》选择本地插件-》 然后在插件上填入:key 和 appid

IOS 需要添加相关权限

"privacyDescription" : {
    "NSAppleMusicUsageDescription" : "需要访问您的媒体库权限以获取音乐,不允许则无法添加音乐",
    "NSCameraUsageDescription" : "需要访问您的相机权限,开启后录制的视频才会有画面",
    "NSMicrophoneUsageDescription" : "需要访问您的麦克风权限,开启后录制的视频才会有声音",
    "NSPhotoLibraryAddUsageDescription" : "需要访问您的相册权限,开启后才能保存编辑的文件",
    "NSPhotoLibraryUsageDescription" : "需要访问您的相册权限,开启后才能编辑视频文件"
}

插件方法介绍

1. 实例化插件

const  plug=uni.requireNativePlugin("Html5app-LiteAV");

2. 初始化方法 Init , 写在应用首页的 onLoad() 方法中,加载一次即可

        onLoad() {

        let _this=this; 

        //初始化插件     
        plug.Init({
         appid:"",  //腾讯云点播appid
         key:"", //短视频key
        "setLicenceURL":"http://license.vod2.myqcloud.com/license/v1/6467f386e5041576c27da8c4a724ce80/TXUgcSDK.licence"
        },ret=>{

        _this.title=JSON.stringify(ret);

        });

    }
  • 提示,appid 和 key 可以在云端插件那个位置填写,也可以在这个初始化的方法中填写,如果在 Init 方法中填写,以它为准。

3. 视频录制 recorderVideo

        plug.recorderVideo({
        "ratio":"16/9", //视频比例
        "quality":"MEDIUM", // 清晰度
        "isedit":false ,//是否录制完,马上跳到视频编辑页面
        "min":5, //允许最小的录制时间
        "max":20 ,//允许最大的录制时间
        "camera":"first",//=》前摄像头,back 后摄像头
        "customize":{
        "resolution":"540p", //分辨率
        "bite":6500,  //码率
        "fps":20, //帧率
        "gop":3 //关键帧间隔
        },
        buttons:{scale:0,beauty:0,music:0}
        },ret=>{

        if(ret.code=="0") //拍摄返回视频信息
        {

        }

        });

I. 参数说明

参数名称 说明 是否必填 默认值
ratio 视频比例: 16/9 , 4/3 , 1/1 16/9
quality 清晰度: 标清:LOW 高清:MEDIUM , 超清:HIGH MEDIUM
isedit 是否录制完马上进入编辑视频页面 false
min 最小的录制时间单位秒/s 5
max 最大的录制时间单位秒/s 20
customize 自定义视频清晰度,如果写了这个参数,以上的 quality 侧无效
buttons 录制界面 屏比,美颜,音乐,三个选项按钮,可以设置隐藏或显示

customize 参考包含 4 个子参数

参数名称 说明 是否必填 默认值
resolution 分辨率包含三个: 360p,540p,720p 540p
bite 码率 6500
fps 帧率 20
gop 关键帧间隔 3

buttons 参考包含 3 个子参数

参数名称 说明 是否必填 默认值
scale 屏比,按钮显示=>0 ,隐藏=>1 0
beauty 美颜,按钮显示=>0 ,隐藏=>1 0
music 音乐,按钮显示=>0 ,隐藏=>1 0

III 录制成功返回 , 平台的视频绝对路径和视频的封面截图

{    "code": 0,
    "imagePath": "/storage/emulated/0/TXUGC/TXUGC_20190822_035431669.jpg",
    "videoPath": "/storage/emulated/0/DCIM/TXUGC_20190822_035431669.mp4"
    "duration":7
}
  • duration 参数是视频时长,单位秒.

4. 编辑视频 editVideo , 参数:无 ,返回的数据跟录取视频一样

plug.editVideo({},ret=>{

});

输入视频平台绝对路径

plug.editVideo({paht:"",resolution:"720p",bite:4500},ret=>{

});
  • bite 视频码率 单位:kbps 如果设置了码率,SDK生成视频会优先使用这个码率,注意码率不要太大或则太小,码率太小视频会模糊不清,码率太大,生成视频体积会很大 这里建议设置范围为:600~3600,如果没有调用这个接口,SDK内部会根据压缩质量自动计算码率

5. 拼接视频 stitchingVideo 参数:videoList ,数组,传入本地视频绝对路径,至少2个视频,为空则默认相册选择

    plug.stitchingVideo({
        videoList:[]
    },ret=>{

    });

6.图片转视频 imageVideo 参数:imageList ,数组,传入本地图片绝对路径,至少3张图片,为空则默认相册选择

    plug.imageVideo({
        imageList:[]
    },ret=>{

    });

7. 上传视频到腾讯云点播 uploadVideo

   plug.uploadVideo({
        "videoPath":videoPath, 
        "coverPath":imagePath,
        "fileName":"视频名字", 

        "signature":res.data.sing  //签名信息
        },ret=>{

        });

I. uploadVideo 方式包含四个参数

参数名称 说明 是否必填
videoPath 视频本地路径
coverPath 视频封面图本地路径
fileName 视频名字
signature 上传视频需要的签名信息,在服务器上获取 签名生成示例

II .返回的内容

totalSize : 视频总大小字节, currentSize :上传进度大小字节

{"totalSize":4372381,"code":"5","currentSize":3734810,"msg":"视频上传中"}

III .上传成功后 , 返回腾讯云点播服务器上的网络地址

{
    "playUrl": "https://1251146759.vod2.myqcloud.com/fc06764bvodcq1251146759/d30e3ee65285890793112515523/AZmr11Uc4A.mp4",
    "code": "7",
    "fileId": "5285890793112515523",
    "msg": "视频上传成功",
    "coverUrl": "https://1251146759.vod2.myqcloud.com/fc06764bvodcq1251146759/d30e3ee65285890793112515523/52850793112515524.jpg"
}

8. 取消上传 cancleUpload 参数: 无

    plug.cancleUpload({},ret=>{

    });

安卓扫一扫 下载体验

隐私、权限声明

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

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

插件本身不采集任何数据,插件使用的腾讯云SDK 请参考其官方说明:https://cloud.tencent.com/product/ugsv/developer

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

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