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

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

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

  • 通过HTTP回调

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

说明 按需录制设置方法,请参见按需录制方式

请求参数

参数类型描述
domainString主播流域名。
appString播流所属应用名称。
streamString播流名称。
codecString编码方式。取值:
  • h264
  • h265
vbitrateString视频码率。单位:kbps。

返回参数

参数类型是否必选描述
ApiVersionString

API版本。默认为1.0版本。

NeedRecordBool是否需要录制。
IntervalJSONObject具体格式的录制周期变化。取值范围:5~21600。单位:秒。
FormatJSONArray录制格式。支持MP4、FLV、M3U8。

示例

请求示例
GET /?app=seq_all&domain=demo.aliyundoc.com&stream=ondemand8&vbitrate=2000&codec=h264 HTTP/1.1
Host: example.aliyundoc.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会被截断,以防恶意攻击。

注意事项

  • 视频直播支持触发拉流,当使用触发拉流域名对应的播放地址进行播放时,会自动触发阿里云视频直播服务进行拉流直播,无人播放时则不会回源站进行拉流。自动录制、按需录制、手动录制功能应用在触发拉流场景时,如果触发拉流无人播放,则不会回源站拉流,自动录制、按需录制、手动录制同样也不会进行录制。