浙江温州城乡建设网站,中国建筑网招聘信息,徐州vi设计公司,百度置顶广告多少钱文章目录 1、开通腾讯云点播2、获取腾讯云API密钥3、完成声音上传3.1、引入依赖3.2、参考#xff1a;接入点地域3.3、参考#xff1a;任务流设置3.4、首先修改配置#xff1a;3.4.1、 3.5、TrackInfoApiController --》 uploadTrack()3.6、VodServiceImpl --》 uploadTrack(… 文章目录 1、开通腾讯云点播2、获取腾讯云API密钥3、完成声音上传3.1、引入依赖3.2、参考接入点地域3.3、参考任务流设置3.4、首先修改配置3.4.1、 3.5、TrackInfoApiController --》 uploadTrack()3.6、VodServiceImpl --》 uploadTrack()3.6.1、UploadFileUtil 云点播Video on DemandVOD面向音视频、图片等媒体提供制作上传、存储、转码、媒体处理、媒体 AI、加速分发播放、版权保护等一体化高品质媒体服务。 需要开通腾讯云服务https://cloud.tencent.com/
快速介入流程云点播 快速入门-文档中心-腾讯云 (tencent.com)
1、开通腾讯云点播
开通主要包括以下几个主要步骤 微信扫描快速注册也有其他注册方式https://cloud.tencent.com/register 扫描授权完成之后“立即实名认证” -- “个人实名认证”按照提示完成认证过程。 开通云点播服务https://console.cloud.tencent.com/vod/register 同意授权并开通
VOD 的英文全称是 Video On Demand即视频点播技术也称为交互式电视点播系统。
这是一种全新的信息服务方式集计算机技术、网络技术、多媒体技术于一身
解决了传统电视受时空限制的束缚用户可以根据自己的需求选择观看的节目和观看时间。2、获取腾讯云API密钥
上传视频需要使用到开发者的 API 密钥即 SecretId 和 SecretKey
点击右上角用户下拉菜单中的“访问管理” -- 访问密钥 -- API密钥管理 一路下一步即可完成创建最终出现如下页面 一定要把SecretId和SecretKey记录下来。
主账号ID主应用ID
用户名
登录密码
SecretId
SecretKey3、完成声音上传 云点播 Java SDK-开发指南-文档中心-腾讯云https://cloud.tencent.com/document/product/266/10276
3.1、引入依赖 3.2、参考接入点地域
上传存储设置 - 云点播 - 控制台https://console.cloud.tencent.com/vod/upload-storage 云点播 媒体上传综述-开发指南-文档中心-腾讯云https://cloud.tencent.com/document/product/266/9760 本产品所有接口 Region 字段的可选值如下表所示
地域取值亚太东南曼谷ap-bangkok华北地区北京ap-beijing西南地区成都ap-chengdu西南地区重庆ap-chongqing华南地区广州ap-guangzhou港澳台地区中国香港ap-hongkong亚太东南雅加达ap-jakarta亚太南部孟买ap-mumbai亚太东北首尔ap-seoul华东地区上海ap-shanghai华东地区上海金融ap-shanghai-fsi华南地区深圳金融ap-shenzhen-fsi亚太东南新加坡ap-singapore亚太东北东京ap-tokyo欧洲地区法兰克福eu-frankfurt美国东部弗吉尼亚na-ashburn美国西部硅谷na-siliconvalley北美地区多伦多na-toronto南美地区圣保罗sa-saopaulo
3.3、参考任务流设置
文档说明https://cloud.tencent.com/document/product/266/33819 预置任务流
云点播服务为用户提供5条预置的任务流该任务流包含了自适应码流任务、截图任务雪碧图任务、截取封面图任务其中详细参数如下
任务流名称任务类型任务模板/IDLongVideoPreset转自适应码流Adpative-HLS(10)截图SpriteScreenshot(10)截取封面TimepointScreenshot(10)SimpleAesEncryptPreset转自适应码流Adpative-HLS-Encrypt(12)截图SpriteScreenshot(10)截取封面TimepointScreenshot(10)WidevineFairPlayPrese转自适应码流Adpative-HLS-FairPlay(11)Adpative-HLS-Widevine(13)截图SpriteScreenshot(10)截取封面TimepointScreenshot(10)SDMC-WidevineFairPlayPreset转自适应码流SDMC-Adpative-HLS-FairPlay(31)SDMC-Adpative-DASH-Widevine(41)截图SpriteScreenshot(10)截取封面TimepointScreenshot(10)MultiDRMPreset转自适应码流Adpative-HLS-EncryptBase(14)Adpative-HLS-Widevine(13)Adpative-HLS-FairPlay(11)截图SpriteScreenshot(10)截取封面TimepointScreenshot(10)
任务流仅支持选择配置好的模板。
3.4、首先修改配置 3.4.1、
server:port: 8501
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 查看日志
feign:sentinel:enabled: true
spring:main:allow-bean-definition-overriding: true #当遇到同样名字的时候是否允许覆盖注册cloud:sentinel:transport:dashboard: 192.168.74.148:8858openfeign:lazy-attributes-resolution: true #开启懒加载否则启动报错client:config:default:connectTimeout: 30000readTimeout: 30000loggerLevel: basicdata:redis:host: 192.168.74.148port: 6379database: 0timeout: 1800000password: 123456jedis:pool:max-active: 20 #最大连接数max-wait: -1 #最大阻塞等待时间(负数表示没限制)max-idle: 5 #最大空闲min-idle: 0 #最小空闲kafka:bootstrap-servers: 192.168.74.148:9092producer:retries: 3 #设置大于0的值则客户端会将发送失败的记录重新发送acks: allbatch-size: 16384buffer-memory: 33554432key-serializer: org.apache.kafka.common.serialization.StringSerializervalue-serializer: org.apache.kafka.common.serialization.StringSerializerconsumer:group-id: service-albumenable-auto-commit: trueauto-offset-reset: earliestkey-deserializer: org.apache.kafka.common.serialization.StringDeserializervalue-deserializer: org.apache.kafka.common.serialization.StringDeserializerdatasource:type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.74.148:3306/tingshu_album?serverTimezoneUTCcharacterEncodingutf8useUnicodetrueuseSSLtrueusername: rootpassword: 123456hikari:connection-test-query: SELECT 1connection-timeout: 60000idle-timeout: 500000max-lifetime: 540000maximum-pool-size: 10minimum-idle: 5pool-name: GuliHikariPooljackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT8servlet:multipart:max-file-size: 10MB #单个文件最大限制max-request-size: 20MB #多个文件最大限制
minio:endpointUrl: http://192.168.74.148:9000accessKey: adminsecretKey: admin123456bucketName: sph
vod:appId: 1320762610secretId: AKIDlUNRjBb8dFoRCtUE7ykVLB7CHVq9avKksecretKey: Wr23xx0w1GbsBazVyUuDYr5Mbp29IVerregion: ap-shanghaiprocedure: SimpleAesEncryptPreset #任务流tempPath: D:\\project-1108\\tempPathplayKey: wrTwwu8U3DRSRDgC8l7q #播放加密key
3.5、TrackInfoApiController --》 uploadTrack()
Tag(name 声音管理)
RestController
RequestMapping(api/album/trackInfo)
SuppressWarnings({unchecked, rawtypes})
public class TrackInfoApiController {PostMapping(uploadTrack)public ResultMapString, Object uploadTrack(MultipartFile file){MapString, Object map this.vodService.uploadTrack(file);return Result.ok(map);}
}3.6、VodServiceImpl --》 uploadTrack() 3.6.1、UploadFileUtil
package com.atguigu.tingshu.common.util;import lombok.SneakyThrows;
import org.joda.time.DateTime;
import org.springframework.web.multipart.MultipartFile;import java.io.File;public class UploadFileUtil {/*** 文件上传到临时路径* param file* return*/SneakyThrowspublic static String uploadTempPath(String tempPath, MultipartFile file) {if (null file) return ;String date new DateTime().toString(yyyyMMdd);String filePath tempPath File.separator date;File curFlie new File(filePath);if (!curFlie.exists()) {curFlie.mkdirs();}filePath filePath File.separator file.getOriginalFilename();file.transferTo(new File(filePath));return filePath;}}
Service
public class VodServiceImpl implements VodService {Autowiredprivate VodConstantProperties vodConstantProperties;Overridepublic MapString, Object uploadTrack(MultipartFile file) {// 初始化一个上传客户端对象VodUploadClient client new VodUploadClient(vodConstantProperties.getSecretId(), vodConstantProperties.getSecretKey());// 构造上传请求对象VodUploadRequest request new VodUploadRequest();String tempPath UploadFileUtil.uploadTempPath(vodConstantProperties.getTempPath(), file);request.setMediaFilePath(tempPath);// 调用上传try {VodUploadResponse response client.upload(vodConstantProperties.getRegion(), request);MapString, Object map new HashMap();map.put(mediaUrl, response.getMediaUrl());map.put(mediaFileId, response.getFileId());System.out.println(map);return map;} catch (Exception e) {// 业务方进行异常处理e.printStackTrace();}return null;}
}