From cb72c75760f426b49d4a76dffdd7e057ccfabdce Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Fri, 19 Jul 2024 14:28:45 +0800 Subject: [PATCH] =?UTF-8?q?vod=E6=99=AE=E9=80=9A=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/peanut/common/utils/SpdbUtil.java | 29 ++++++++++++++++++- .../sys/controller/VodAliController.java | 8 +++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/peanut/common/utils/SpdbUtil.java b/src/main/java/com/peanut/common/utils/SpdbUtil.java index 6b3c9fce..b015e66e 100644 --- a/src/main/java/com/peanut/common/utils/SpdbUtil.java +++ b/src/main/java/com/peanut/common/utils/SpdbUtil.java @@ -12,13 +12,24 @@ import com.aliyuncs.http.MethodType; import com.aliyuncs.profile.IClientProfile; import com.aliyuncs.sts.model.v20150401.AssumeRoleRequest; import com.aliyuncs.sts.model.v20150401.AssumeRoleResponse; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.peanut.modules.common.dao.VideoM3u8Dao; +import com.peanut.modules.common.entity.VideoM3u8Entity; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; //import org.bytedeco.javacv.FFmpegFrameGrabber; //import org.bytedeco.javacv.FrameGrabber; import java.util.HashMap; +import java.util.List; import java.util.Map; +@Component public class SpdbUtil { + + @Autowired + private static VideoM3u8Dao videoM3u8Dao; + private static Client client; static { com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config() @@ -33,7 +44,6 @@ public class SpdbUtil { } catch (Exception e) { throw new RuntimeException(e); } - } // private static String accessKeyId = "LTAI5tMKmWhPfnPsz2J3bfxL"; // private static String accessKeySecret = "doFUplbiIxL6PgJME3eSaW8G6HauuC"; @@ -151,6 +161,23 @@ public class SpdbUtil { } + public static void vodTranslationM3u8(String vid) throws Exception { + List videoM3u8Entities = videoM3u8Dao.selectList(new LambdaQueryWrapper().eq(VideoM3u8Entity::getVid, vid)); + if(videoM3u8Entities.size()>0){ + return; + } + GenerateKMSDataKeyResponseBody kms = KMS(); + VideoM3u8Entity videoM3u8Entity = new VideoM3u8Entity(); + assert kms != null; + videoM3u8Entity.setEdk(kms.getCiphertextBlob()); + videoM3u8Entity.setVid(vid); + videoM3u8Dao.insert(videoM3u8Entity); + startM3u8(vid,kms.getCiphertextBlob()); + } + + + + public static void startM3u8(String vid,String edk){ com.aliyun.vod20170321.models.SubmitTranscodeJobsRequest submitTranscodeJobsRequest = new com.aliyun.vod20170321.models.SubmitTranscodeJobsRequest(); submitTranscodeJobsRequest.setVideoId(vid); diff --git a/src/main/java/com/peanut/modules/sys/controller/VodAliController.java b/src/main/java/com/peanut/modules/sys/controller/VodAliController.java index 8dea699b..951e59ce 100644 --- a/src/main/java/com/peanut/modules/sys/controller/VodAliController.java +++ b/src/main/java/com/peanut/modules/sys/controller/VodAliController.java @@ -8,6 +8,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.apache.commons.codec.binary.Base64; +import java.util.Map; + @Slf4j @RestController @RequestMapping("/sys/vodAli") @@ -36,5 +38,11 @@ public class VodAliController { } + @PostMapping("/uploadCallback") + public void uploadCallback(@RequestBody Map map) throws Exception { + String vid = String.valueOf(map.get("VideoId")); + SpdbUtil.vodTranslationM3u8(vid); + } + }