转码

实时媒体处理转码服务包含普通转码、窄带高清、纯音频转码和原画转码功能。帮助您实现高效、稳定的媒体转码,以适应不同终端设备的需求。通过阅读本文,您可以了解各转码类型的详情及使用方法。

转码功能说明

功能说明

实时转码可以实时的将原始直播流转换为不同编码格式、分辨率和码率的视频流进行分发,满足不同场景下终端用户的播放需求。实时媒体处理转码功能主要特性如下所示:

  • 支持普通转码、窄带高清转码、音频转码和原画转码多种类型。

  • 支持第三方完整的播流地址进行输入。

  • 转码任务启动方式支持立即启动和定时启动两种方式:

    启动方式

    描述

    立即启动

    任务创建后立即开始转码,建议您提前做好推流准备,确保输入的第三方流可以正常拉流。

    定时启动

    任务创建后在指定的时间开始转码,建议您在指定时间前几分钟做好推流准备。如果在指定的时间推流未开始,导致任务未启动,您可以在任务列表修改定时启动时间。

使用限制

  • 单一转码任务只支持一路转码规格进行转码,单账号并发转码任务最多支持10路,如果您有其他需求,请联系您的阿里云客户经理。

  • 转码任务输入的直播流当前只支持RTMP协议。

  • 输出流地址当前只支持基于阿里云视频直播创建的播流域名,单个域名默认最多支持50路并发推流。

    重要

    您需要在视频直播中添加指定区域的播流域名,转码任务处理的转码流会转推到基于该域名生成的转码流地址中,用于转码流的分发。关于如何在视频直播中添加域名,请参见添加加速域名

创建转码模板

通过控制台创建

  1. 登录智能媒体服务控制台

  2. 在顶部左上角根据实际情况选择地域。

  3. 在左侧导航栏选择实时媒体处理 > 模板管理

  4. 转码页签下根据实际需求创建对应模板。

    • 创建普通转码模板

      image

      参数

      描述

      模板名称

      输入普通转码模板名称。

      分辨率

      • 预设分辨率:选择系统预设分辨率。

      • 自定义分辨率:宽、高取值范围:[128,2560],单位:px。

      码率

      输入码率,取值范围:[1,6000],单位:Kbps。

      请根据视频宽高比估算视频码率,视频的码率会尽量接近设定值,但实际码率不能保证和设定值完全一致,尤其当设定的码率过大或过小时。

      帧率

      输入帧率,取值范围:[1,60],单位:fps。

      GOP值

      输入GOP值,取值范围:[1,3000],单位:帧。

      GOP越大,延时越高;GOP越小,可能会导致卡顿。

      编码格式

      选择编码格式为H.264H.265

    • 创建窄带高清转码模板

      image

      参数

      描述

      模板名称

      输入窄带高清转码模板名称。

      分辨率

      • 预设分辨率:选择系统预设分辨率。

      • 自定义分辨率:宽、高取值范围:[128,2560],单位:px。

      码率

      输入码率,取值范围:[1,6000],单位:Kbps。

      请根据视频宽高比估算视频码率,视频的码率会尽量接近设定值,但实际码率不能保证和设定值完全一致,尤其当设定的码率过大或过小时。

      帧率

      输入帧率,取值范围:[1,60],单位:fps。

      GOP值

      输入GOP值,取值范围:[1,3000],单位:帧。

      GOP越大,延时越高;GOP越小,可能会导致卡顿。

      编码格式

      选择编码格式为H.264H.265

    • 创建音频转码模板

      image

      参数

      描述

      模板名称

      输入音频转码模板名称。

      码率

      • 保持原始码率:保持音频原始码率。

      • 自定义码率:取值范围:[1,1000],单位:Kbps。

    • 创建原画转码模板

      image

      参数

      描述

      模板名称

      输入原画转码模板名称。

      码率

      选择编码格式为H.264H.265

通过OpenAPI创建

调用接口CreateLiveTranscodeTemplate,根据实际需求设置参数Type的值,创建用户自定义模板。

创建转码任务

通过控制台创建

  1. 登录智能媒体服务控制台

  2. 在顶部左上角根据实际情况选择地域。

  3. 在左侧导航栏选择实时媒体处理 > 任务管理

  4. 转码页签下创建实时媒体转码任务。

    image

    参数

    描述

    任务名称

    输入转码任务名称。

    选择模板

    选择转码类型为普通转码窄带高清转码音频转码原画转码,并选择相应的模板。

    直播流

    输入正确有效的直播流URL。当前只支持RTMP协议。

    输出流地址

    选择输出流地址。当前只支持基于阿里云视频直播创建的播流域名,单个域名默认最多支持50路并发推流。

    启动方式

    • 立即启动:任务创建后立即开始转码,建议您提前做好推流准备,确保输入的第三方流可以正常拉流。

    • 定时启动:任务创建后在指定的时间开始转码,建议您在指定时间前几分钟做好推流准备。如果在指定的时间推流未开始,导致任务未启动,您可以在任务列表修改定时启动时间。

通过OpenAPI创建

调用接口SubmitLiveTranscodeJob提交实时媒体转码任务

获取输出流地址

当转码任务执行完成后,您可以通过查询转码任务获取输出流地址,此输出流地址可以直接用于播放。

通过控制台获取

  1. 登录智能媒体服务控制台

  2. 在顶部左上角根据实际情况选择地域。

  3. 在左侧导航栏选择实时媒体处理 > 任务管理

  4. 转码页签下单击转码任务列表操作列的查看,查询转码任务详情。

    任务详情中转码的输出流地址格式为rtmp://{DOMAIN}/{APP}/{STREAM}?auth_key={鉴权串},各字段如下所示:

    字段

    描述

    rtmp

    转码协议,目前仅支持RTMP协议。

    DOMAIN

    提交转码任务时输入的阿里云视频直播的播流域名。

    APP

    应用名称,固定为ims-transcode

    STREAM

    直播流,由实时媒体服务系统生成。

    auth_key

    鉴权密钥。

    鉴权串

    视频直播的播流域名默认开启URL鉴权,鉴权串生成规则请参见鉴权URL组成

通过OpenAPI获取

调用GetLiveTranscodeJob根据转码任务ID查询转码任务并获取输出流地址。

查询转码任务用量

  1. 登录智能媒体服务控制台

  2. 在左侧导航栏选择数据中心 > 用量查询

  3. 实时任务用量页签下转码区域查询或明细导出任务的时长用量。

    说明

    为了保证数据安全,导出的下载链接有效期为30分钟。如果超时,请重新刷新页面。

API参考

实时媒体转码相关接口