直播转码可以解决推流端码率较高或较低而导致播放效果不好等问题。通过阅读本文,您可以快速了解直播转码的使用场景、使用限制、转码功能、模板参数、转码规则和宽度自适应等功能。

使用场景

  • 当推流端码率较高而客户端带宽资源有限会导致视频播放卡顿;当推流端码率较低时会导致视频播放效果不好。使用直播转码服务可以快速帮您解决这些问题。
  • 播放器插件需要实现多码率切换。前端播放器插件设置码率切换,需要同一路推流同时提供多种码率的播流地址。视频直播的实时转码功能能为同一路推流同时提供多种码率的播流地址服务。

使用限制

  • 根据域名+AppName进行转码模版设置时,同一个模版里转码模板类型不能同时配置标准模板窄带高清TM模板
  • 每个域名下最多支持10路转码并发流,也就是一个域名下最多同时10路转码流输出,如果一路HD高清分辨率直播流输入,同时转码成SD(标清)和LD(流畅)分辨率进行输出播放,算2路转码流。
  • 当提供的直播服务不能满足您当前业务需求时,请您提交工单与我们联系并详述您的需求,或联系您的客服经理。
说明 海外地域暂时不支持H.265转码,如有需求,请您提交工单与我们联系。

模板参数

转码模版支持通用模版、自定义模版、RTS转码模板和多码率转码模板(部分直播中心)。

通用模版中的模版为系统预设模版包括转码模版的ID和转码输出分辨率。转码输出的码率都是系统预设置不支持修改。如果通用模版不能满足您的要求,您可以使用自定义模版或RTS转码模板,自定义转码模版支持编码格式、分辨率、码率、帧率、视频GOP、触发转码、转码模版ID的设置。

通用转码和自定义转码分别提供标准模板和窄带高清TM模板。RTS转码在标准模板和窄带高清TM模板基础上提供RTS低延迟播放SDK所需的B帧和OPUS参数设置。

  • 通用转码
    窄带高清 TM模板
    模板名称 模板ID 分辨率(高、宽自适应) 码率(Kbps)
    流畅 ld 360 ≤420
    标清 sd 432 ≤580
    高清 hd 648 ≤1100
    超清 ud 1080 ≤1900
  • 自定义转码

    自定义转码的模板参数由用户自行定义。

    说明 自定义转码中窄带高清TM模板暂不支持选择H.265编码格式,如果您需要,请您提交工单联系我们。
  • RTS转码

    RTS转码的模板参数由用户自行定义。

  • 多码率转码

    多码率转码的模板参数由用户自行定义。仅支持新加坡、日本、印尼直播中心的播流域名。

转码功能介绍

  • 转码配置

    转码配置可以使用以下两种配置方式:

    • 控制台配置:

      具体操作,请参见通用转码自定义转码RTS转码多码率转码

    • API和SDK配置:
      API和SDK提供以下接口供用户使用: Java SDK添加转码配置的代码示例如下:
          IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou","<AccessKeyId>", "<AccessKeyScret>");
          IAcsClient client = new DefaultAcsClient(profile);
          AddLiveStreamTranscodeRequest addLiveStreamTranscodeRequest = new AddLiveStreamTranscodeRequest();
          addLiveStreamTranscodeRequest.setDomain("<DomainName>");
          addLiveStreamTranscodeRequest.setApp("<AppName>");
          addLiveStreamTranscodeRequest.setTemplate("hd");
          addLiveStreamTranscodeRequest.setSnapshot("no");
          addLiveStreamTranscodeRequest.setRecord("no");
          try {
              AddLiveStreamTranscodeResponse addLiveStreamTranscodeResponse = client.getAcsResponse(addLiveStreamTranscodeRequest);
              System.out.println(addLiveStreamTranscodeResponse.getRequestId());
              // todo something.
          } catch (ServerException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          } catch (ClientException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          }           
    说明 如果更改转码配置,需要进行重新推流后配置才可生效。
  • 转码使用

    转码配置重新推流后提供多种码率的多条直播地址。您可以登录视频直播控制台,选择直播管理 > 流管理,在对应的推流记录中查看直播地址。其中原画(Original)即原始码率地址,自定义转码即直播转码后的地址,您可在播流地址上单击复制获取直播地址或单击播放直接播放。如果您需要在业务端代码中使用该地址,可直接在原始码率的StreamName后添加转码流。

    地址

转码规则

  • 视频直播支持延时转码,系统监测到某一路直播流无人观看时,不会执行转码。检测到有人观看后启动转码,转码过程中5分钟内检测到无人观看即会停止转码。
  • 每一路流仅执行一次转码。
  • 转码不是必须服务,可按需配置。
  • 转码目前支持FLV、RTMP、HLS、RTS格式。

宽度自适应

转码采用宽度自适应的算法,根据转码后视频的高度自适应转码后视频的宽度。 高度自适应