栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring boot 快速入门 vod(视频点播)(使用vod之前建议先看我的oss上传服务)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring boot 快速入门 vod(视频点播)(使用vod之前建议先看我的oss上传服务)

1.导入pom 注意最后的vod-upload 参考我的   将vod-upload集成到maven
        
            com.aliyun
            aliyun-java-sdk-core
            4.5.1
        
        
            com.aliyun.oss
            aliyun-sdk-oss
            3.10.2
        
        
            com.aliyun
            aliyun-java-sdk-vod
            2.15.11
        
        
            com.alibaba
            fastjson
            1.2.28
        
        
            org.json
            json
            20170516
        
        
            com.google.code.gson
            gson
            2.8.2
        
        
        
            com.aliyun
            aliyun-sdk-vod-upload
            1.4.14
        
2.编写配置类获取重要参数  yml

yml文件:

aliyun:
  vod:
    keyid: LTAI5t917KtK4jMysr7q5dsasTRe #id
    keysecret: TpCng6xABP3hqehI9NyMdsdaAVQBOXRkW #密钥
    templateGroupId: 1 #转码模板
    workflowId: 2 #工作流

对应配置类

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Data
@Component
@ConfigurationProperties(prefix = "aliyun.vod")
public class VodProperties {
    private String keyid;
    private String keysecret;
    private String templateGroupId;
    private String workflowId;
}
3.编写服务(服务包括上传 删除 批量删除)
@Service
@Slf4j
public class VodVideoServiceImp implements VodVideoService {
    @Autowired
    private VodProperties vodProperties;
    @Override
    //video上传服务
    public String uploadVideo(InputStream inputStream, String originalFileName) {
        String title = originalFileName.substring(0, originalFileName.lastIndexOf("."));
        UploadStreamRequest request=new UploadStreamRequest(vodProperties.getKeyid(),vodProperties.getKeysecret(),title,originalFileName,inputStream);
        UploadVideoImpl uploadVideo=new UploadVideoImpl();
        UploadStreamResponse response=uploadVideo.uploadStream(request);
        String videoId=response.getVideoId();
        if (StringUtils.isEmpty(videoId)){
            log.info("阿里云上传失败"+response.getCode()+"-"+ response.getMessage());
        }
        return videoId;
    }
    //video删除服务
    @Override
    public void removeVideo(String id) throws ClientException {
        DefaultAcsClient client=invokeClient(vodProperties.getKeyid(),vodProperties.getKeysecret());
        DeleteVideoRequest request=new DeleteVideoRequest();
        request.setVideoIds(id);
        DeleteVideoResponse response=client.getAcsResponse(request);
    }
    //批量删除video
    @Override
    public void removeVideoByList(List stringList) throws ClientException {
        DefaultAcsClient client=invokeClient(vodProperties.getKeyid(),vodProperties.getKeysecret());
        DeleteVideoRequest request=new DeleteVideoRequest();
        StringBuffer buffer=new StringBuffer();
        int size=stringList.size();
        for (int i = 0; i < size; i++) {
             buffer.append(stringList.get(i));
             //拼接
             if (i == size-1||i%20==19){ //一次性最大批处理20条
                request.setVideoIds(buffer.toString());
                client.getAcsResponse(request);
             }
             else if (i<19){
                 buffer.append(",");
             }
        }
    }

    //初始化服务端
    public static DefaultAcsClient invokeClient(String accessKeyId,String accessKeySecret){
       String region="cn-shanghai";//接入地区
        DefaultProfile profile=DefaultProfile.getProfile(region,accessKeyId,accessKeySecret);
        DefaultAcsClient client=new DefaultAcsClient(profile);
        return  client;
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/967310.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号