
# 直播转码
视频直播支持直播转码功能，支持将推送的直播流转码成多种分辨率和码率规格的视频流，以满足不同网络环境的用户观看需求。
图1直播转码架构图   
![](https://support.huaweicloud.com/iLive-live/zh-cn_image_0197019669.png)
#### 功能介绍
转码功能可以帮助您处理如下问题：
- 适配不同播放终端：您可以将原始音视频转码为更适应于各终端播放的格式。
- 适配不同网络环境：您可以根据不同的网络带宽设置转码输出的码率，以适应不同的网络播放环境。
- 降低分发成本：支持压缩率更高的H.265编码格式，您也可以在转码时开启高清低码功能，在分辨率不变的情况下，码率下降20%左右，从而降低直播流的分发成本。
- 自定义转码模板：支持自定义配置模板ID、分辨率、码率和帧率。
#### 注意事项
- 一个域名可以配置多个转码模板，当收到转码流请求时，与请求地址中的AppName一致的转码模板生效，开始进行转码，若不需要转码，请在直播推流前[删除转码模板]。
- 直播流的转码规则生效配置为直播流启动时的配置内容，若修改了转码配置，则正在直播的在线直播流不会生效，仅对修改配置后新推送的直播流生效。
- 转码模板中的高清低码默认是关闭的，若您开启，直播转码将按高清低码标准计费，价格详情请参见[Live产品价格详情](https://www.huaweicloud.com/pricing/calculator.html#/live)。
- 暂不支持上采样转码，若转码模板中设置的分辨率高于推流分辨率，对应分辨率的播放地址可以成功播放，但播放视频的分辨率为原始分辨率。
- 配置转码模板后，可在对应的直播流后面加上"_转码模板名称"以生成转码流地址。所以推流流名本身不能包含已配置的转码模板后缀，如果转码模板名为"hd"，则原始推流不能包含"_hd"的后缀，否则播放时程序无法正确判断是否需要触发转码，导致拉流异常。
- 若您的转码业务量级较大，或者您的直播业务有分辨率达到4K的使用场景，为保证华为云能够合理评估资源量并满足您的业务诉求，建议您[提交工单](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)咨询更多详情。
- 直播转码暂不支持字幕流。
 
#### 前提条件
- 已[添加推流域名](https://support.huaweicloud.com/iLive-live/live010002.html)。
- 已在域名DNS服务商处完成[CNAME解析配置](https://support.huaweicloud.com/iLive-live/live010010.html)。
 
#### 费用说明
直播转码功能为计费项，按实际使用的编码标准、转码分辨率和转码时长收取费用。其中，标准转码和高清低码转码产生的费用不同，具体的计费转码分辨率请以[Live产品价格详情](https://www.huaweicloud.com/pricing/calculator.html#/live)中的**转码输出分辨率** 为准。若您比较常使用直播转码功能，建议您优先选择[购买直播套餐包](https://console.huaweicloud.com/unibuy/#/buy/cloudService/live)。
 #### 新增转码模板
支持通过直播控制台或[直播API](https://support.huaweicloud.com/api-live/live_03_0006.html)配置自定义转码模板。配置后，您若需要播放转码直播流，请先获取转码播放地址，具体请参见[转码播放地址](https://support.huaweicloud.com/iLive-live/live010008.html#live010008__section392313195)。
1. 登录[视频直播控制台](https://console.huaweicloud.com/live2/#/live/home)。
2. 在左侧导航栏中，选择"域名管理"，进入域名管理页面。
3. 在需要配置转码模板的推流域名行，单击"管理"。
4. 选择"转码配置"页签，您可以查看目前推流域名下的转码模板信息。
5. 单击"新建转码"，界面右侧弹出如[图2]所示的"新建转码"页面。
   
   配置转码参数，参数说明如[表1]。
   图2新建转码   
   ![](https://support.huaweicloud.com/iLive-live/zh-cn_image_0169134415.png)
    表1转码模板参数说明 
   | 参数名       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   |:---|:---|
   | 模板名称      | 直播转码模板名称，不支持中文名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 应用名       | 应用名称，默认为"live"。 可以根据实际需求进行自定义，支持大小写字母、数字、下划线（_）中划线（-）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 触发方式      | 直播转码包含推流触发和拉流触发2种方式，一个应用名下最多支持添加20个转码模板。 - 推流触发：有主播推流时会直接触发转码任务，并产生相应的转码费用。如果一个应用名下配置多个转码模板，每一路模板均会生成对应的转码流，并产生相应的转码费用，与是否有拉流无关。  - 拉流触发：当观众播放直播流时，仅触发的拉流对应的转码模板会生成转码流，并产生相应的转码费用。   注意：转码模板通过名称区分，不同名称代表不同的转码模板，不同的转码模板可以使用相同的参数配置。 默认值：拉流触发。如果查询到的值为空，则为推流触发。 注意： - 一个应用名下的转码模板触发方式仅支持一种。如果存在多个转码模板，请谨慎修改转码模板的"触发方式"。因为修改其中一个模板的"触发方式"时，如从"推流触发"修改为"拉流触发"，则该应用名下的所有转码模板均会同步变更为"拉流触发"。  - 若设置多个转码模板，则转码费用是每个转码模板输出规格费用的总和。   |
   | 转码类型      | 直播转码类型。 包含如下选项： - 标准转码  - 高清低码   高清低码相比标准转码在分辨率不变的情况下，码率降低20%左右，费用也更高。 高清低码是指画质不变的情况下，码率更低。开启后，将按高清低码标准计费。价格详情请参见[Live产品价格详情](https://www.huaweicloud.com/pricing/calculator.html#/live)。                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 视频编码      | 支持标准视频编码格式**H.264** 和**H.265**。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 预设参数（可选）  | 屏幕分辨率。 选择对应的分辨率后，会自动填充"视频码率"和"分辨率（宽\*高）"参数，给出推荐值。用户也可以根据实际情况，自定义修改。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 视频码率      | 转码视频的平均码率。单位：Kbps。 **取值范围**：40-30000。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 码率控制      | 码率控制策略。 包含如下选项： - 关闭：关闭码率自适应，目标码率按设定的码率输出。  - 不高于源流：目标码率按设定码率和源文件码率最小值输出（即码率不上扬）。  - 自适应源流：目标码率按源文件码率自适应输出。                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 分辨率（宽\*高） | 视频的宽度和高度。单位为像素。 若宽和高都设置为0，输出的分辨率和源保持一致；若宽和高只有一个为0时，输出的分辨率按非0项的比例进行缩放。 **取值范围**： - 宽度：0、32-3840，设置的数值必须为2的倍数或为0。  - 高度：0、32-2160，设置的数值必须为2的倍数或为0。                                                                                                                                                                                                                                                                                                                                                                   |
   | 视频帧率      | 转码视频的帧率。 包含如下选项： - 保持原始帧率  - 设置帧率：选择此项，需要同步输入帧率值。取值范围\[0,60\]，若设置的数值为0，则表示自适应。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | I帧随源      | 编码输出I帧策略。 - 如果关闭，那么I帧按设置的GOP时长输出。  - 如果开启，那么编码输出的I帧完全和源保持一致，即源是I帧则编码输出I帧，源不是I帧则编码非I帧。   如果开启，那么GOP时长设置无效。多码率场景下建议开启I帧随源，保障多码率I帧对齐。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | GOP时长     | 按时间设置I帧间隔。单位：秒。 **取值范围**：\[0,10\]，默认值：2。 如果GOP时长不为0，则以GOP时长设置I帧间隔；GOP时长为0时，使用默认值。 GOP时长越大，直播的延迟就越大；GOP时长越小，越可能导致卡顿。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 去B帧       | 开启后转码输出的视频编码不含B帧。 低时延直播如果要配置转码模板，需开启去B帧。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
      
   
   
6. 配置完转码模板参数后，单击"确定"。 
   直播转码界面新增一行转码模板。
   
   
7. 配置转码模板后，若您需要使用转码播放地址进行视频的播放，请参考[转码播放地址](https://support.huaweicloud.com/iLive-live/live010008.html#live010008__section392313195)获取转码播放地址。
 
 #### 管理转码
转码模板配置完成后，您还可以根据实际需要进行如下操作。
- 修改转码模板 转码模板创建完成后，若您需要修改部分参数，可以通过单击操作列的"修改"，修改转码模板中的相关参数。其中，AppName不支持修改。
  ![](https://support.huaweicloud.com/iLive-live/public_sys-resources/caution_3.0-zh-cn.png)
  直播流的转码规则生效配置为直播流启动时的配置内容，若修改了转码配置，则正在直播的在线直播流不会生效，仅对修改配置后新推送的直播流生效。
  
- 删除转码模板 转码模板创建完成后，若您需要删除转码模板，可以通过单击操作列的"删除"，删除该转码模板。
  
 
