新风学院学习平台 java开发工程师 2020.11-2021.03 1. 负责模块: moudle-vcloud (视频上传), activeMqConsumer (视频上传到云端),hlsServer (视频解密) 2. 技术栈: ssm, redis, activeMq, tomcat 3. 项目背景: 该学习平台项目为企业内部人才培养发展定制的学习平台, 课程视频对接华为云, 包括 pc端和移动端, 用户 可以在管理端上传视频资源课件供内部员工学习, 以及深圳试岗培训客户购买账号使用。 4. module-vcloud模块实现课程视频上传功能和视频管理后台功能, 当用户上传视频后, 服务端将封装的视频实体类调用 convertandsend压入 activemq 消息队列充当 produce 端作为一个消息生产者。 5. activeMqConsumer模块实现华为云 vod转码功能, 消费 activemq 队列中的上传任务, 使用华为云提供的视频转码 java-sdk将用户上传到服务器的视频使用 createAssetByFileAuto 方法上传到华为云, 使用 createAssetByFileReq 类加入 指定参数驱动视频在云端进行 hls 加密转码, 使用 quartz 定时获取转码成功状态, 成功之后把视频文件的播放地址, 时长等 参数存入数据库。
6. hlsServer 模块实现视频播放解密功能, 当支持 hls 播放器在播放m3u8视频的时候, 提供 geturl获取视频的播放地址, getkey 接口对于token 校验通过的播放请求返回华为云获取的密钥, 并将密钥存入 redis 缓存中60分钟, 让视频正常播放