再生 URL は、イベント通知または API/SDK コールで取得できます。
イベント通知による URL の取得
ビデオストリームが特定の解像度にトランスコードされたとき (StreamTranscodeComplete)、またはすべてのトランスコード済みストリームが生成されたとき (TranscodeComplete) に、イベント通知を受信できます。イベント通知には再生 URL が含まれています。これらの URL をサーバーに保存し、再生リクエストに応じてクライアントに返します。
この方法は、高同時実行再生に最適です。URL をサーバーにキャッシュし、パージとプリフェッチ機能でコンテンツを事前にウォームアップすることで、数百万の同時視聴者に対応できます。詳細については、「パージとプリフェッチ」をご参照ください。
注意事項
-
イベント通知から取得した再生 URL は 静的 URL です。URL 署名が有効になっている場合、署名付き URL を自分で生成する必要があります。
-
古いドメインを無効化または削除した場合は、保存されている再生 URL を取得する際に、新しいドメインに置き換える必要があります。
-
ビデオ暗号化が設定されている場合、返される再生 URL は暗号化されたストリームの URL です。プレーヤーは再生前にこれを復号する必要があります。
API/SDK コールによる URL の取得
メディアファイルを ApsaraVideo VOD にアップロードすると、VideoId が割り当てられます。GetPlayInfo API を VideoId で呼び出して、再生 URL を取得します。
注意事項
-
デフォルトでは、この API は各解像度とフォーマットの最新のトランスコード済みストリームのみを返します。GetPlayInfo API を呼び出す際に、
ResultTypeをMultipleに設定すると、ビデオのすべての完了したストリームを取得できます。 -
Alibaba Cloud 独自の暗号化を有効にしている場合、ビデオは ApsaraVideo Player でのみ再生できます。デフォルトでは、GetPlayInfo API は独自に暗号化されたストリームを返しません。
ResultTypeをMultipleに設定すると、暗号化されたストリームを含む、すべての完了したストリームを取得できます。 -
HLS 暗号化を有効にしている場合、API はデフォルトで再生用に標準の暗号化ストリームを優先的に返します。
-
メディアファイルに 階層型ストレージを設定している場合、この API は次のように動作します:
-
デフォルトでは、API は標準ストレージクラスの再生ストリームを返します。アーカイブなどの非標準階層の場合、API は再生ストリームを返しません。ソースファイルが非標準階層にある場合、API はトランスコード済みストリームは返しますが、ソースビデオストリームは返しません。
-
PlayConfigパラメーター内のStorageClassフィールドを設定して、指定した非標準ストレージ階層からストリームをリクエストできます。
-
-
有効期間内であれば、再生 URL は特定のデバイスに限定されません。複数のデバイス (PC、モバイルデバイス、ApsaraVideo Player SDK など) が同じ再生 URL を使用して同時にビデオを再生でき、プレーヤーは URL の再利用を制限しません。
ワークフロー
次の図は、CDN アクセラレーションドメイン経由でビデオを取得し、再生するワークフローを示しています。
-
クライアントがアプリケーションサーバーに再生 URL の取得をリクエストします。
-
サーバーは サーバー SDK を使用して GetPlayInfo API を呼び出し、再生 URL を取得します。
-
ApsaraVideo VOD がサーバーに再生 URL を返します。
-
サーバーがクライアントに再生 URL を返します。
-
クライアントプレーヤーは、返された再生 URL に基づいてメディアリソースをリクエストします。
-
リソースが CDN POP にキャッシュされていないか、キャッシュの有効期限が切れている場合、CDN は OSS バケットからオリジン プルを行います。
-
OSS バケットはリソースを CDN POP に返し、CDN POP はそのリソースをキャッシュします。
-
CDN POP がクライアントにメディアリソースを提供します。
次のステップ
-
クライアント側で ApsaraVideo Player SDK を統合し、URL でビデオを再生してください。詳細については、「ApsaraVideo Player SDK の概要」をご参照ください。