当前位置: 首页 > news >正文

腾讯云点播及声音上传

文章目录

  • 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;}
}

相关文章:

腾讯云点播及声音上传

文章目录 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(…...

如何查看服务器是否有raid阵列卡以及raid类型

要查看服务器是否配置了RAID阵列卡以及RAID的类型&#xff0c;可以使用多种方法。以下是一些常用的命令和步骤&#xff1a; 1. 使用 lspci 命令 这个命令可以列出所有的PCI设备&#xff0c;包括RAID控制器。 lspci | grep -i raid 如果输出中有RAID相关的设备信息&#xff0c;那…...

工博会动态 | 来8.1馆 看桥田如何玩转全场

北京时间2024年9月24日&#xff0c;中国国际工业博览会开幕&#xff0c;桥田智能&#xff08;8.1馆A001&#xff09;推出心意三重奏&#xff0c;有没有小伙伴们发现呢&#xff1f;现在&#xff0c;让我们一起city walk下&#xff01; 桥田显眼包横空出道 有小伙伴已经发现&…...

新版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天深度学习训练营 中的学习记录博客原作者&#xff1a;K同学啊 任务&#xff1a; ●1. 学习本文的多元线形回归模型。 ●2. 参考文本预测花瓣宽度的方法&#xff0c;选用其他三个变量来预测花瓣长度。 一、多元线性回归 简单线性回归&#xff1a;影响 Y 的因素唯一&…...

JavaScript的条件语句

if条件语句 if结构先判断一个表达式的布尔值&#xff0c;然后根据布尔值的真伪&#xff0c;执行不同的语句。所谓布尔值&#xff0c;指的是JavaScript 的两个特殊值&#xff0c;true表示真&#xff0c;false表示伪。 if语句语法规范 if(布尔值){语句;}var m3if(m3){console.l…...

vue3 vite模式配置测试,开发、生产环境以及代理配置

1、首先在根目录下创建三个文本文件&#xff1a;.env.development&#xff0c;.env.production&#xff0c;.env.test .env.development中的内容为&#xff1a; // 开发环境 .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

大家好&#xff0c;欢迎来到无限大的频道。 今天带领大家来学习c语言。 题目要求&#xff1a; 设计一个进行候选人的选票程序。假设有三位候选人&#xff0c;在屏幕上输入要选择的候选人姓名&#xff0c; 有10次投票机会&#xff0c;最后输出每个人的得票结果。好的&#xff…...

[leetcode]216_组合总和III_给定数字范围且输出无重复

找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。示例 1: 输入: k 3, n 7 输出: [[1,2,4]] 解释: 1…...

Doris 2.x 安装及使用

Doris 2.x 安装及使用 简介 Apache Doris 是一款基于 MPP 架构的高性能、实时的分析型数据库&#xff0c;以高效、简单、统一的特点被人们所熟知&#xff0c;仅需亚秒级响应时间即可返回海量数据下的查询结果&#xff0c;不仅可以支持高并发的点查询场景&#xff0c;也能支持…...

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: …...

深度学习模型量化

模型量化是深度学习领域中的一项重要技术&#xff0c;它通过降低模型参数的精度&#xff0c;将浮点数转换为整数或定点数&#xff0c;从而实现模型的压缩和优化。以下是进行模型量化的详细步骤和注意事项&#xff1a; 一、模型量化的基本步骤 选择量化方法 后训练量化&#xf…...

红黑树和B+树

红黑树和B树是两种常用的自平衡数据结构&#xff0c;适用于不同的应用场景和需求。下面是对这两种树的详细比较和描述&#xff1a; 红黑树 基本结构&#xff1a; 红黑树是一种自平衡的二叉搜索树&#xff08;Binary Search Tree&#xff09;&#xff0c;其中每个节点都有一个颜…...

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 数据库源码解析》这本书中&#xff0c;对于执行器的探讨还不够深入&#xff0c;它更多地聚焦于执行器的并行处理机制。因此&#xff0c;通过本文与大家分享OceanBase执行器中几种典型的自适应技术&#xff0c;作为对书中执行器部分的一个补充。 提升数据库分析性…...

Spring Cloud Gateway接入WebSocket:实现实时通信

在现代的微服务架构中&#xff0c;实时通信变得越来越重要。Spring Cloud Gateway作为Spring Cloud生态中的API网关&#xff0c;提供了动态路由、监控、弹性、安全等功能。本文将介绍如何通过Spring Cloud Gateway接入WebSocket&#xff0c;实现服务之间的实时通信。 为什么需…...

linux信号| 学习信号三步走 | 学习信号需要打通哪些知识脉络?

前言: 本节内容主要讲解linux下信号的预备知识以及信号的概念&#xff0c; 信号部分我们将会分为几个阶段进行讲解&#xff1a;信号的概念&#xff0c; 信号的产生&#xff0c; 信号的保存。本节主要讲解信号 ps:本节内容适合学习了进程相关概念的友友们进行观看哦 目录 什么是…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...