apsaraShortVideoBase

来自于:APICloud立即使用

概述

本模块封装了阿里云视频点播的短视频基础版的相关功能,短视频基础版SDK提供短视频录制、导入和编辑的高级功能,支持多种分辨率选择、实时美颜、实时滤镜、摄像头切换、闪光灯切换等多样的录制功能。

短视频SDK license 开通

  • 购买套餐后请提供应用名、订单号、bundleID、包名和签名(MD5格式小写无冒号),并发送至videosdk@service.aliyun.com,以便为您开通短视频SDK License。
  • license不需要集成到SDK里面,只需确保提交申请的bundleID、包名、签名和自己工程中的完全一致。测试时可以直接使用demo提供的bundleID、包名、签名来体验。
  • 基础版和标准版购买1个套餐最多支持1个app(最多支持10个马甲包),专业版1次购买最多支持3个app(最多支持10个马甲包)。

关于SDK试用

  • 请发送公司名称、应用名称、申请试用的SDK版本、联系人、联系电话、应用bundleID、包名和签名信息(MD5格式小写无冒号)、阿里云的账号/UID(若没有账号请注册)至videosdk@service.aliyun.com,申请开通试用(以上资料请保证齐全、格式规范)。2个工作日之内处理完开通申请。
  • 试用期默认为一个月。

openRecordView

打开视频录制页面

openRecordView(params,callback(ret))

params

recordConfig:

  • 类型:JSON 对象
  • 描述:录制视频参数
  • 内部字段:
{
    position:0,           //数字类型;摄像头方向;0:前摄像头,1:后摄像头;默认:0
    torchMode:0,          //数字类型;闪光灯模式;0:关闭,1:开启,2:自动;默认:2
    beautifyStatus:true,  //布尔类型;美颜状态;默认:true
    beautifyValue:60,     //数字类型;美颜度;取值范围:0-100;默认:60
    outputPath:'',        //字符类型;输出路径;仅支持fs;注意输出路径不含文件及后缀名称;默认:'fs://apsaraShortVideoBase/video.mp4'
    size:3,               //数字类型;视频分辨率;0:360P,1:480P,2:540P,3:720P;默认:3
    ratio:0,              //数字类型;视频比例;0:3:4,1:9:16,2:1:1;默认:0
    minDuration:5,        //数字类型;最小时长;默认:5
    maxDuration:30,       //数字类型;最大时长;默认:30
    videoQuality:0,       //数字类型;视频质量;0:极高,1:高,2:中等,3:低,4:较低,5:极低;默认:0
    encodeMode:0,         //数字类型;编码方式;0:软编,1:硬编;默认:0
    fps:20,               //数字类型;帧率;默认:20
    gop:5,                //数字类型;关键帧间隔;默认:5
}

UIConfig:

  • 类型:JSON 对象
  • 描述:UI配置
  • 内部字段:
{
    backgroundColor:'',             //字符类型;背景颜色,支持rgb、rgba、#;默认:'#232A42'
    timelineTintColor:'',           //字符类型;录制进度条 已录制颜色,支持rgb、rgba、#;默认:'#EF4B81'
    timelineBackgroundColor:'',    //字符类型;录制进度条 背景颜色,支持rgb、rgba、#;默认:'#232A42'
    timelineDeleteColor:'',         //字符类型;录制进度条 视频删除部分选中颜色,支持rgb、rgba、#;默认:'#FF0000'
    durationLabelTextColor:'',      //字符类型;制时间提示框 字体颜色,支持rgb、rgba、#;默认:'#FF0000'
    cutBottomLineColor:'',          //字符类型;裁剪页裁剪条下边框颜色,支持rgb、rgba、#;默认:'#FF0000'(IOS)
    cutTopLineColor:'',             //字符类型;裁剪页裁剪条上边框颜色,支持rgb、rgba、#;默认:'#FF0000'(IOS)
    cutLineColor:'',             //字符类型;裁剪页裁剪条边框颜色,支持rgb、rgba、#;默认:'#FF0000'(android)
    hiddenDurationLabel: false,     //布尔类型;隐藏已录制时间提示框;默认:false
    hiddenBeautyButton: false,      //布尔类型;隐藏美颜按钮;默认:false
    hiddenCameraButton: false,      //布尔类型;隐藏切换摄像头按钮;默认:false
    hiddenFlashButton: false,       //布尔类型;隐藏闪光灯按钮;默认:false
    hiddenImportButton: false,      //布尔类型;隐藏相册导入按钮;默认:false
    hiddenDeleteButton: false,      //布尔类型;隐藏删除视频片段按钮;默认:false
    hiddenFinishButton: false,      //布尔类型;隐藏录制完成按钮;默认:false
    recordOnePart: false,           //布尔类型;是否录制单段视频;默认:false  (IOS)
    showCameraButton: true,         //布尔类型;相册界面是否显示跳转相机按钮;默认:true (IOS)
    recordType:0,                   //数字类型;录制模式;默认:0(IOS)
                                    //0:混合模式(短按自动录制,再次短按停止录制+长按录制,松开停止录制)
                                    //1:短按模式(短按自动录制,再次短按停止录制)
                                    //2:长按模式(长按录制,松开停止录制)
    noneFilterText:'',              //字符类型;录制切换为无滤镜选项时提示文字;默认:'无滤镜' (IOS)   
}

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,     //布尔类型;是否录制成功
    path:'',         //字符类型;视频保存路径
    imagePath:''     //字符类型;图片保存路径
    msg:''           //字符类型;失败原因

}

