通過閱讀本文,您可以了解在錄制配置之后,選擇是否按需錄制。

目前,按需錄制包括兩種方式:

  • 通過推流參數(shù)(暫不支持)

  • 通過HTTP回調(diào)

    HTTP回調(diào)指用戶指定一個回調(diào)地址,并設(shè)置一個domain、app或stream級別的錄制為按需錄制。當錄制服務(wù)收到匹配domain、app或stream名稱的流時向用戶的回調(diào)地址發(fā)送請求(請求包含5個參數(shù)),來詢問用戶是否需要錄制這路流。

說明 按需錄制設(shè)置方法,請參見按需錄制方式

請求參數(shù)

參數(shù)類型描述
domainString主播流域名。
appString播流所屬應(yīng)用名稱。
streamString播流名稱。
codecString編碼方式。取值:
  • h264
  • h265
vbitrateString視頻碼率。單位:kbps。

返回參數(shù)

參數(shù)類型是否必選描述
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
返回參數(shù)
{
    "ApiVersion" : "1.0",
    "NeedRecord" : true,
    "Interval" : {
        "Mp4": 300,
        "Flv": 120,
        "M3U8": 180
    },
    "Format" : ["mp4","flv"]
}

返回參數(shù)處理

錄制服務(wù)會對用戶返回的參數(shù)配置和既有配置進行覆蓋。例如,顯示指定了Interval,那么錄制服務(wù)會覆蓋數(shù)據(jù)庫中的錄制配里面的Interval,F(xiàn)ormat會和數(shù)據(jù)庫中的配置取交集。如果用戶指定的格式全不在既有配置之中,則不會錄制這路直播流。
說明
  • 所有非200 http status code,都會被認為是調(diào)用用戶接口失敗。

  • 對于范圍body長度有限制,超過2048會被截斷,以防惡意攻擊。

注意事項

  • 視頻直播支持觸發(fā)拉流,當使用觸發(fā)拉流域名對應(yīng)的播放地址進行播放時,會自動觸發(fā)阿里云視頻直播服務(wù)進行拉流直播,無人播放時則不會回源站進行拉流。自動錄制、按需錄制、手動錄制功能應(yīng)用在觸發(fā)拉流場景時,如果觸發(fā)拉流無人播放,則不會回源站拉流,自動錄制、按需錄制、手動錄制同樣也不會進行錄制。