通过阅读本文,您可以了解在录制配置之后,选择是否按需录制。

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

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

  • 通过HTTP回调

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

请求参数

参数 类型 描述
domain String 播流域名。
app String 播流所属应用名称。
stream String 播流名称。
codec String 编码方式。取值:
  • h264
  • h265
vbitrate String 视频码率。单位:Kbps。

返回参数

参数 类型 是否必选 描述
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会被截断,以防恶意攻击。