进行录制配置之后,您可以选择是否按需录制。

目前,按需录制包括两种方式:

  • 通过推流参数(暂不支持)

  • 通过HTTP回调

    HTTP回调指用户指定一个回调地址,并设置一个domain、app或stream级别的录制为按需录制,当录制服务收到匹配domain、app或stream名称的流时向用户的回调地址发送请求(请求包含5个参数),来询问用户是否需要录制这路流。请您继续阅读以下内容了解 HTTP回调

请求参数

参数 类型 描述
domain String 域名。
app String 应用名称。
stream String 流名称。
codec String 编码方式。
  • 取值:h264、h265。
  • 如果未传递,默认为:h264。
vbitrate String 视频码率。
  • 单位:Kbps。
  • 例如:2000表示2M码率。

返回参数

参数 类型 是否必选 描述
ApiVersion String

API版本。

默认:1.0版本。

NeedRecord Bool 是否需要录制。
Interval Json Object 具体格式的录制周期变化。
  • 取值范围:5-21600。
  • 单位:秒。
Format Array 录制格式,支持MP4、FLV、M3U8。

示例

请求示例
GET /?app=seq_all&domain=qt01.alivecdn.com&stream=ondemand8&vbitrate=2000&codec=h264 HTTP/1.1
Host: live.abc.com
User-Agent: Go-http-client/1.1
Accept-Encoding: gzip
返回参数
{
    "ApiVersion" : "1.0",
    "NeedRecord" : true,
    "Interval" : {
        "Mp4": 300,
        "Flv": 120,
        "M3U8": 180
    },
    "Format" : ["mp4","flv"]
}

返回参数处理

录制服务会对用户返回的参数配置和既有配置进行覆盖。例如,显示指定了Interval,那么录制服务会覆盖数据库中的录制配里面的Interval,Format会和数据库中的配置取交集。如果用户指定的格式全不在既有配置之中,则不会录制这路直播流。
说明
  • 所有非200 http status code,都会被认为是调用用户接口失败。

  • 对于范围body长度有限制,超过2048会被截断,以防恶意攻击。