示例代码

var apsaraShortVideoBase = api.require('apsaraShortVideoBase');
apsaraShortVideoBase.openRecordView({
   recordConfig:{
    position:0,          
    torchMode:0,         
    beautifyStatus:true,   
    beautifyValue:60,     
    outputPath:'',        
    size:3,               
    ratio:0,             
    minDuration:5,        
    maxDuration:30,       
    videoQuality:0,       
    encodeMode:0,         
    fps:20,               
    gop:5,                
},
UIConfig:{
    backgroundColor:'',           
    timelineTintColor:'',      
    timelineBackgroundCollor:'',    
    timelineDeleteColor:'',        
    durationLabelTextColor:'',      
    cutBottomLineColor:'',          
    cutTopLineColor:'',            
    hiddenDurationLabel: false,  
    hiddenBeautyButton: false,    
    hiddenCameraButton: false,    
    hiddenFlashButton: false,      
    hiddenImportButton: false,     
    hiddenDeleteButton: false,      
    hiddenFinishButton: false,     
    recordOnePart: false,           
    showCameraButton: true,     
    recordType:0,               
    noneFilterText:'',      
}
}, function(ret){
     alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openEditorView

打开视频编辑页面

openEditorView(params,callback(ret,err))

params

outputPath:

  • 类型:字符串
  • 描述:(可选项)视频输出路径
  • 默认:'fs://apsaraShortVideoBase/video.mp4'

outputSize:(IOS)

  • 类型:JSON对象
  • 描述:(可选项)输出大小
{
      w: 320,  //(可选项)数字类型;编辑视频宽;默认值:屏幕宽度
      h: 300,  //(可选项)数字类型;编辑视频高;默认值:屏幕高度
}

minDuration:

  • 类型:数字
  • 描述:(可选项)过滤相册视频最小时长
  • 默认:0

maxDuration:

  • 类型:数字
  • 描述:(可选项)过滤相册视频最大时长
  • 默认:60

cutMode:

  • 类型:数字
  • 描述:(可选项)裁剪模式;0:填充,1:裁剪
  • 默认:0

videoQuality:

  • 类型:数字
  • 描述:(可选项)视频质量;;0:极高,1:高,2:中等,3:低,4:较低,5:极低;
  • 默认:0

encodeMode:

  • 类型:数字
  • 描述:(可选项)编码方式;0:软编,1:硬编;
  • 默认:0

fps:

  • 类型:数字
  • 描述:(可选项)帧率
  • 默认:20

gop:

  • 类型:数字
  • 描述:(可选项)关键帧间隔
  • 默认:5

bitrate:

  • 类型:数字
  • 描述:(可选项) 裁剪码率
  • 默认:10

videoOnly:

  • 类型:布尔
  • 描述:(可选项)是否仅展示视频
  • 默认:true

fillBackgroundColor:(IOS)

  • 类型:字符串
  • 描述:(可选项)填充的背景颜色
  • 默认:'#232A42'

gpuCrop:

  • 类型:布尔
  • 描述:(可选项)是否使用gpu裁剪
  • 默认:false

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,     //布尔类型;是否录制成功
    path:'',         //字符类型;视频保存路径
    imagePath:''     //字符类型;图片保存路径
    msg:''           //字符类型;失败原因

}

示例代码

var apsaraShortVideoBase = api.require('apsaraShortVideoBase');
apsaraShortVideoBase.openEditorView({                                               
    outputPath:'widget://res/video.mp4',                                              
    outputSize:{
        w: 320, 
        h:300                                
    }, 
    minDuration:0,
    maxDuration:10,
    cutMode:1,
    videoQuality:5,
    encodeMode:1, 
    fps:50,
    gop:10,
    bitrate:10,
    videoOnly:false,
    fillBackgroundColor:'#0000FF',
    gpuCrop:true
},function(ret){
     alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本