tencent cloud

云点播

动态与公告
产品动态
公告
产品简介
产品概述
产品特性
产品功能
产品优势
应用场景
解决方案
专业版
云点播专业版简介
快速入门
控制台指南
开发指南
购买指南
计费概述
计费方式
购买指引
账单查询
续费说明
欠费说明
退费说明
快速入门
控制台指南
控制台介绍
服务概览
应用管理
媒体管理
资源包管理
License 管理
实时日志分析
实践教程
媒体上传
如何将点播的媒体文件进行智能降冷
媒体处理
分发播放
如何接收事件通知
如何进行源站迁移
直播录制
如何进行自定义源站回源
直播精彩剪辑固化至云点播 VOD 指引
如何使用 EdgeOne 分发云点播内容
开发指南
媒体上传
媒体加工处理
媒体 AI
事件通知
媒体分发播放
媒体加密与版权保护
播放频道
访问管理
下载媒体文件
应用体系
错误码
播放器 SDK 文档
概述
基本概念
产品功能
Demo 体验
免费测试
购买指南
SDK 下载
License 指引
播放器教程
含 UI 集成方案
无 UI 集成方案
高级功能
API 文档
第三方播放器插件
Player SDK Policy
服务端 API 文档
History
Introduction
API Category
Other APIs
Media Processing APIs
Task Management APIs
Media Upload APIs
Media Management APIs
Event Notification Relevant API
Media Categorization APIs
Domain Name Management APIs
Distribution APIs
AI-based Sample Management APIs
Region Management APIs
Data Statistics APIs
Carousel-Related APIs
Just In Time Transcode APIs
No longer recommended APIs
Making API Requests
AI-based image processing APIs
Parameter Template APIs
Task Flow APIs
Data Types
Error Codes
Video on Demand API 2024-07-18
常见问题
移动端播放问题
费用相关问题
视频上传问题
视频发布问题
视频播放问题
Web 端播放问题
全屏播放问题
数据统计问题
访问管理相关问题
媒资降冷问题
相关协议
Service Level Agreement
VOD 政策
隐私政策
数据处理和安全协议
联系我们
词汇表
文档云点播实践教程媒体处理 如何对视频进行转码

如何对视频进行转码

PDF
聚焦模式
字号
最后更新时间: 2023-05-15 17:15:06

使用须知

内容介绍

本文档向开发者介绍如何对云点播(VOD)中的视频进行转码,以及如何获取转码后的输出结果。

费用

本文提供的代码是免费开源的,但在使用的过程中可能会产生以下费用:
购买腾讯云云服务器(CVM)用于执行云 API 请求脚本,详见 CVM 计费
消耗 VOD 存储用于存储上传的视频,详见 存储计费存储资源包
消耗 VOD 转码时长用于对视频进行转码,详见 转码计费转码资源包
消耗 VOD 流量用于播放视频,详见 流量计费流量资源包

参数介绍

