録画を設定したら、オンデマンドでライブストリームを録画するかどうかを判断できます。
次のいずれかの方法を使用して、オンデマンド録音を実装できます。
取り込みパラメーターを設定します。 このメソッドは将来サポートされる予定です。
HTTPコールバックメソッドを使用します。
HTTPコールバックメソッドを使用してオンデマンド記録を実装するには、コールバックURLとドメイン名、アプリケーション、またはライブストリームを指定する必要があります。 録画サービスが指定されたドメイン名またはアプリケーションから指定されたライブストリームまたはライブストリームを受信すると、録画サービスは、ライブストリームを録画するかどうかを尋ねる要求をコールバックURLに送信します。 リクエストには、次の表に示す5つのパラメーターが含まれています。
オンデマンド録画の設定方法の詳細については、「オンデマンド録画」をご参照ください。
リクエストパラメーター
パラメーター | データ型 | 説明 |
domain | String | メインのストリーミングドメイン。 |
app | String | ライブストリームが属するアプリケーションの名前。 |
stream | String | ライブストリームの名前。 |
codec | String | エンコード形式。 有効な値:
|
vbitrate | String | ビデオのビットレート。 単位:Kbit/s |
レスポンスパラメーター
パラメーター | データ型 | 必須 | 説明 |
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"]
}
応答パラメータの処理
ApsaraVideo Liveは、返されたパラメーター設定を使用して、既存の録画設定を上書きまたは変更します。 たとえば、Intervalパラメーターが返された場合、ApsaraVideo Liveはその戻り値を使用して、既存の記録設定のIntervalパラメーターの値を上書きします。 Formatパラメーターが返された場合、ApsaraVideo Liveは、返されたFormatパラメーターで指定された形式と既存の録画設定で指定された形式の共通部分を使用します。 返されたFormatパラメーターで指定された形式が既存の記録設定にない場合、ライブストリームは記録されません。
非200 HTTPステータスコードが返された場合、操作の呼び出しに失敗しました。
リクエスト本文の長さは2,048文字を超えることはできません。 そうしないと、悪意のある攻撃を防ぐために本体が切り捨てられます。
使用上の注意
ApsaraVideo Liveはトリガーされたストリームプルをサポートしており、特定のドメイン名を持つストリーミングURLが再生に使用されると、自動的にApsaraVideo Liveをトリガーしてライブストリームをプルします。 ライブストリームが再生されない場合、ApsaraVideo liveは配信元サーバーからライブストリームを取得しません。 この場合、自動録画、オンデマンド録画、および手動録画は無効となります。