通過閱讀本文,您可以了解在錄制配置之后,選擇是否按需錄制。
目前,按需錄制包括兩種方式:
通過推流參數(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ù) | 類型 | 描述 |
---|---|---|
domain | String | 主播流域名。 |
app | String | 播流所屬應(yīng)用名稱。 |
stream | String | 播流名稱。 |
codec | String | 編碼方式。取值:
|
vbitrate | String | 視頻碼率。單位:kbps。 |
返回參數(shù)
參數(shù) | 類型 | 是否必選 | 描述 |
---|---|---|---|
ApiVersion | String | 否 | API版本。默認為1.0版本。 |
NeedRecord | Bool | 是 | 是否需要錄制。 |
Interval | JSONObject | 否 | 具體格式的錄制周期變化。取值范圍:5~21600。單位:秒。 |
Format | JSONArray | 否 | 錄制格式。支持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ā)拉流無人播放,則不會回源站拉流,自動錄制、按需錄制、手動錄制同樣也不會進行錄制。