すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo VOD:再生認証情報の取得

最終更新日:Sep 08, 2026

再生認証情報は、時間制限があり、動画ごとに固有で再利用できないトークンです。認証情報の有効期限が切れているか、認証情報が不正な場合、再生 URL を取得できません。この方法は、高いセキュリティが求められる再生シナリオに適しています。

注意事項

  • ApsaraVideo Player は、再生認証情報による再生をサポートしています。サードパーティ製プレーヤーはこの方法をサポートしていません。

  • 再生認証情報のデフォルトの有効期間は 100 秒 (最大 3,000 秒) です。特定の動画の再生 URL のみを取得でき、共有または再利用はできません。認証情報の有効期限が切れた場合は、アプリケーションで更新ロジックを処理する必要があります。

  • 再生認証情報の有効期間は、再生 URL ( URL 署名 が有効な場合) の有効期間とは異なります。

  • Alibaba Cloud 独自暗号化 (プライベート暗号化) を使用する場合、動画は ApsaraVideo Player ソフトウェア開発キット (SDK) を使用してのみ再生できます。

有効期間パラメータ:AuthInfoTimeout と AuthTimeout

呼び出す API に応じて、次の 2 つの有効期間パラメータが適用されます。

  • GetVideoPlayAuth API を呼び出して再生認証情報を取得する場合、有効期間は AuthInfoTimeout パラメータで制御されます。

  • GetPlayInfo API を呼び出して再生 URL を取得する場合、有効期間は AuthTimeout パラメータで制御されます。

これら 2 つのパラメータを混同しないでください。AuthInfoTimeout は PlayAuth の有効期間を制御し、AuthTimeout は生成された再生 URL のアクセス可能期間を制御します。

フロントエンドの authTimeout とサーバーサイドの有効期間

Player SDK (フロントエンド) の authTimeout パラメータは、ローカルキャッシュの更新動作のみを制御します。サーバーから返される有効期間を上書きすることはありません。

PlayAuth の ExpireTime フィールドが基準となる有効期限タイムスタンプであり、実際の再生動作を決定します。

  • サーバーサイドの認証情報の有効期限が切れている ( ExpireTime を過ぎている) 場合、フロントエンドの authTimeout 設定にかかわらず認証に失敗します。

  • サーバーサイドの認証情報が有効な場合、フロントエンドの authTimeout を経過していても、新しい認証情報のリクエストが成功する限り再生を継続できます。

長尺動画の更新メカニズム

再生認証情報の最大有効期間は 3,000 秒です。より長い動画の場合は、有効期限の 10~30 秒前に、Player SDK の認証情報更新メソッドを使用して PlayAuth を更新してください (例: Aliplayer では replayByVidAndPlayAuth を使用できます)。有効期限が切れる瞬間まで待たないでください。ネットワーク遅延により再生が中断される可能性があります。

高同時実行時のキャッシュ戦略

GetVideoPlayAuth API のユーザーあたりの QPS 上限は 1 秒あたり 360 リクエストです。高同時実行のシナリオでは、サーバーサイドのキャッシュ戦略を実装してください。

  • PlayAuth をキャッシュし、有効期間内は再利用して API コールを削減します。

  • 認証情報の有効期限切れが影響するのは再生 URL の取得のみです。再生 URL を取得済みであれば、認証情報の有効期限が切れても再生は継続します。

ブラウザ互換性

Chrome では再生できるのに Edge では失敗する場合は、まず動画のエンコード形式の互換性を確認し、次に再生認証情報の有効性を検証してください。

認証情報の有効期限切れエラーの処理

クライアント (例: Android SDK) が "playauth is expired" エラーを報告する場合は、アプリケーションに認証情報の期限切れリスナーと自動更新ロジックを追加してください。詳細な統合手順については、各プラットフォームの SDK の高度な設定ドキュメントをご参照ください。

全体の流れ

以下は、CDN アクセラレーションドメイン名を例に、再生認証情報を取得して動画を再生する方法を示します。

image
  1. クライアントは VideoId をサーバーに送信し、再生認証情報をリクエストします。

  2. サーバーは サーバーサイド SDK を使用して GetVideoPlayAuth API を呼び出し、再生認証情報を取得します。

  3. VOD サービスは再生認証情報をサーバーに返します。

  4. サーバーは再生認証情報をクライアントに返します。

  5. クライアントのプレーヤーは、返された認証情報を使用して VOD サービスに再生 URL をリクエストします。

  6. VOD サービスは再生 URL をクライアントに返します。

  7. クライアントは再生 URL を使用して CDN ノードに再生リソースをリクエストします。

  8. CDN ノードにリソースがない場合、またはキャッシュされたリソースの有効期限が切れている場合、オリジン OSS バケットからリソースを取得します。

  9. OSS バケットはリソースを CDN ノードに返し、CDN ノードはそれをキャッシュします。

  10. CDN ノードはメディアリソースをクライアントに配信します。

次のステップ

Alibaba Cloud は、Web、Android、iOS、Flutter、HarmonyOS 向けの Player SDK を提供しており、いずれも認証情報ベースの再生をサポートしています。プラットフォームに応じて、該当するドキュメントを選択してください。

よくある質問

Web Player SDK は JWT 認証トークンをサポートしていますか?

いいえ。Web Player SDK がサポートするのは VID + PlayAuth の再生方法のみです。ローカルで生成した JWT Auth で再生に失敗する場合は、標準の PlayAuth 方式に切り替えてください。

GetPlayInfo が、動画ステータスが無効または審査中というエラーを返すのはなぜですか?

再生情報を取得するには、動画が次の両方の条件を満たす必要があります。

  • メインステータス (Status) が Normal であること。

  • 審査ステータス (AuditStatus) が Normal であること。

ステータスが UploadSucc の場合、または審査ステータスが Init の場合は、トランスコーディングが完了し、審査に合格するまでお待ちください。GetVideoInfo API を使用して最新の動画ステータスを照会し、グローバル審査設定を確認できます。

再生のために形式を mp4 に指定する必要があるのはなぜですか?

これは通常、古い Player SDK バージョンでの HLS 形式の互換性問題が原因です。最新の Player SDK バージョンにアップグレードするか、公式デモコードでテストしてください。

Android で動画解像度の識別子 (LD、HD、SD) を取得するにはどうすればよいですか?

解像度識別子は、再生認証情報方式 (VidSts または VidAuth) を使用する場合にのみ、サーバーから返されます。

VID + PlayAuth 方式は、サードパーティのクラウドストレージのリソースの再生をサポートしていますか?

いいえ。VID + PlayAuth 方式がサポートするのは、Alibaba Cloud VOD のメディアアセットライブラリにアップロードされた動画のみです。サードパーティのリソースを再生するには、まず Alibaba Cloud VOD に移行またはアップロードして VID を生成してください。