二、概述
| 适用输入源 | 转码类型 | 描述 |
| 视频 | 普通视频转码 | 可以降低视频码率、改变原始码流的编码标准、分辨率和帧率等参数,从而适应不同终端和网络环境的播放。 |
| | 极速高清转码 | 极速高清转码是普通视频转码的“升级”功能。能够对不同类型的视频做自适应优化处理,以更低的带宽给用户提供更高清的观看体验。在保证画质甚至提升画质的前提下,节省50%+带宽成本。 |
| | 视频自适应码流 | 可以将输入的源视频文件转成多路适合不同场景下播放的码流,让用户可根据网络选择合适码率的视频播放,提升用户体验。 |
| | 转封装 | 可以改变源视频文件的封装格式。 |
| 音频 | 普通音频转码 | 可以降低音频码率、改变编码标准、采样率和声道等参数,从而适应不同终端和网络环境的播放。 |
| | 音频极速高清转码 | 音频极速高清转码是普通音频转码的“升级”功能。能够对不同类型的音频做自适应优化处理,以更低的带宽给用户提供更优质的音效体验。 |
| | 音频自适应码流 | 可以将输入的源音频文件转成多路适合不同场景下播放的码流,从而适配不同网络条件,提升用户体验。 |
三、技术优势
行业内,腾讯云媒体处理支持最全面的音视频编码标准压缩,提供极速高清转码、自适应码流转码、转封装、音频转码等多种转码方式,分布式转码支持最高倍速 30+,帮助节省播放带宽和成本。
全面编码方式,降低码率50%+
提供全面的编码方式(VP8、H.264、VP9、H.265、AV1、AVS3、H.266等),在不损失原始画质的情况下显著降低码率,节省播放带宽和存储成本。
更优画质,高清视野
极速高清采用智能动态编码技术,在降低码率的同时可获得更高清的画面效果,相比开源编码器,VMAF 值提高3分 – 5分; 可支持高达8K的高分辨率视频实时编码,融合超分辨率、HDR、拓宽色域等技术,并率先在国内支持了 Dolby Vision/Dolby Atmos,提供极度清晰的观感。
注意:说明:
注意:打开 体验馆,你可以快速体验音视频转码功能效果。
五、(1)使用前须知
在使用音视频转码功能前,你需完成以下前置操作:腾讯云账号注册/登录、开通并授权 COS 存储服务。具体操作指引请参考 快速入门。账号授权问题可参考 账号授权 文档。
六、(2)创建音视频转码任务
腾讯云媒体处理提供以下三种任务发起方式:控制台快速创建任务、API 发起任务和自动触发任务,下方流程图展示了各任务发起方式的通用操作流程,若需了解音视频转码任务的具体配置方法,请参考下文 创建音视频转码任务 的详细说明。
八、方式1. 控制台零代码发起任务
1. 进入 媒体处理控制台,依次点击创建任务 > 创建离线文件处理任务。
2. 首先指定输入视频文件,你可选择从 COS 或 AWS S3 存储桶中选择音视频文件,或提供文件下载 URL 地址。
3. 然后,在步骤“处理输入文件”处,加入音视频转码节点。
4. 在弹出的音视频增强的设置抽屉中,选择所需的音视频转码模板或自定义转码参数。详细模板参数配置说明请参考 音视频转码模板。
5. 最后,指定输出视频保存路径后,即可单击创建发起任务。
九、方式2. API 发起任务
·方式一:调用 ProcessMedia API,通过指定模板ID发起任务。示例:
{ "InputInfo": { "Type": "URL", "UrlInputInfo": { "Url": "https://test-1234567.cos.ap-guangzhou.myqcloud.com/video/test.mp4"// 替换成需要处理的视频 URL } }, "OutputStorage": { "Type": "cos", "CosOutputStorage": { "Bucket": "test-1234567", "Region": "ap-guangzhou" } }, "MediaProcessTask": { "TranscodeTaskSet": [ { "Definition": 100800//100800为预设视频转码模板ID,可替换为你的自定义音视频转码模板ID } ] }}
·方式二:调用 ProcessMedia API,通过指定编排ID发起任务(编排创建说明请参考下文 自动触发 部分,或参考 点播编排文档),示例:
{ "InputInfo": { "Type": "COS", "CosInputInfo": { "Bucket": "test-1234567", "Region": "ap-guangzhou", "Object": "/video/123.mp4" } }, "OutputStorage": { "Type": "cos", "CosOutputStorage": { "Bucket": "test-1234567", "Region": "ap-guangzhou" } }, "ScheduleId": 12345 //替换为自定义编排ID,12345为填写示例,不具备实际意义}
注意:推荐使用 API Explorer 快速调试验证:
注意:进入媒体处理 API Explorer 在线调试页面,在左侧接口列表选择 发起媒体处理 接口。参考下图填写输入路径、输出路径、模板ID、编排ID等参数, 即可发起 API 在线调用。
注意:
十、附录:转码相关 API 扩展参数
部分高级功能在控制台创建转码模板页面未开放配置,你可以使用 API 创建转码模板,通过 StdExtInfo 传入扩展参数。
十一、为音频流补充静音包
| 参数名 | 要求 | 类型 | 备注 |
| enable_mute _audio | 选填 | Int | 开启,补充静音包。默认0。0: 不开启。1: 音频帧不连续时填充静音包。2:1的基础上,对于末尾不存在音频的情况,补充静音包。 |
示例 JSON:
"StdExtInfo" : "{\\"audio_info\\":{\\"enable_mute_audio\\":1}}"
十二、转码输出文件存储方式
控制台支持配置 COS、AWS S3作为输出路径,你还可以通过扩展参数,将转码输出文件上传至其它第三方云存储。
| 参数名 | 要求 | 类型 | 备注 |
| appid | 选填 | String | 云账号 ID。 |
| bucket | 必选 | String | 桶名称。 |
| region | 必选 | String | 桶地域名称。 |
| headers | 选填 | Json结构 | Json结构,上传文件携带的headers。 例:“headers”: { “agent” : “tencent”, “used” : “for-test”} |
| token | 选填 | String | 临时 token 方式进行上传和下载。 |
| id | 选填 | String | 用户 SecretID。 |
| key | 选填 | String | 用户 SecretKey。 |
| host | 选填 | String | host |
| access_point | 选填 | string | aws_vpc 类型必填。 |
| storage_type | 选填 | String | "aws_s3":AWS S3。"aws_vpc":AWS 专有云。"oss" :阿里云 OSS。 |
示例 JSON 如下:
"StdExtInfo" : "{\\"cos_info\\":{\\"storage_type\\":\\"oss\\",\\"bucket\\":\\"test-test\\",\\"region\\":\\"cn-shenzhen\\",\\"id\\":\\"abcdefghijk\\",\\"key\\":\\"lmnopqrstuvwxyz\\"}}"
十三、方式3. COS 上传文件后自动触发 MPS 任务
若你希望实现:在 COS 桶中上传了视频文件,并自动按照预设参数进行音视频转码处理。你可以:
1. 在创建任务时单击保存此编排,在弹出的窗口中配置触发 Bucket、触发目录等参数。
2. 然后进入离线编排列表,找到刚创建好的编排,在启动处开启按钮即可。后续在触发目录下新增的视频文件,将自动按照该编排预设的流程和参数发起任务,并将处理后的视频文件保存到编排配置的输出路径中。
注意:启用编排成功后,需要3-5分钟才会生效。
十五、1. 任务回调
在使用 ProcessMedia 发起媒体处理任务时,可以通过 TaskNotifyConfig 参数设置回调信息。当任务处理完成后,会通过配置的回调信息回调任务结果,你可以通过 ParseNotification 解析事件通知结果。
十七、(方式1)调用 DescribeTaskDetail 接口查询任务结果
输入 ProcessMedia 返回的 TaskId (例如:24000022-WorkflowTask-b20a8exxxxxxx1tt110253),查询任务结果。
十八、(方式2)控制台查询任务结果
1. 进入控制台 离线任务管理,任务列表中会展示刚发起的任务。
2. 当子任务状态为“成功”时,你可以进入 COS Bucket > 输出 Bucket 中,找到你的输出位置,即可对音视频转码输出文件进行预览、下载等操作。
20、添加水印
在创建转码任务时,支持添加水印。
·在控制台发起转码任务时,你可以参考下图步骤添加水印:
·使用 API 发起任务时,你可以参考以下示例发起任务:
{ "InputInfo": { "Type": "URL", "UrlInputInfo": { "Url": "https://test-1234567.cos.ap-guangzhou.myqcloud.com/video/test.mp4" // 替换成需要处理的视频 URL } }, "OutputStorage": { "Type": "cos", "CosOutputStorage": { "Bucket": "test-1234567", "Region": "ap-guangzhou" } }, "MediaProcessTask": { "TranscodeTaskSet": [ { "Definition": 100800,//100800为预设视频转码模板ID,可替换为你的自定义音视频转码模板ID "WatermarkSet": [ { "Definition": 12345//替换为水印模版ID,12345为填写示例,不具备实际意义 } ] } ] }}
21、转码支持压制字幕(硬字幕)
注意:使用字幕压制功能会产生转码费用,计费完整说明请查看 音视频转码计费 文档。
22、方式一:控制台发起字幕压制任务
在创建转码任务时,支持将字幕以硬字幕方式压制到视频画面中。你可通过以下两种方式选择字幕源:
·字幕文件: 支持选择存储在腾讯云对象存储(COS)中的字幕文件,或直接输入字幕文件的 URL 地址。支持格式:SRT、WebVTT、ASS、SSA、PGS、SUP。
·源视频字幕轨: 支持指定源视频中的字幕轨(序号范围为 1-100 的正整数),将其压制至视频画面中。
压制字幕前,可自定义字幕的呈现样式:
·默认样式: 使用用户字幕文件自带样式。若无自带样式,则应用媒体处理默认样式。
·预设样式: 提供无底小字幕、无底大字幕、有底小字幕、有底大字幕四种预设选项。单击对应预览图可查看详细参数配置,并支持按需调整。
·自定义样式: 进入自定义配置界面,灵活调整所有字幕样式参数。
注意:自定义字幕样式时,你可以在弹窗右侧字幕样式区域手动输入调整;也可在左侧预览区域拖拽调整字幕、字幕背景的位置及大小,同时支持多行字幕文案,预览其效果。
注意:
注意:
自定义字幕样式时,请参考预览区的展示效果,以确保最终压制效果符合预期。下表为自定义样式参数的详细说明:
| 基本参数 | 源视频尺寸 | 支持选择预设的尺寸和自定义填写。自定义填写时范围为 [0,4096]。注意:选择或输入时,请确保与源视频尺寸保持一致,设置错误可能导致字幕渲染异常,影响最终效果。 |
| | 字体 | 支持选择系统预设字体。 |
| | 字号 | 支持以 px 为单位设置字号大小,字号范围为[1,4096],填写时请输入正整数。允许在字幕样式设置区手动填写或在左侧视频区选中字幕后拖拽放大或缩小字幕大小。 |
| | 字色 | 允许设置字体颜色和字体颜色的透明度。指定 RGBA 和 HSLA 中 A 的值即可设置字色透明度,取值范围是0到1,0是完全透明,1是完全不透明。 |
| | 字幕位置 | 支持以 px 和%两种单位设置字幕位置,允许在字幕样式设置区手动填写或在左侧视频区选中字幕后拖拽调整。注意:调整字幕或背景位置时,请确保其完全位于屏幕可视区域内。超出边界可能产生不符合预期的效果。 |
| 字幕背景 | 背景颜色 | 允许设置字幕背景颜色和背景颜色的透明度。指定 RGBA 和 HSLA 中 A 的值即可设置背景颜色透明度,取值范围是0到1,0是完全透明,1是完全不透明。 |
| | 字幕背景高度 | 支持以 px 为单位设置字幕背景高度/宽度大小,填写时注意不要超出源视频的高度/宽度。允许在字幕样式设置区手动填写或在左侧视频区选中字幕后拖拽放大或缩小字幕大小。 |
| | 字幕背景宽度 | |
| | 背景位置 | 支持以 px 和%两种单位设置字幕背景位置,允许在字幕样式设置区手动填写或在左侧视频区选中字幕后拖拽调整。注意:调整字幕或背景位置时,请确保其完全位于屏幕可视区域内。超出边界可能产生不符合预期的效果。 |
| 排列 | 行间距 | 支持以 px 为单位设置行间距,行间距范围为[0,1000]。 |
| | 对齐方式 | 支持顶对齐和底对齐两种方式。顶对齐:单行字幕对齐多行字幕的第一行,即字幕顶部位置固定,底部随行数变化.底对齐:单行字幕对齐多行字幕的最后一行,字幕底部位置固定,顶部随行数变化。 |
| 文字描边 | 颜色 | 允许设置文字描边颜色和描边颜色的透明度。指定 RGBA 和 HSLA 中 A 的值即可设置颜色透明度,取值范围是0到1,0是完全透明,1是完全不透明。 |
| | 粗细 | 支持以 px 为单位设置文字描边粗细,粗细范围为[0,1000]。 |
| 文字阴影 | 颜色 | 允许设置文字阴影颜色和阴影颜色的透明度。指定 RGBA 和 HSLA 中 A 的值即可设置颜色透明度,取值范围是0到1,0是完全透明,1是完全不透明。 |
| | 阴影宽度 | 支持以 px 为单位设置阴影宽度,粗细范围为[0,1000]。 |
23、方式二:调用 API 发起字幕压制任务
你可以在调用 ProcessMedia API 发起转码任务 时,通过 SubtitleTemplate 字段指定字幕文件。
ProcessMedia 示例 JSON:
{ "MediaProcessTask": { "TranscodeTaskSet": [ { "Definition": 101005, //转码模板ID;101005为预设普通转码模板ID,可以替换为你的自定义转码模板 "OverrideParameter": { //覆盖参数;用于灵活覆盖转码模板中的部分参数 "SubtitleTemplate": { //字幕压制配置 "Path": "https://test-1234567.cos.ap-nanjing.myqcloud.com/mps_autotest/subtitle/1.vtt", //字幕文件路径 "StreamIndex": 2, "FontType": "simkai.ttf", "FontSize": "10px", "FontColor": "0xFFFFFF", "FontAlpha": 0.9 } } } ] }, "InputInfo": { //输入视频信息 "Type": "URL", "UrlInputInfo": { "Url": "https://test-1234567.cos.ap-nanjing.myqcloud.com/mps_autotest/subtitle/123.mkv" } }, "OutputStorage": { //输出存储桶 "Type": "COS", "CosOutputStorage": { "Bucket": "test-1234567", "Region": "ap-nanjing" } }, "OutputDir": "/mps_autotest/output2/", //输出路径 "Action": "ProcessMedia", "Version": "2019-06-12"}
24、音视频增强
在转码时,你可以选择是否使用音视频增强能力,详细接入说明参考 音视频增强接入。
使用 API 时,你可以在 创建转码模板 时通过配置 EnhanceConfig 参数来开启增强能力:
示例 JSON 如下:
{ "Container": "mp4", "Name": "test", "VideoTemplate": { //视频转码参数配置 "Codec": "h264", "Fps": 50, "Bitrate": 5000, "Width": 0, "Height": 0, "Gop": 0 }, "AudioTemplate": { //音频转码参数配置 "Codec": "aac", "Bitrate": 60 }, "EnhanceConfig": { //增强参数配置 "VideoEnhance": { //视频增强配置 "FrameRate": { //插帧 "Switch": "ON", "Fps": 50 }, "SuperResolution": { //超分 "Switch": "ON", "Type": "lq" } }, "AudioEnhance": { //音频增强配置 "Denoise": { //音频去噪 "Switch": "ON" } } }}
25、按需处理方案
在提供高质量的转码能力的同时,腾讯云音视频还提供“质检+转码&增强”的按需处理方案。针对以成本优化为目标的使用场景,执行转码处理前,可以对视频源进行一次质检处理。再根据质检结果,选择针对性的转码模板。使用按需处理方案可参考 多功能组合使用(编排)文档。
27、如何获取更高的压缩率?
除了设置常规的编码参数如码率、crf 以外,推荐使用极速高清中极致压缩模板(包含各类场景的预设模板),体验压缩更高、画质更优的效果。
28、如何提升画质达到最佳效果?
若有进一步画面质量的要求,推荐使用音视频增强功能,能够大幅提升画质,并支持综合增强、人脸增强、去毛刺、色彩增强、超分、智能插帧、大模型等多种功能。详细接入说明参考 音视频增强接入。
29、是否支持其他平台对象存储作为转码输出文件的保存路径?
支持,可以通过StdExtInfo扩展参数配置其他平台对象存储路径,具体请参考上文 附录:转码相关 API 扩展参数。
30、是否支持外挂字幕?
使用视频自适应码流,支持通过 AddOnSubtitles 字段指定外部字幕文件,生成带字幕的多码率 HLS。
为避免乱码风险,当前仅支持 UTF-8 编码的字幕文件,支持的格式包括:SRT、WebVTT、ASS、SSA。
ProcessMedia 示例 JSON:
{ "InputInfo": { //输入视频信息 "Type": "COS", "CosInputInfo": { "Bucket": "test-1234567", "Region": "ap-guangzhou", "Object": "/test/subtitleinput/test.mp4" } }, "OutputStorage": { //输出存储桶 "Type": "COS", "CosOutputStorage": { "Bucket": "cg-1308104797", "Region": "ap-guangzhou" } }, "OutputDir": "/yunaMPStest/abroutput/", ////输出路径 "MediaProcessTask": { "AdaptiveDynamicStreamingTaskSet": [ //自适应码流任务配置 { "Definition": 1414064, //自适应码流模板ID "AddOnSubtitles": [ //外挂字幕配置 { "Type": "subtitle-stream", "Subtitle": { "Type": "COS", "CosInputInfo": { "Bucket": "test-1234567", "Region": "ap-guangzhou", "Object": "/test/subtitleinput/chs.srt" } }, "SubtitleName": "chs" }, { "Type": "subtitle-stream", "Subtitle": { "Type": "COS", "CosInputInfo": { "Bucket": "test-1234567", "Region": "ap-guangzhou", "Object": "/test/subtitleinput/cht.srt" } }, "SubtitleName": "cht" }, { "Type": "subtitle-stream", "Subtitle": { "Type": "COS", "CosInputInfo": { "Bucket": "test-1234567", "Region": "ap-guangzhou", "Object": "/test/subtitleinput/eng.srt" } }, "SubtitleName": "eng" } ] } ] }}
31、多音轨或多视频轨输入源,如何转 HLS 生成分开的音视频流,实现播放时可以切换不同轨道?
场景:
当原始视频包含多个音轨(如双语配音等)或视频轨(如输入为 ABR HLS 流等),你可以通过以下配置转自适应码流,实现播放时不同音轨或视频轨的切换。
解决方案:
在创建视频自适应码流模板并选择输出 HLS 格式时,在「分片格式」配置项中启用“TS+Packed Audio”或“MP4+Packed Audio”模式,将分别输出独立视频 TS 文件 + 独立裸音频文件或独立视频 MP4 文件 + 独立裸音频文件,从而实现在播放端切换不同音轨或视频轨。
输出文件列表如下:
播放器切换不同音频轨:
32、什么是倍速转码,是否支持倍速转码?
倍速转码是指将视频进行分片,并行分布式转码,从而显著提升视频转码速度,特别适用于处理中长视频。媒体处理支持倍速转码功能,最高倍速可达30+。若需使用该功能,请联系我们。
33、计费说明
腾讯云媒体处理(MPS)音视频转码服务采用按输出文件时长计费模式,支持普通转码、转封装、极速高清转码、纯音频转码、闲时转码等多种处理类型。各类型计费规则的完整说明可参考 音视频转码计费 文档。