1、该项目主要分为以下几个模块
视频引擎:根据传入的文案渲染视频,并推送出去
配置平台:定制数字人直播主播文案,商品和营销活动等
主播端后台和直播软件:主播端开启一键托管,让数字人主播上线,直播软件,观看数字人直播,参与主播活动
数字人调度平台:整合各个平台资源,制作视频,完成回调,启动托管,结束托管,拆封主播脚本,校准时间轴并按时间轴发起商品上下架和影响活动
2、我在里面主要开发数字人调度平台
调度平台模块,主要采用spring boot+mysql技术来实现,用来整合各个平台资源,并将脚本放进mq里面,等待异步调度模块处理
异步调度模块:主要采用spring boot+多线程技术,接受来自mq的消息,解析脚本,根据脚本时间轴,触发任务,并且在每个任务的开始,校对时间轴,避免商品和活动跟数字人直播偏差太大
3、碰见的技术难点
异步调度的时候,是出发了线程去处理任务,当短时间托管和取消托管再托管的时候,是触发了两遍消息,需要把上一次的任务停掉,这里采用future的
方式拿到现场回调参数,根据任务id取出来,然后停掉任务
推流可能不稳定早成的时间轴偏移,通过子任务开始去获取推流上的时间轴,和代码里的时间轴对比,通过休眠的方式纠正时间轴
点击空白处退出提示
评论