apsaraShortVideoBase

来自于:APICloud立即使用

openRecordView openEditorView

概述

本模块封装了阿里云视频点播的短视频基础版的相关功能,短视频基础版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 对象
  • 描述:录制视频参数
  • 内部字段:
  1. {
  2. position:0, //数字类型;摄像头方向;0:前摄像头,1:后摄像头;默认:0
  3. torchMode:0, //数字类型;闪光灯模式;0:关闭,1:开启,2:自动;默认:2
  4. beautifyStatus:true, //布尔类型;美颜状态;默认:true
  5. beautifyValue:60, //数字类型;美颜度;取值范围:0-100;默认:60
  6. outputPath:'', //字符类型;输出路径;仅支持fs;注意输出路径含文件及后缀名称;默认:'fs://apsaraShortVideoBase/video.mp4'
  7. size:3, //数字类型;视频分辨率;0:360P,1:480P,2:540P,3:720P;默认:3
  8. ratio:0, //数字类型;视频比例;0:3:4,1:9:16,2:1:1;默认:0
  9. minDuration:5, //数字类型;最小时长;默认:5
  10. maxDuration:30, //数字类型;最大时长;默认:30
  11. videoQuality:0, //数字类型;视频质量;0:极高,1:高,2:中等,3:低,4:较低,5:极低;默认:0
  12. encodeMode:0, //数字类型;编码方式;0:软编,1:硬编;默认:0
  13. fps:20, //数字类型;帧率;默认:20
  14. gop:5, //数字类型;关键帧间隔;默认:5
  15. }

UIConfig:

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

callback(ret)

ret:

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

示例代码

  1. var apsaraShortVideoBase = api.require('apsaraShortVideoBase');
  2. apsaraShortVideoBase.openRecordView({
  3. recordConfig:{
  4. position:0,
  5. torchMode:0,
  6. beautifyStatus:true,
  7. beautifyValue:60,
  8. outputPath:'',
  9. size:3,
  10. ratio:0,
  11. minDuration:5,
  12. maxDuration:30,
  13. videoQuality:0,
  14. encodeMode:0,
  15. fps:20,
  16. gop:5,
  17. },
  18. UIConfig:{
  19. backgroundColor:'',
  20. timelineTintColor:'',
  21. timelineBackgroundCollor:'',
  22. timelineDeleteColor:'',
  23. durationLabelTextColor:'',
  24. cutBottomLineColor:'',
  25. cutTopLineColor:'',
  26. hiddenDurationLabel: false,
  27. hiddenBeautyButton: false,
  28. hiddenCameraButton: false,
  29. hiddenFlashButton: false,
  30. hiddenImportButton: false,
  31. hiddenDeleteButton: false,
  32. hiddenFinishButton: false,
  33. recordOnePart: false,
  34. showCameraButton: true,
  35. recordType:0,
  36. noneFilterText:'',
  37. }
  38. }, function(ret){
  39. alert(JSON.stringify(ret));
  40. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openEditorView

打开视频编辑页面

openEditorView(params,callback(ret,err))

params

outputPath:

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

outputSize:(IOS)

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

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 对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;是否录制成功
  3. path:'', //字符类型;视频保存路径
  4. imagePath:'' //字符类型;图片保存路径
  5. msg:'' //字符类型;失败原因
  6. }

示例代码

  1. var apsaraShortVideoBase = api.require('apsaraShortVideoBase');
  2. apsaraShortVideoBase.openEditorView({
  3. outputPath:'widget://res/video.mp4',
  4. outputSize:{
  5. w: 320,
  6. h:300
  7. },
  8. minDuration:0,
  9. maxDuration:10,
  10. cutMode:1,
  11. videoQuality:5,
  12. encodeMode:1,
  13. fps:50,
  14. gop:10,
  15. bitrate:10,
  16. videoOnly:false,
  17. fillBackgroundColor:'#0000FF',
  18. gpuCrop:true
  19. },function(ret){
  20. alert(JSON.stringify(ret));
  21. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本