音视频转码
转码是媒体处理中重要的一步,本文为您介绍转码的简介、阿里云支持的转码技术及如何配置转码模板和发起转码。
转码简介
什么是转码
视频转码(Video Transcoding)是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。转码本质上是一个先解码、再编码的过程,因此转换前后的码流可能遵循相同的视频编码标准,也可能不遵循相同的视频编码标准。
转码在视频生产流程中的位置如下:

前提条件
注意事项
视频点播的转码服务均为收费项,收费详情请参见视频转码定价。
同一视频每次转码都会产生转码计费,转码后会产生新的视频文件占用存储空间,请按需创建转码模板组及发起转码,避免不必要的空间浪费或费用产生。
通过控制台进行转码
步骤一:(可选)创建转码模板组
如果视频点播提供的不转码及TranscodeTemplateGroup等系统内置的转码模板组无法满足您的转码需求,您可以按实际需要自定义封装格式、清晰度等参数创建转码模板组供后续发起转码时选用。
登录视频点播控制台。
在点播控制台左侧导航栏选择配置管理 > 媒体处理配置 > 转码模板组。
在转码模板组页面,单击添加转码模板组。
创建普通转码模板组,详情请参见普通转码模板设置。
创建窄带高清1.0转码模板组,详情请参见窄带高清TM1.0。
创建窄带高清2.0转码模板组,详情请参见窄带高清TM2.0。
创建视频或字幕打包模板组,详情请参见视频或字幕打包模板设置。
步骤二:发起转码
视频点播支持在上传媒体和媒体处理环节去触发转码。您可以直接指定转码模板组发起转码,也可以将转码模板组添加到工作流中,通过指定包含媒体转码节点的工作流去发起转码。有关如何创建包含媒体转码节点的工作流,详情请参见工作流管理。
上传时自动触发转码
上传后主动发起转码
该操作常用于对已有视频的重转码、标准加密、水印参数覆盖等。
登录视频点播控制台。
在点播控制台左侧导航栏选择媒资库 > 音/视频。
在音/视频列表页面,在需要发起转码的音视频的操作列单击媒体处理。
根据需要选择用转码模板组处理或用工作流处理,并指定相应的转码模板组或工作流。
单击确定。
根据您设置的转码模板组或工作流立即对音视频进行转码处理。
步骤三:查看转码结果
发起转码后,您可以通过以下两种方式查看转码状态及转码后的视频地址等信息。您可以获取视频地址,使用阿里云播放器或其他第三方播放器播放转码后的视频。
若视频点播中未配置加速域名,则通过视频地址播放或下载视频会产生存储流出流量费用,详情请参见存储流出流量计费。
方式一:控制台查看
登录视频点播控制台。
在点播控制台左侧导航栏选择媒资库 > 音/视频。
在音/视频列表页面,查看转码音视频的状态。
状态为正常,表示转码完成并成功,其他状态的释义请参见Status:视频状态。
单击转码音视频操作列的管理,进入视频地址页签。
转码成功的音视频会生成对应清晰度的视频流,并生成对应的视频地址。
方式二:事件通知
视频点播支持HTTP回调和MNS回调两种方式的事件通知,通过提前配置事件通知,当媒体文件处理完成(如上传完成、转码完成等)后,视频点播服务会根据您配置的回调方式及时通知您。配置详情请参见事件通知。
转码相关的事件类型为单个清晰度转码完成和全部清晰度转码完成。您可以从接收到的回调结果中获取到转码任务的状态及转码后的视频地址等信息。
通过API/SDK进行转码
使用说明
如需调用API,请参见视频点播API概览。建议您使用阿里云的在线命令行工具OpenAPI Explorer进行调试,您可以在OpenAPI Explorer中直接运行视频点播的接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
如需使用SDK,请参见服务端SDK使用说明。
步骤一:(可选)创建转码模板组
如果视频点播提供的不转码(TemplateGroupId
为VOD_NO_TRANSCODE
)及TranscodeTemplateGroup等系统预制的转码模板组无法满足您的转码需求,您可以按实际需要自定义封装格式、清晰度等参数创建转码模板组供后续发起转码时选用。
调用AddTranscodeTemplateGroup - 创建转码模板组接口,通过
TranscodeTemplate
的Definition
参数指定普通转码或窄带高清转码相关的值,创建不同转码类型的转码模板组。
步骤二:发起转码
视频点播支持在上传媒体和媒体处理环节去触发转码。您可以直接指定转码模板组发起转码,也可以将转码模板组添加到工作流中,通过指定包含媒体转码节点的工作流去发起转码。有关如何创建包含媒体转码节点的工作流,详情请参见工作流管理。
上传时自动触发转码
CreateUploadVideo - 获取音视频上传地址和凭证接口仅用于获取上传地址和凭证以及创建媒资基础信息,并非上传文件,需要开发者自行实现所有上传逻辑。通过接口上传的完整示例,请参见通过视频点播API上传媒资文件。
调用CreateUploadVideo - 获取音视频上传地址和凭证或UploadMediaByURL - URL批量拉取上传接口上传音视频时,在
TemplateGroupId
参数指定转码模板组ID,或在WorkflowId
参数指定包含媒体转码节点的工作流ID,则音视频上传完成后,点播系统将根据您指定的转码模板组或工作流自动进行转码处理。
上传后主动发起转码
该操作常用于对已有视频的重转码、标准加密、水印参数覆盖等。
调用SubmitTranscodeJobs - 提交媒体转码作业接口在
TemplateGroupId
参数指定转码模板组ID,或调用SubmitWorkflowJob - 提交点播工作流作业接口在WorkflowId
参数指定包含媒体转码节点的工作流ID,手动发起转码后,则点播系统将根据您设置的转码模板组或工作流立即对音视频进行转码处理。
步骤三:查看转码结果
发起转码后,您可以通过以下两种方式查看转码状态及转码后的视频地址等信息。您可以获取视频地址,使用阿里云播放器或其他第三方播放器播放转码后的视频。
若视频点播中未配置加速域名,则通过视频地址播放或下载视频会产生存储流出流量费用,详情请参见存储流出流量计费。
方式一:调用API查询
调用SubmitTranscodeJobs - 提交媒体转码作业接口提交的转码任务会返回转码任务IDTranscodeTaskId
,您可以调用GetTranscodeTask - 查询转码任务详情接口来查询指定转码任务的执行状态及转码输出的视频地址等信息。
方式二:事件通知
视频点播支持HTTP回调和MNS回调两种方式的事件通知,通过提前配置事件通知,当媒体文件处理完成(如上传完成、转码完成等)后,视频点播服务会根据您配置的回调方式及时通知您。配置详情请参见事件通知。
转码相关的事件类型为单个清晰度转码完成和全部清晰度转码完成。您可以从接收到的回调结果中获取到转码任务的状态及转码后的视频地址等信息。