更新时间:2024-12-25 GMT+08:00

修改频道入流信息

功能介绍

修改频道入流信息。

URI

PUT /v1/{project_id}/ott/channels/input

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方法请参考获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token,使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

Access-Control-Allow-Internal

String

服务鉴权Token,服务开启鉴权,必须携带Access-Control-Allow-Internal访问服务。

Access-Control-Allow-External

String

服务鉴权Token,服务开启鉴权,必须携带Access-Control-Allow-External访问服务。

表3 请求Body参数

参数

是否必选

参数类型

描述

domain

String

频道推流域名

app_name

String

组名或应用名

id

String

频道ID。频道唯一标识,为必填项

input

InputStreamInfo object

频道出流信息

表4 InputStreamInfo

参数

是否必选

参数类型

描述

input_protocol

String

频道入流协议

  • FLV_PULL

  • RTMP_PUSH

  • HLS_PULL

  • SRT_PULL

  • SRT_PUSH

sources

Array of SourcesInfo objects

频道主源流信息。入流协议为RTMP_PUSH和SRT_PUSH时,非必填项。其他情况下,均为必填项。

secondary_sources

Array of SecondarySourcesInfo objects

备入流数组,非必填项。如果有备入流,则主备入流必须保证路数、codec和分辨率均一致。入流协议为RTMP_PUSH时,无需填写。

failover_conditions

FailoverConditions object

非必填,频道供应商提供的主备音视频流URL切换的配置。

max_bandwidth_limit

Integer

当入流协议为HLS_PULL时,需要配置的最大带宽。

用户提供的拉流URL中,针对不同码率的音视频,均会携带带宽参数“BANDWIDTH”。

  • 如果这里配置最大带宽,媒体直播服务从URL拉流时,会选择小于最大带宽且码率最大的音视频流,推流到源站。

  • 如果这里未配置最大带宽,媒体直播服务从URL拉流时,会默认选择“BANDWIDTH”最高的音视频流,推流到源站。

ip_port_mode

Boolean

当推流协议为SRT_PUSH时,如果配置了直推源站,编码器不支持输入streamid,需要打开设置为true

ip_whitelist

String

SRT_PUSH类型时,客户push ip白名单

scte35_source

String

广告的scte35信号源。

仅HLS_PULL类型的频道支持此配置,且目前仅支持SEGMENTS。

ad_triggers

Array of strings

广告触发器配置。

包含如下取值:

  • Splice insert:拼接插入

  • Provider advertisement:提供商广告

  • Distributor advertisement:分销商广告

  • Provider placement opportunity:提供商置放机会

  • Distributor placement opportunity:分销商置放机会

audio_selectors

Array of InputAudioSelector objects

设置音频选择器,最多设置8个音频选择器

表5 SourcesInfo

参数

是否必选

参数类型

描述

url

String

频道源流URL,用于外部拉流

bitrate

Integer

码率。无需直播转码时,此参数为必填项

单位:bps。取值范围:(0,104,857,600](100Mbps)

width

Integer

分辨率对应宽的值,非必填项

取值范围:0 - 4096(4K)

height

Integer

分辨率对应高的值,非必填项

取值范围:0 - 2160(4K)

enable_snapshot

Boolean

描述是否使用该流做截图

bitrate_for3u8

Boolean

是否使用bitrate来固定码率。默认值:false

passphrase

String

协议为SRT_PUSH时的加密信息

backup_urls

Array of strings

备入流地址列表

stream_id

String

频道为SRT_PULL类型时,拉流地址的Stream ID。

latency

Integer

频道为SRT_PULL类型时的拉流时延。

表6 SecondarySourcesInfo

参数

是否必选

参数类型

描述

url

String

频道源流URL,用于外部拉流

bitrate

Integer

码率。无需直播转码时,此参数为必填项

单位:bps。取值范围:(0,104,857,600](100Mbps)

width

Integer

分辨率对应宽的值,非必填项

取值范围:0 - 4096(4K)

height

Integer

分辨率对应高的值,非必填项

取值范围:0 - 2160(4K)

bitrate_for3u8

Boolean

是否使用bitrate来固定码率。默认值:false

passphrase

String

协议为SRT_PUSH时的加密信息

backup_urls

Array of strings

备入流地址列表

stream_id

String

