腾讯云点播及声音上传

ops/2024/9/24 8:16:01/

文章目录

  • 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 Demand,VOD)面向音视频、图片等媒体,提供制作上传、存储、转码、媒体处理、媒体 AI、加速分发播放、版权保护等一体化高品质媒体服务。

需要开通腾讯云服务:https://cloud.tencent.com/

快速介入流程:云点播 快速入门-文档中心-腾讯云 (tencent.com)

1、开通腾讯云点播

开通主要包括以下几个主要步骤:

  1. 微信扫描快速注册(也有其他注册方式):https://cloud.tencent.com/register

  2. 扫描授权完成之后,“立即实名认证” --> “个人实名认证”,按照提示完成认证过程。

  3. 开通云点播服务:https://console.cloud.tencent.com/vod/register

    同意授权并开通

VOD 的英文全称是 Video On Demand,即视频点播技术,也称为交互式电视点播系统。
这是一种全新的信息服务方式,集计算机技术、网络技术、多媒体技术于一身,
解决了传统电视受时空限制的束缚,用户可以根据自己的需求选择观看的节目和观看时间。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、获取腾讯云API密钥

上传视频需要使用到开发者的 API 密钥(即 SecretId 和 SecretKey)

点击右上角用户下拉菜单中的“访问管理” --> 访问密钥 --> API密钥管理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一路下一步,即可完成创建,最终出现如下页面:
在这里插入图片描述
一定要把SecretId和SecretKey记录下来。

主账号ID:主应用ID
用户名:
登录密码:
SecretId:
SecretKey:

3、完成声音上传

在这里插入图片描述

在这里插入图片描述

云点播 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条预置的任务流,该任务流包含了自适应码流任务、截图任务(雪碧图任务)、截取封面图任务,其中详细参数如下:

任务流名称任务类型任务模板/ID
LongVideoPreset转自适应码流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?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=trueusername: 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: GMT+8servlet: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 Result<Map<String, Object>> uploadTrack(MultipartFile file){Map<String, 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 Map<String, 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);Map<String, 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;}
}

http://www.ppmy.cn/ops/115202.html

相关文章

Vue3快熟

Vue3快速上手 1. Vue3简介1.1. 【性能的提升】1.2.【 源码的升级】1.3. 【拥抱TypeScript】1.4. 【新的特性】 2. 创建Vue3工程2.1. 【基于 vue-cli 创建】2.2. 【基于 vite 创建】(推荐)2.3. 【一个简单的效果】 3. Vue3核心语法3.1. 【OptionsAPI 与 CompositionAPI】Options…

Python爬虫之requests模块(一)

Python爬虫之requests模块&#xff08;一&#xff09; 学完urllib之后对爬虫应该有一定的了解了&#xff0c;随后就来学习鼎鼎有名的requests模块吧。 一、requests简介。 1、什么是request模块&#xff1f; requests其实就是py原生的一个基于网络请求的模块&#xff0c;模拟…

HTML元素居中

⾏内元素⽔平垂直居中 设置⽗级标签。 ⽔平居中&#xff1a; text-align: center 垂直居中&#xff1a; line-height&#xff1a;盒⼦⾼度 ⽔平垂直都居中 <!DOCTYPE html> <html> <head><style>.container {position: relative;width: 200px;height: …

锁策略, cas 和 synchronized 优化过程

1.1 常見的鎖策略 預測鎖衝突概率 樂觀鎖&#xff1a;加鎖的時候&#xff0c;假設出現鎖衝突的概率不大。圍繞加鎖做的工作會更少。 悲觀鎖&#xff1a;加鎖的時候&#xff0c;假設鎖出現衝突的概率很大。圍繞加鎖做的工作會更多。 synchronized “自適應” 初始是樂觀的。鎖…

WordPress建站钩子函数及使用

目录 前言&#xff1a; 使用场景&#xff1a; 一、常用的wordpress钩子&#xff08;动作钩子、过滤器钩子&#xff09; 1、动作钩子&#xff08;Action Hooks&#xff09; 2、过滤器钩子&#xff08;Filter Hooks&#xff09; 二、常用钩子示例 1、添加自定义 CSS 和 JS…

解决Vue 3中Element Plus el-color-picker 组件消失的问题

概述 在使用Vue 3和Element Plus框架构建应用程序时&#xff0c;你可能会遇到el-color-picker组件无法正常显示的情况。这可能是由于多种原因造成的&#xff0c;包括但不限于CSS加载问题、JavaScript错误、版本兼容性等。本文将指导你如何排查并解决这个问题。 在 el-color-p…

Java之String 类的学习

目录 1. String类的重要性 2. 常用方法 2.1 字符串常用3种构造 2.2 String对象的4种比较 1. 比较是否引用同一个对象 2. boolean equals(Object anObject) 方法&#xff1a;按照字典序比较 3. int compareTo(String s) 方法: 按照字典序进行比较 4. int compar…

Blender软件三大渲染器Eevee、Cycles、Workbench对比解析

Blender 是一款强大的开源3D制作平台&#xff0c;提供了从建模、雕刻、动画到渲染、后期制作的一整套工具&#xff0c;广泛应用于电影、游戏、建筑、艺术等领域。 渲染101云渲染云渲6666 相比于其他平台&#xff0c;如 Autodesk Maya、3ds Max 或 Cinema 4D&#xff0c;Blende…