オリジンストリームプルとは、サードパーティのソースから Alibaba Cloud のライブセンターにライブストリームをプルして処理し、高速配信するプロセスです。ストリームプルは、定時プルとトリガープルの 2 つのモードで設定できます。
機能紹介
ApsaraVideo Live は、2 種類のオリジンプルをサポートしています。
定時プル:ユーザーの再生アクティビティに関係なく、指定された期間中にストリームがプルされます。
トリガープル:ドメイン配下の特定のストリームに対して再生リクエスト (初回プル) が検出された場合にのみ、ストリームがプルされます。プル処理中、システムは視聴者の再生状況とバックエンドタスクの実行状況に基づいて、プルを停止するかどうかを判断します。
録画、タイムシフト、スナップショット、コンテンツモデレーションなどのバックエンドタスクが実行中の場合、視聴者がいなくても、システムはストリーム接続をアクティブに保ちます。
バックエンドタスクが実行されておらず、システムが 5 分間視聴者を検出しない場合、システムは自動的にプルタスクを切断します。
説明バックエンドタスクの実行状況に関係なく、視聴者がいなくなったときにシステムが即座にプルタスクを切断するようにしたい場合は、チケットを送信してバックエンド設定を依頼してください。
制限事項
定時プル
RTMP、HTTP-FLV、HLS、または SRT 形式の URL からサードパーティのライブストリームをプルできます。
最大 300 件の定時プル設定を追加できます。この上限を引き上げるには、オリジナルストリームのクォータ増加をリクエストしてください。詳細については、「クォータ管理」をご参照ください。定時プルの最大設定数は、オリジナルストリームの上限数と一致します。
プルタスクの開始時刻と終了時刻の間隔は 7 日間を超えることはできません。
トリガープル
RTMP、HTTP-FLV、または HLS 形式の URL からサードパーティのライブストリームをプルできます。
最大 200 件のトリガープル設定を追加できます。
IPv6 アドレスからのオリジンストリームプルはサポートされていません。
H.265 でエンコードされたサードパーティのライブストリームのサポートが必要な場合は、Alibaba Cloud にお問い合わせください。
トリガープルの設定
ApsaraVideo Live コンソールにログインします。
左側メニューで、アップストリームミングまたはストリーミングのドメイン名管理 を選択します。
管理するストリーミングドメインを見つけて ドメイン設定 をクリックします。左側のナビゲーションツリーで、back-to-origin ストリームフェッチング を選択します。
トリガーされたストリームフェッチング タブで、追加 をクリックします。
トリガープルを設定します。
パラメーター
説明
[ストリーミング URL の AppName]
この AppName はストリーミング URL の生成に使用され、オリジンストリームの AppName と一致する必要はありません。ただし、ソース URL の AppName を指定しない場合、この AppName はオリジンストリームの AppName と同一である必要があります。
ドメインレベルでストリームプルを設定するには、このパラメーターを
ali_all_appに設定します。
[ソース URL の AppName]
オリジンサーバーからストリームをプルするために使用される AppName です。オリジンストリームの AppName と一致する必要があります。
空欄の場合、ストリーミング URL の AppName が使用されます。この場合、その値はオリジンストリームの AppName と同一である必要があります。
[ソース URL]
サードパーティのライブストリームの URL です。最大 4 つの URL を追加できます。アクティブなストリームが中断された場合、システムは自動的に次のバックアップ URL に切り替えてプルを行います。
[Back-to-origin ストリームフェッチングのプロトコル]
RTMP、HTTP-FLV、HLS プロトコルをサポートしています。SRT プロトコルはサポートされていません。
[トランスコードによるストリームフェッチングのトリガー]
有効:トランスコードされたストリーム URL またはオリジンストリーム URL のいずれかをリクエストすると、ApsaraVideo Live がオリジンサーバーからストリームをプルするように自動的にトリガーされます。
無効:オリジンストリーム URL のリクエストのみがオリジンストリームプルをトリガーします。トランスコードされたストリーム URL をリクエストしても、オリジンストリームプルはトリガーされません。
OK をクリックします。
ストリーミング URL
ストリームがプルされた後、AppName とオリジンストリーム名 (StreamName) を組み合わせて、ストリーミング URL を生成します。ストリーミング URL 内の StreamName は、オリジンストリームの StreamName と同一である必要があります。AppName のマッチング規則は次のとおりです。
標準:設定済みの ストリーミング URL の AppName を使用します。
グローバルマッチ (ストリーミング URL の AppName が
ali_all_appの場合):ソース URL の AppName が設定されていない場合:オリジンストリームの元の AppName を使用します。
ソース URL の AppName が設定されている場合:AppName をカスタマイズできます。
定時プルの設定
ApsaraVideo Live コンソールにログインします。
左側メニューで、アップストリームミングまたはストリーミングのドメイン名管理 を選択します。
管理するストリーミングドメインを見つけて ドメイン設定 をクリックします。左側のナビゲーションツリーで、back-to-origin ストリームフェッチング を選択します。
通常のストリームフェッチング タブで、追加 をクリックします。
定時プルを設定します。
パラメーター
説明
[アプリケーション名]
この AppName はストリーミング URL の生成に使用されます。オリジンストリームの AppName と一致する必要はありません。
[ストリーム名]
ライブストリームの名前です。ストリーム名は、すべてのストリームプルテンプレート間で一意である必要があります。
[ソース URL]
サードパーティのライブストリームの URL です。RTMP、HTTP-FLV、HLS、および SRT 形式をサポートしています。最大 4 つの URL を追加できます。アクティブなストリームが中断された場合、システムは自動的に次のバックアップ URL に切り替えてプルを行います。
[開始時刻/終了時刻]
定時プルの開始時刻と終了時刻です。両者の間隔は 7 日間を超えることはできません。
OK をクリックします。
再生を開始するには、設定した AppName と StreamName を使用してストリーミング URL を生成します。詳細については、「ライブストリーミング URL の生成」をご参照ください。
プル設定の変更
オリジンサーバーが利用できなくなった緊急のシナリオに対応するために、プル設定を変更します。
back-to-origin ストリームフェッチング ページで、トリガーされたストリームフェッチング または 通常のストリームフェッチング タブをクリックして、既存の設定を表示します。
変更したい設定を見つけ、アクション 列の 変更 をクリックします。
ストリームプルの設定を変更します。
OK をクリックします。
定時プル
設定を変更すると、システムは新しい設定に基づいてプルタスクを再起動します。この操作が稼働中のサービスに影響を与えないことを確認してください。
トリガープル
変更後、既存の再生セッションは古い設定を引き続き使用し、新しい再生リクエストには新しい設定が適用されます。
設定を追加したときにソース URL に AppName を指定した場合、設定を変更する際にこのパラメーターを空にすることはできません。
コールバックロジック
RTMP ストリームの取り込みでは、ApsaraVideo Live が On Publish メッセージを受信してから 2 秒以内にクライアントが能動的に切断しない場合、ApsaraVideo Live はストリーム取り込み成功のコールバックを送信します。
オリジンストリームプルのコールバックロジックも同様です。インジェストドメイン A とストリーミングドメイン B があるとします。ドメイン B がストリームプル (定時またはトリガー) を使用し、コールバックが必要な場合は、インジェストドメイン A でストリームインジェストコールバックを設定します。設定が完了すると、ドメイン B でのプルイベントがコールバックをトリガーできます。接続が確立された後、2 秒間アクティブな切断がない場合、プルタスクは成功したと見なされます。
10 秒間連続してライブセンターにストリームデータが到達しない場合、ApsaraVideo Live は現在のプルタスクを自動的に切断します。
ストリームインジェストまたはプルが正常に機能しているかどうかを判断するために、コールバック通知のみに依存しないことを推奨します。DescribeLiveStreamsPublishList API を呼び出して、アクティブなストリームが存在することを確認してから、ストリーミング URL をユーザーに配信してください。