-
Notifications
You must be signed in to change notification settings - Fork 53
Home
zanxiaofei edited this page Feb 9, 2018
·
43 revisions
- 短视频相关jar&so(必选)
jar
so
以上,均可通过jcenter依赖:
compile 'com.ksyun.media:libksysv-java:2.2.0'
compile 'com.ksyun.media:libksysv-arm64:2.2.0'
compile 'com.ksyun.media:libksysv-armv7a:2.2.0'
compile 'com.ksyun.media:libksysv-x86:2.2.0'
- KS3上传相关SDK(可选,Demo中集成了KS3上传的相关功能,如果使用需要添加相关依赖)
通过jcenter方式依赖ks3的关联jar
dependencies {
compile 'com.android.volley:volley:1.0.0'
compile 'com.ksyun.ks3:ks3androidsdk:1.4.1'
}
libkmcfilter.jar
sensearsdk-release.aar
通过center依赖
dependencies {
compile 'com.ksyun.mc:libkmcfilter_sensetime:1.0.7'
compile 'com.ksyun.mc:SenseTimeAR:1.0.4'
}
- 编辑动态贴纸相关库(可选)
SDK提供编辑合成的动态贴纸功能,若使用该功能,需要compile依赖fresco的相关库,若不使用只需要provided的方式依赖即可 通过center依赖
dependencies {
//动态贴纸依赖库,若不使用,使用provided依赖
compile 'com.facebook.fresco:fresco:1.4.0'
compile 'com.facebook.fresco:animated-gif:1.4.0'
compile 'com.facebook.fresco:animated-webp:1.4.0'
}
- 涂鸦相关依赖(可选)
Demo中演示了如何使用画笔来完成录制和编辑时的涂鸦功能,演示使用了第三方开源库PaintView,若也想使用该库,则需要添加依赖,您也可以自己编写paint或者使用其它的开源库 dependencies { compile 'com.lht:paintview:1.17' }
鉴权需要向AppServer获取鉴权信息,并通过SDK的AuthInfoManager的checkAuth接口来完成。
- 示例代码:参考ShortVideoActivity的onAuthClick函数
- 流程说明:参考4.2中模块
1:SDK鉴权
- wiki:SDK鉴权
鉴权在合成前必须完成,否则影响合成
准备待编辑文件,提供录制和本地文件导入两种方式来生成待编辑文件
- 示例代码: 录制文件,提供KSYRecordKit来完成录制功能
- 配置录制参数:使用ShortVideoConfigDialog示例了录制参数的配置,参考ShortVideoActivity的onRecordClick函数
- 录制预览显示:调用KSYRecordKit的startCameraPreview启动录制预览显示,参考RecordActiviyt的startCameraPreviewWithPermCheck()
- 录制开始:调用KSYRecordKit的startRecord(string)开始了录制,参考RecordAcitvity的startRecord()函数
- 录制结束:调用KSYRecordKit的stopRecord()停止录制,参考RecordAcitvity的stopRecord()函数
SDK内部当前没有限制录制时长,建议在3秒~5分钟之间,Demo中最短为5s
文件导入,Demo中提供了文件导入的示例代码,参考FileImportActivity(此部分不涉及与SDK交互)
- 流程说明:参考4.2 中模块
2:短视频录制和导入
输入编辑文件路径,启动EditActivity对第二步中生成的文件进行编辑,SDK提供KSYEditKit类来完成编辑功能
- 示例代码:
- 启动编辑:调用KSYEditKit的函数startEditPreview(string)来启动编辑预览,参考EditActivity中startEditPreview()函数
只提供mp4、3gpp、mov三种文件的编辑,该函数会对文件格式进行check,不符合会抛出IllegalArgumentException异常
- 添加滤镜:只提供GPU滤镜的添加,参考EditAcitvity中initBeautyUI()函数,与推流库的滤镜设置方式基本相同,参考内置美颜和自定义GPU滤镜
- 添加水印:参考EditActivity中onWaterMarkLogoClick()函数,只提供图片水印的添加,与推流库的图片水印基本相同,参考水印
- 流程说明:参考4.2 中模块
3:短视频预览编辑合成
中的1~3步骤
编辑结束,开始文件合成
- 示例代码:
- 配置合成参数:使用ShortVideoConfigDialog示例了录制参数的配置,当前合成提供帧率、encodeType、videobitrate,后续会持续完善
- 开始合成:调用KSYEditKit的函数startCompose(string)来开始合成,参考EditActivity的onNextClick(函数),合成过程的信息通过OnInfoListener和OnErrorListener来提供,消息通知参考mOnErrorListener和mOnInfoListener,具体说明,请移步状态和错误回调
startCompose中会触发SDK鉴权检查,鉴权失败返回SHORTVIDEO_ERROR_SDK_AUTHFAILED消息,合成无法继续 调用KSYEditKit的getProgress()可以获取到合成进度,App需要自己启动Time来更新进度显示,参考ComposeAlertDialog中的composeStarted()函数
- 流程说明:参考4.2 中模块
3:短视频预览编辑合成
中的4~8步骤
文件合成结束,开始上传文件
- 示例代码:
- 触发上传:接收到回调合成结束SHORTVIDEO_COMPOSE_FINISHED后,在回调接口中返回上传信息KS3ClientWrap.KS3UploadInfo,即可触发上传,参考mOnInfoListener中相关处理
- 上传鉴权:接收到回调SHORTVIDEO_GET_KS3AUTH后,需要向AppServer请求KS3鉴权Token,Token获取代码参考KS3TokenTask,在回调中返回Token信息,KS3Client会检查token是否正确,正确继续开始文件上传,错误,文件上传失败,文件上传回调参考EditAcitvity中,mPutObjectResponseHandler
通过PutObjectResponseHandler的回调onTaskProgress(double progress)可以获取到上传进度
- 流程说明:参考4.2 中模块
4:短视频上传
上传后文件预览播放
- 示例代码
- 获取文件地址:当接收到PutObjectResponseHandler的回调onTaskSuccess后,说明上传成功,可以开始获取上传后的文件播放地址,Demo中提供HttpRequestTask类来示例http请求,地址获取参考ComposeAlertDialog中的uploadFinished()函数
- 开始预览播放:文件获取成功后,可以使用播放器对其进行播放,Demo中示例参考ComposeAlertDialog中的startPreview()
此部分不涉及与SDK交互
- 流程说明:参考4.2 中模块
5:上传后文件预览播放
不要被以下流程吓到哦,仔细阅读,对您集成有事半功倍的作用