频道为SRT_PULL类型时,拉流地址的Stream ID。

latency

Integer

频道为SRT_PULL类型时的拉流时延。

表7 FailoverConditions

参数

是否必选

参数类型

描述

input_loss_threshold_msec

Integer

入流停止的时长阈值。到达此阈值后,自动触发主备切换。

单位:毫秒,取值范围:0 - 3600000。

非必填,默认填2000ms。

input_preference

String

以主入流URL为第一优先级(PRIMARY)或主备URL平等切换(EQUAL)。

如果是平等切换时,使用的是备URL,不会自动切换至主URL。

非必填,默认值为EQUAL。

表8 InputAudioSelector

参数

是否必选

参数类型

描述

name

String

音频选择器的名称。仅支持大小写字母、数字、中划线和下划线。

同一个频道中每个选择器的名称需要唯一。

selector_settings

AudioSelectorSettings object

设置音频选择器

表9 AudioSelectorSettings

参数

是否必选

参数类型

描述

audio_language_selection

AudioSelectorLangSelection object

设置语言选择器

audio_pid_selection

AudioSelectorPidSelection object

设置PID选择器

audio_hls_selection

AudioSelectorHlsSelection object

设置Hls选择器

表10 AudioSelectorLangSelection

参数

是否必选

参数类型

描述

language_code

String

语言简称,输入2或3个小写字母的语言代码。

language_selection_policy

String

语言输出策略。

取值如下:

  • LOOSE:宽松匹配,示例“eng”会优先匹配源流中语言为English的音轨,如果匹配不到,则选择PID最小的音轨。

  • STRICT:严格匹配,示例“eng”会严格匹配源流中语言为English的音轨,如果匹配不到,媒体直播服务会自动补齐一个静音分片,当终端使用此音频选择器播放视频时,会静音播放。

表11 AudioSelectorPidSelection

参数

是否必选

参数类型

描述

pid

Integer

设置PID的值

表12 AudioSelectorHlsSelection

参数

是否必选

参数类型

描述

name

String

hls音频选择器名

group_id

String

hls音频选择器gid

响应参数

状态码: 200

表13 响应Body参数

参数

参数类型

描述

result_code

String

错误码

result_msg

String

错误描述

domain

String

推流域名

app_name

String

组名或应用名,为必填项

id

String

频道ID。频道唯一标识,为必填项

sources

Array of SourceRsp objects

推流URL列表。创建频道时,只有入流协议为RTMP_PUSH时,会返回推流URL列表

表14 SourceRsp

参数

参数类型

描述

url

String

RTMP推流地址

bitrate

Integer

码率。

单位:bps。取值范围:(0,104,857,600](100Mbps)

width

Integer

分辨率对应宽的值。取值范围:0 - 4096(4K)

height

Integer

分辨率对应高的值。取值范围:0 - 2160(4K)

enable_snapshot

Boolean

描述是否使用该流做截图

状态码: 400

表15 响应Body参数

参数

参数类型

描述

result_code

String

错误码

result_msg

String

错误描述

domain

String

推流域名

app_name

String

组名或应用名,为必填项

id

String

频道ID。频道唯一标识,为必填项

请求示例

PUT https://{endpoint}/v1/{project_id}/ott/channels/input

{
  "domain" : "push.testott.hls.com",
  "app_name" : "ott",
  "id" : "test",
  "input" : {
    "input_protocol" : "RTMP_PUSH",
    "sources" : [ {
      "width" : 100,
      "bitrate_for3u8" : false,
      "enable_snapshot" : false,
      "bitrate" : 1024,
      "passphrase" : "",
      "url" : "rtmp://192.168.8.158/ott/adtestdrm?vhost=pull.testott.hls.com",
      "height" : 100
    } ]
  }
}

响应示例

状态码: 200

Demo Information

{
  "result_code" : "LIVE.100000000",
  "result_msg" : "SUCCESS",
  "domain" : "push.testott.hls.com",
  "app_name" : "ott",
  "id" : "test"
}

状态码: 400

Error response

{
  "result_code" : "LIVE.103011019",
  "result_msg" : "The resource to access is not exists",
  "domain" : "push.testott.hls.com",
  "app_name" : "test",
  "id" : "test-abc"
}

状态码

状态码

描述

200

Demo Information

400

Error response

错误码

请参见错误码