You need to enable JavaScript to run this app.
导航
高光成片接入
最近更新时间:2025.05.13 16:04:21首次发布时间:2025.05.13 16:04:21
我的收藏
有用
有用
无用
无用
一、SDK接入
  1. 版本号:1.5.0

  2. 配置Maven源

maven {
    url "https://artifact.bytedance.com/repository/thrall_ck/"
    credentials {
        username = MAVEN_USER_NAME //您申请的Maven用户名
        password = MAVEN_PASS_WORD //您申请的Maven仓库密码
    }
    authentication {
        digest(BasicAuthentication)
    }
}
  1. 添加SDK依赖
implementation "com.volcengine.effectone:ck-highlight:${version}"
二、接入说明
  1. SDK初始化

HighLightSDKInit.init(
    context,
    HLSDKConfig.Builder()
        //配置鉴权文件路径
        .setLicensePath(EOAuthorizationInternal.getVELicensePath() ?: "")
        //配置模板列表的Provider
        .setTemplateProvider(HLMTemplateProvider())
        ////模型文件路径
        .modelPath(modelFileDir.absolutePath)
        //抽帧的质量:LOW、MID、HIGH
        .setImageQuality(ImageQuality.LOW)
        //最大的模板匹配数量
        .setMaxMatchCount(3)
        .build()
)

模型文件

models.zip
5.67MB

SDK初始化前需要提前将上述模型文件下载至本地,并将模型文件父路径传给SDK

鉴权

EO鉴权SDK初始化后,再初始化高光SDK即可

模板列表

interface ITemplateProvider {
    //需要SDK使用方自行实现模板获取的接口
    fun provideTemplateList(): List<EOMomentTemplate>
}

实现ITemplateProvider并返回一个List即可

  1. 获取匹配的模板

高光成片流程示意
暂时无法在飞书文档外展示此内容

//run on io thread
val matchedInfo = withContext(Dispatchers.IO) {
    val list = mediaList.map  { it.toRecognizeMedia() }
    //识别素材
    val recognizeMedias = HighLightSDKInit.recognizeMedias(list)
    //模板Provider
    val templateProvider = HighLightSDKInit.getTemplateProvider()
    //开始匹配模板
    HighLightSDKInit.getTemplateFinder().findSuitedTemplate(
        recognizeMedias,
        templateProvider
    )
}

matchedInfo即为匹配到的模板,将模板传入剪同款SDK即可生成视频

相关数据结构介绍

//匹配模板返回的数据结构
data class EOTemplateMatchedInfo(
    //匹配出的模板信息
    val template: EOMomentTemplate,
    //传入的素材信息,以及素材的高光结果
    val mediaList: List<EOTemplateMatchedItem>
)

data class EOTemplateMatchedItem(
    //识别的素材
    val media: EORecognizeMedia,
    //识别出素材的「分类」「美学打分」等信息
    val extractorResult: EOExtractorResult
)

//素材的数据结构
data class EORecognizeMedia(
    //素材id
    val id: String,
    //素材的本地路径
    val path: String,
    // 1:Image 2: Video 定义参见:HLMediaType
    val type: Int,
    // 素材的宽度
    val width: Int,
    // 素材的高度
    val height: Int,
    // 素材的时长,图片设置为0即可
    val duration: Int = 0,
    //素材创建的时间
    val date: Int = 0,
)