腾讯云点播视频转码目前支持以下视频格式:
参数
类型
详细说明
输入格式
封装格式
WMV、RM、MOV、MPEG、MP4、3GP、FLV、AVI、RMVB、TS、ASF、MPG、WEBM、MKV 、M3U8、WM、ASX、RAM、MPE、VOB、DAT、MP4V、M4V、F4V、MXF、QT、OGG。
视频编码格式
AV1、AVS2、H.264/AVC、H.263、 H.263+、H.265、MPEG-1、MPEG-2、MPEG-4、MJPEG、VP8、VP9、Quicktime、RealVideo、Windows Media Video。
输出格式
封装格式
视频:FLV、MP4、HLS(m3u8+ts)。
音频:MP3、MP4、OGG、FLAC、m4a。
图片:GIF、WEBP。
视频编码格式
H.264/AVC、 H.265/HEVC、AV1。
转码的目标规格包含了编码格式、分辨率和码率等参数。云点播使用转码模板表示转码参数集合,通过转码模板,可以指定以下转码相关参数,请参见 视频处理综述
分类
参数
说明
视频编码
编码方式(Codec)
支持 H.264 、H.265以及 AV1 编码格式。
码率(Bitrate)
支持的视频码率范围:10kbps - 35Mbps。
帧率(Frame Rate)
支持的帧率范围:1fps - 60fps,常见的有24fps、25fps和30fps。
分辨率(Resolution)
支持宽度范围:128px - 4096px。
支持高度范围:128px - 4096px。
GOP 长度
支持 GOP 长度范围:1秒 - 10秒。
编码档次(Profile)
当视频编码方式为 H.264 时,支持 Baseline、Main 和 High 的编码档次。
当视频编码方式为 H.265 时,仅支持 Main 编码档次。
颜色空间(Color Space)
支持 YUV420P。
说明:
编码方式:指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式。H.265 相比 H.264 则采用更先进的编码方式转码,在不损失原始画质的情况下显著降低码率,节省播放带宽。
码率:编码器每秒编出的数据大小,单位是kbps,例800kbps代表编码器每秒产生800kb的数据。
帧率(FPS):指每秒钟要多少帧画面。
分辨率:单位英寸中所包含的像素点数。
GOP:通常指两个I帧的间隔。
对于普通转码,不同清晰度,推荐使用的码率、分辨率及设置区间如下表所示:
清晰度
推荐码率
推荐分辨率
分辨率区间
标清
600
640x480
标清 SD(短边 ≤ 480px)
高清
2000
1280x720
高清 HD(短边 ≤ 720px)
全高清
4000
1920x1080
全高清 FHD(短边 ≤ 1080px)
2K
6000
2560x1440
2K(短边 ≤ 1440px)
4K
8000
3840x2160
4K(短边 ≤ 2160px)
腾讯云点播特有的极速高清集成了画质修复与增强、内容自适应参数选择、V265编码器等一整套视频处理解决方案。提供让视频更小更清晰的转码方式,能够保证网络资源低消耗,同时带给用户更佳的视觉体验。点播也预置了各种清晰度,具体参数如下:
清晰度
推荐码率
推荐分辨率
分辨率区间
标清
350或不设
640x480
标清 SD(短边 ≤ 480px)
高清
1350或不设
1280x720
高清 HD(短边 ≤ 720px)
全高清
2700或不设
1920x1080
全高清 FHD(短边 ≤ 1080px)
2K
3500或不设
2560x1440
2K(短边 ≤ 1440px)
4K
7500或不设
3840x2160
4K(短边 ≤ 2160px)
说明:
若不设,极速高清会根据视频源智能分析,智能设置视频最低码率。

在控制台发起转码

步骤1:开通云点播

请参考 快速入门 - 步骤1 开通云点播服务。

步骤2:上传视频

参考 快速入门 - 步骤2 上传一个测试视频。单击 此处 查看本 Demo 使用的测试视频,对应的 FileId 是 3270835008936537687,如下图所示:



说明:
建议使用较短的视频文件进行测试(例如时长为几十秒的视频),避免转码过程耗时太长。

步骤3:发起转码

1. 在控制台 音视频管理 页面勾选新上传的测试视频,然后单击转码



2. 在弹框中,处理类型选择“转码”,然后单击转码模板



3. 选择所需的转码模板,然后单击确定。本 Demo 以系统预置模板 STD-H264-MP4-360P(模板 ID 100010)和 STD-H264-MP4-540P(模板 ID 100020)为例,如果开发者需要使用自定义的转码模板,请参考 模板设置文档



4. 单击确定,发起转码。



5. 在“任务中心”页面看到测试视频的状态为“已完成”,则表示音视频转码成功。


步骤4:查看转码结果

1. 在控制台应用管理 > 媒资管理 > 音视频管理 页面等待测试视频的状态变为“正常”,此时表示转码已完成。单击测试视频右侧的管理,进入视频管理页面。



2. 在“基本信息”标签页下的“标准转码列表”中,转出了 STD-H264-MP4-360P 和 STD-H264-MP4-540P 两个规格。开发者可以单击右侧的预览直接观看视频,还可以单击复制地址复制转码视频的 URL,然后通过其它渠道发布给观众。




调用云 API 发起转码

步骤1:准备腾讯云 CVM

