首页 > 其他分享 >腾讯云点播及声音上传

腾讯云点播及声音上传

时间:2024-09-23 18:19:56浏览次数:3  
标签:Adpative 10 点播 com ap file 腾讯 上传

文章目录


云点播(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:8858
    openfeign:
      lazy-attributes-resolution: true #开启懒加载,否则启动报错
      client:
        config:
          default:
            connectTimeout: 30000
            readTimeout: 30000
            loggerLevel: basic
  data:
    redis:
      host: 192.168.74.148
      port: 6379
      database: 0
      timeout: 1800000
      password: 123456
      jedis:
        pool:
          max-active: 20 #最大连接数
          max-wait: -1    #最大阻塞等待时间(负数表示没限制)
          max-idle: 5    #最大空闲
          min-idle: 0     #最小空闲
  kafka:
    bootstrap-servers: 192.168.74.148:9092
    producer:
      retries: 3  #设置大于0的值,则客户端会将发送失败的记录重新发送
      acks: all
      batch-size: 16384
      buffer-memory: 33554432
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer
    consumer:
      group-id: service-album
      enable-auto-commit: true
      auto-offset-reset: earliest
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.74.148:3306/tingshu_album?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=true
    username: root
    password: 123456
    hikari:
      connection-test-query: SELECT 1
      connection-timeout: 60000
      idle-timeout: 500000
      max-lifetime: 540000
      maximum-pool-size: 10
      minimum-idle: 5
      pool-name: GuliHikariPool
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
  servlet:
    multipart:
      max-file-size: 10MB     #单个文件最大限制
      max-request-size: 20MB  #多个文件最大限制
minio:
  endpointUrl: http://192.168.74.148:9000
  accessKey: admin
  secretKey: admin123456
  bucketName: sph
vod:
  appId: 1320762610
  secretId: AKIDlUNRjBb8dFoRCtUE7ykVLB7CHVq9avKk
  secretKey: Wr23xx0w1GbsBazVyUuDYr5Mbp29IVer
  region: ap-shanghai
  procedure: SimpleAesEncryptPreset #任务流
  tempPath: D:\\project-1108\\tempPath
  playKey: 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
     */
    @SneakyThrows
    public 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 {

    @Autowired
    private VodConstantProperties vodConstantProperties;

    @Override
    public 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;
    }
}

标签:Adpative,10,点播,com,ap,file,腾讯,上传
From: https://blog.csdn.net/m0_65152767/article/details/142457050

相关文章

  • 利用LRZ压缩与Base64编码实现高效文件上传
    引言在当今互联网时代,文件上传已成为众多在线服务不可或缺的一部分,尤其是在社交媒体平台上的照片分享和云存储服务中的文档管理等场景,高效且安全的文件上传机制对于保障用户体验至关重要。为此,本文将介绍一种结合了LRZ压缩工具与Base64编码技术的优化文件上传方案。通过......
  • Vant之手机端上传图片只允许拍照上传
    1.开发拍照上传页面-andImgCapture.vue<template><div><van-buttonicon="plus"type="primary":disabled="disabled"@click.stop="clickCamera">拍照上传</van-button><divclass="carma-co......
  • 文件上传日志包含详解与CTF实战
    1.日志简介1.1日志介绍日志是记录系统或应用程序运行时事件的文件。这些记录可以包括错误信息、用户活动、系统性能指标等,帮助开发者和管理员监控和排查问题。日志通常会记录多种内容,包括:时间戳:事件发生的具体时间。用户代理(UA)头:浏览器或客户端的类型和版本。IP地址:发起......
  • wordpress网站维护教程:不能上传文件,数据库报错的解决方法
    当WordPress网站遇到不能上传文件或数据库报错的问题时,这可能会影响网站的正常使用。下面分别针对这两种情况提供一些可能的解决方法。不能上传文件权限问题:检查上传文件的目标目录权限是否正确。通常,WordPress的上传目录(默认为/wp-content/uploads/)应该具有可写的权限。你......
  • 腾讯又开发一款新工具,用起来真优雅!
    UGit是一款为腾讯内部研发环境特点而定制的Git客户端,旨在提高开发效率和团队协作的流畅性。UGit支持macOS10.11+、AppleSilicon和Win64位系统。官方地址:https://ugit.qq.com/zh/index.html主要特性Ugit提供便捷的大文件管理、快速提交、工蜂锁机制以及支持检出子......
  • Spring Boot+MinIO实战:掌握分片上传、秒传与断点续传,让文件管理更高效!
    在现代应用中,随着文件大小的不断增大和网络环境的复杂化,传统的文件上传方式已难以满足用户需求。通过将SpringBoot与MinIO集成,可以轻松实现文件的分片上传、秒传和续传功能,为用户提供更流畅的上传体验。分片上传分片上传是将大文件拆分成多个小块分别上传,避免单次上传大文件带......
  • C# base64转pdf + 上传至指定url
    base64topdf1usingSystem;2usingSystem.Collections.Generic;3usingSystem.IO;4usingSystem.Linq;5usingSystem.Text;6usingSystem.Threading.Tasks;78namespaceHS.Common.Helper9{10publicclassPdfHelper11{......
  • 为何生成静态页的时候或者上传附件过程中有报错:Maximum execution time of 30 seconds
    错误信息 Maximumexecutiontimeof30secondsexceeded 表明PHP脚本的执行时间超过了服务器设定的最大执行时间限制。这通常发生在生成静态页面或上传大文件等耗时较长的操作中。解决方案方法一:修改 php.ini 文件找到 php.ini 文件:通常 php.ini 文件位于服务......
  • 后台uedit编辑器内容上传视频失败
    如果在后台使用UEditor编辑器上传视频失败,可以按照以下步骤进行排查和解决:1.检查配置文件首先检查UEditor的配置文件 config.json 是否正确配置了视频上传的相关参数。定位配置文件:找到 UEditor 的配置文件 config.json。检查视频上传配置:确保以下配置项正确......
  • 后台上传大文件时提示上传接口错误
    当网站后台上传文件大于50M时提示上传接口错误,即使已经调整了PHP的文件上传限制和POST限制,以及后台的附件上传大小限制,可能还需要调整Apache的配置。解决方法1.调整Apache配置打开Apache配置文件:打开Apache的主配置文件 httpd.conf。通常该文件位于 /etc/httpd/conf/ 或......