通過閱讀本文,您可以瞭解在錄製配置之後,選擇是否按需錄製。
目前,按需錄製包括兩種方式:
通過推流參數(暫不支援)
通過HTTP回調
HTTP回調指使用者指定一個回調地址,並設定一個domain、app或stream層級的錄製為按需錄製。當錄製服務收到匹配domain、app或stream名稱的流時向使用者的回調地址發送請求(請求包含5個參數),來詢問使用者是否需要錄製這路流。
說明 按需錄製設定方法,請參見按需錄製方式。
請求參數
參數 | 類型 | 描述 |
domain | String | 主播流網域名稱。 |
app | String | 播流所屬應用程式名稱。 |
stream | String | 播流名稱。 |
codec | String | 編碼方式。取值:
|
vbitrate | String | 視頻碼率。單位:kbps。 |
返回參數
參數 | 類型 | 是否必選 | 描述 |
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
返回參數
{
"ApiVersion" : "1.0",
"NeedRecord" : true,
"Interval" : {
"Mp4": 300,
"Flv": 120,
"M3U8": 180
},
"Format" : ["mp4","flv"]
}
返回參數處理
錄製服務會對使用者返回的參數配置和既有配置進行覆蓋。例如,顯示指定了Interval,那麼錄製服務會覆蓋資料庫中的錄製配裡面的Interval,Format會和資料庫中的配置取交集。如果使用者指定的格式全不在既有配置之中,則不會錄製這路直播流。
說明
所有非200 http status code,都會被認為是調用使用者介面失敗。
對於範圍body長度有限制,超過2048會被截斷,以防惡意攻擊。
注意事項
ApsaraVideo for Live支援觸發拉流,當使用觸發拉流網域名稱對應的播放地址進行播放時,會自動觸發阿里雲ApsaraVideo for Live服務進行拉流直播,無人播放時則不會回來源站點進行拉流。自動錄製、按需錄製、手動錄製功能應用在觸發拉流情境時,如果觸發拉流無人播放,則不會回來源站點拉流,自動錄製、按需錄製、手動錄製同樣也不會進行錄製。