腾讯云点播及声音上传
文章目录
- 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、开通腾讯云点播
开通主要包括以下几个主要步骤:
-
微信扫描快速注册(也有其他注册方式):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:
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;}
}
相关文章:
腾讯云点播及声音上传
文章目录 1、开通腾讯云点播2、获取腾讯云API密钥3、完成声音上传3.1、引入依赖3.2、参考:接入点地域3.3、参考:任务流设置3.4、首先修改配置:3.4.1、 3.5、TrackInfoApiController --》 uploadTrack()3.6、VodServiceImpl --》 uploadTrack(…...
如何查看服务器是否有raid阵列卡以及raid类型
要查看服务器是否配置了RAID阵列卡以及RAID的类型,可以使用多种方法。以下是一些常用的命令和步骤: 1. 使用 lspci 命令 这个命令可以列出所有的PCI设备,包括RAID控制器。 lspci | grep -i raid 如果输出中有RAID相关的设备信息,那…...
工博会动态 | 来8.1馆 看桥田如何玩转全场
北京时间2024年9月24日,中国国际工业博览会开幕,桥田智能(8.1馆A001)推出心意三重奏,有没有小伙伴们发现呢?现在,让我们一起city walk下! 桥田显眼包横空出道 有小伙伴已经发现&…...
新版torch_geometric不存在uniform、maybe_num_nodes函数问题(Prune4ED论文报错解决)
这是在复现论文“Towards accurate subgraph similarity computation via neural graph pruning”时遇到的报错。 ImportError: cannot import name uniform from torch_geometric.nn.pool.topk_pool 一、报错原因 论文作者使用的是2.1.0版本的torch_geometric。而我安装了2.…...
实现简易 vuedraggable 的拖拽排序功能
一、案例效果 拖拽计数4实现手动排序 二、案例代码 <draggable:list"searchResult.indicator":group"{ name: indicators }"item-key"field"handle".drag-handle-icon"><divclass"field-item"v-for"(item…...
第L2周:机器学习|线性回归模型 LinearRegression:2. 多元线性回归模型
本文为365天深度学习训练营 中的学习记录博客原作者:K同学啊 任务: ●1. 学习本文的多元线形回归模型。 ●2. 参考文本预测花瓣宽度的方法,选用其他三个变量来预测花瓣长度。 一、多元线性回归 简单线性回归:影响 Y 的因素唯一&…...
JavaScript的条件语句
if条件语句 if结构先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。所谓布尔值,指的是JavaScript 的两个特殊值,true表示真,false表示伪。 if语句语法规范 if(布尔值){语句;}var m3if(m3){console.l…...
vue3 vite模式配置测试,开发、生产环境以及代理配置
1、首先在根目录下创建三个文本文件:.env.development,.env.production,.env.test .env.development中的内容为: // 开发环境 .env.development NODE_ENV development VITE_APP_MODE development VITE_OUTPUTDIR dist_dev /…...
【rabbitmq-server】安装使用介绍
在 1050a 系统下安装 rabbitmq-server 服务以及基本配置;【注】:改方案用于A版统信服务器操作系统 文章目录 功能概述功能介绍一、安装软件包二、启动服务三、验证四、基本配置功能概述 RabbitMQ 是AMQP的实现,高性能的企业消息的新标准。RabbitMQ服务器是一个强大和可扩展…...
Kafka系列之:安装部署CMAK,CMAK管理大型Kafka集群参数调优
Kafka系列之:安装部署CMAK,CMAK管理大型Kafka集群参数调优 一、CMAK二、要求三、配置四、启动服务五、使用 Security 启动服务六、消费者/生产者滞后七、从 Kafka Manager 迁移到 CMAK八、CMAK管理大型Kafka集群参数调优九、后台运行CMAK十、输出日志一、CMAK CMAK(之前称为…...
c语言200例 64
大家好,欢迎来到无限大的频道。 今天带领大家来学习c语言。 题目要求: 设计一个进行候选人的选票程序。假设有三位候选人,在屏幕上输入要选择的候选人姓名, 有10次投票机会,最后输出每个人的得票结果。好的ÿ…...
[leetcode]216_组合总和III_给定数字范围且输出无重复
找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。示例 1: 输入: k 3, n 7 输出: [[1,2,4]] 解释: 1…...
Doris 2.x 安装及使用
Doris 2.x 安装及使用 简介 Apache Doris 是一款基于 MPP 架构的高性能、实时的分析型数据库,以高效、简单、统一的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持…...
MySQL字符集设置
MySQL字符集设置 一、查看当前配置的字符集 \s;示例 MariaDB [(none)]> \s -------------- mysql Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1Connection id: 11 Current database: Current user: rootlocalhost SSL: …...
深度学习模型量化
模型量化是深度学习领域中的一项重要技术,它通过降低模型参数的精度,将浮点数转换为整数或定点数,从而实现模型的压缩和优化。以下是进行模型量化的详细步骤和注意事项: 一、模型量化的基本步骤 选择量化方法 后训练量化…...
红黑树和B+树
红黑树和B树是两种常用的自平衡数据结构,适用于不同的应用场景和需求。下面是对这两种树的详细比较和描述: 红黑树 基本结构: 红黑树是一种自平衡的二叉搜索树(Binary Search Tree),其中每个节点都有一个颜…...
debian 12配置固定ip
配置文件 cat /etc/network/interfaces |grep -v # source /etc/network/interfaces.d/*auto lo iface lo inet loopbackallow-hotplug ens18 iface ens18 inet staticaddress 192.168.0.105/24network 192.168.0.0broadcast 192.168.0.255gateway 192.168.0.1dns-nameserver…...
OceanBase技术解析: 执行器中的自适应技术
在《OceanBase 数据库源码解析》这本书中,对于执行器的探讨还不够深入,它更多地聚焦于执行器的并行处理机制。因此,通过本文与大家分享OceanBase执行器中几种典型的自适应技术,作为对书中执行器部分的一个补充。 提升数据库分析性…...
Spring Cloud Gateway接入WebSocket:实现实时通信
在现代的微服务架构中,实时通信变得越来越重要。Spring Cloud Gateway作为Spring Cloud生态中的API网关,提供了动态路由、监控、弹性、安全等功能。本文将介绍如何通过Spring Cloud Gateway接入WebSocket,实现服务之间的实时通信。 为什么需…...
linux信号| 学习信号三步走 | 学习信号需要打通哪些知识脉络?
前言: 本节内容主要讲解linux下信号的预备知识以及信号的概念, 信号部分我们将会分为几个阶段进行讲解:信号的概念, 信号的产生, 信号的保存。本节主要讲解信号 ps:本节内容适合学习了进程相关概念的友友们进行观看哦 目录 什么是…...
实战复盘:从帕鲁杯应急响应赛题看企业级安全事件调查全流程
企业级安全事件调查实战指南:从CTF赛题到真实攻防溯源 在网络安全领域,应急响应能力直接决定了企业遭受攻击后的损失程度。去年某大型电商平台因未能及时识别攻击链,导致用户数据持续泄露长达三周,最终造成数亿元的直接损失。这类…...
行波管(TWT)核心参数权衡:填充比、流通率与电子注效率的物理本质及工程设计
在行波管(TWT)设计中,填充比(F)、流通率(ηₜᵣₐₙₛ)与电子注效率(ηₑ)是决定器件性能的三大核心参数,三者并非独立存在,而是形成了紧密的物理…...
【仅限头部金融科技团队内部流通】FastAPI 2.0 AI流式响应安全加固方案:防内存溢出、防连接耗尽、防Token泄露(含OWASP ASVS v4.0合规对照表)
第一章:FastAPI 2.0 AI流式响应安全加固方案全景概览FastAPI 2.0 引入了对 Server-Sent Events(SSE)与异步生成器的原生增强支持,使大语言模型(LLM)的流式响应(如 token-by-token 输出ÿ…...
别再只用官方节点了!手把手教你安装n8n社区节点,解锁隐藏工作流能力
解锁n8n隐藏潜能:社区节点深度应用指南 你是否曾在n8n中构建工作流时,发现官方节点无法满足某些特定需求?比如需要更复杂的文本处理、社交媒体深度集成,或是与某些小众API对接?这正是社区节点大显身手的时刻。作为n8n生…...
多模态Agent架构实战落地:从需求分析到生产部署
多模态Agent架构实战落地:从需求分析到生产部署 随着大语言模型技术的普及,单一文本交互的智能系统已无法满足复杂业务场景需求——电商平台需要同时理解用户的商品描述文本、实拍图片和售后语音诉求,教育场景需要处理手写作业、视频讲解和文…...
Qwen2.5-14B-Instruct在AI编剧赛道的突破:像素剧本圣殿Glitch标题交互体验分享
Qwen2.5-14B-Instruct在AI编剧赛道的突破:像素剧本圣殿Glitch标题交互体验分享 1. 像素剧本圣殿:AI编剧的新范式 在数字内容创作领域,剧本创作一直是最具挑战性的任务之一。传统编剧需要花费大量时间构思情节、塑造角色、打磨对白ÿ…...
远程协助工具
# 详见:https://mp.weixin.qq.com/s/sY-KrOqpY3C1JUeiELEJNw # 来源:https://chat.qwen.ai/# ToDesk https://www.todesk.com/# 向日葵 https://sunlogin.oray.com/# TeamViewer https://www.teamviewer.com/# AnyDesk https://anydesk.com/ https://any…...
DeerFlow效果展示:自动生成的深度研究报告与播客内容惊艳分享
DeerFlow效果展示:自动生成的深度研究报告与播客内容惊艳分享 1. DeerFlow核心能力概览 DeerFlow作为一款深度研究智能助手,整合了语言模型、网络搜索和代码执行能力,能够自动完成从信息收集到内容生成的全流程工作。其核心功能亮点包括&am…...
别再只盯着EMD了!滚动轴承故障诊断,试试VMD和MCKD这些新方法(附Python代码对比)
滚动轴承故障诊断:VMD与MCKD的实战对比与Python实现 滚动轴承作为旋转机械的核心部件,其健康状态直接影响设备运行安全。传统经验模态分解(EMD)虽广泛应用,但在处理强噪声和非平稳信号时存在明显局限。本文将深入解析变…...
把openEuler当微服务跑:Docker Compose编排实战,管理Nginx+MySQL多容器应用
微服务架构下的openEuler容器化实践:NginxMySQL多容器编排指南 1. 云原生时代的轻量级操作系统选择 在容器化技术席卷全球的今天,开发者们越来越倾向于将操作系统本身也视为可编排的服务单元。openEuler作为一款专为云原生场景优化的Linux发行版…...