云 API 请求脚本需要运行在一台腾讯云 CVM 上,要求如下:
地域:任意。
机型:官网最低配置(1核1GB)即可。
公网:需要拥有公网 IP,带宽1Mbps或以上。
操作系统:官网公共镜像Ubuntu Server 16.04.1 LTS 64位Ubuntu Server 18.04.1 LTS 64位
购买 CVM 的方法请参见 操作指南 - 创建实例。重装系统的方法请参见 操作指南 - 重装系统
注意:
如果您没有符合上述条件的腾讯云 CVM,也可以在其它带外网的 Linux(如 CentOS、Debian 等)或 Mac 机器上执行脚本,但需根据操作系统的区别修改脚本中的个别命令,具体修改方式请开发者自行搜索。

步骤2:获取 API 密钥

请求云 API 需要使用到开发者的 API 密钥(即 SecretId 和 SecretKey)。如果还未创建过密钥,请参见 创建密钥文档 生成新的 API 密钥;如果已创建过密钥,请参见 查看密钥文档 获取 API 密钥。

步骤3:开通云点播

请参考 快速入门 - 步骤1 开通云点播服务。

步骤4:上传视频

参考 快速入门 - 步骤2 上传一个测试视频。单击 此处 查看本 Demo 使用的测试视频,对应的 FileId 为 243791581340253754,如下图所示:



说明:
建议使用较短的视频文件进行测试(例如时长为几十秒的视频),避免转码过程耗时太长。

步骤5:发起转码

1. 登录 步骤1 中准备好的 CVM(登录方法详见 操作指南 - 登录 Linux),在远程终端输入以下命令并运行:
ubuntu@VM-69-2-ubuntu:~$ export SECRET_ID=AKxxxxxxxxxxxxxxxxxxxxxxx; export SECRET_KEY=xxxxxxxxxxxxxxxxxxxxx;git clone https://github.com/tencentyun/vod-server-demo.git ~/vod-server-demo; bash ~/vod-server-demo/installer/transcode_api.sh
说明:
请将命令中的 SECRET_ID 和 SECRET_KEY 赋值为 步骤2 中获取到的内容。
2. 该命令将从 Github 下载 Demo 源码并自动执行安装脚本。安装过程需几分钟(具体取决于 CVM 网络状况),期间远程终端会打印如下示例的信息:
[2020-06-15 20:39:56]开始安装 pip3。
[2020-06-15 20:40:06]pip3 安装成功。
[2020-06-15 20:40:06]开始安装云 API Python SDK
[2020-06-15 20:40:07]API Python SDK 安装完成。
[2020-06-15 20:40:07]开始配置 API 参数。
[2020-06-15 20:40:07]API 参数配置完成。
3. 执行process_media.py脚本发起转码:
ubuntu@VM-69-2-ubuntu:~$ cd ~/vod-server-demo/transcode_api/; python3 process_media.py 243791581340253754
说明:
请将命令中的243791581340253754替换为 步骤4 中得到的实际 FileId。
4. 该命令将对243791581340253754这个视频发起 ProcessMedia 请求,按 VOD 预置转码模板 100010和100020两个规格进行转码,并打印请求的应答内容:
{"TaskId": "1400329073-procedurev2-f6bf6f01612369b6db30f2224792a2aft0", "RequestId": "809918fb-791c-4937-b684-5027ba6bc5f0"}

步骤6:查看转码结果

1. 在“任务中心”页面看到测试视频的状态为“已完成”,则表示音视频转码成功。



2. 等待测试视频的状态变为“正常”,此时表示转码已完成。单击测试视频右侧的管理,进入视频管理页面。



3. 在“基本信息”标签页下的“标准转码列表”中,转出了对应规格的视频。开发者可以单击右侧的预览直接观看视频,还可以单击复制地址复制转码视频的 URL,然后通过其它渠道发布给观众。




上传视频后自动转码(任务流)

VOD 有多种上传视频的方式,包括控制台上传、服务端上传、客户端上传和 URL 拉取上传等(详见 媒体上传综述)。各种上传方式均支持指定一个 任务流,在上传完成后自动触发转码。

上传视频后自动转码(事件通知)

VOD 后台在视频上传完成和转码任务完成后均会发起 事件通知 请求。开发者可以利用事件通知机制来对新上传的视频发起转码,也可以通过事件通知来自动获取转码结果(上文展示的方法是人工在控制台查看转码结果)。事件通知的使用方法在单独的最佳实践文档 接收事件通知 中有详细介绍。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