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

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

最終更新日:Aug 21, 2026

再生認証情報は、有効期間が限定された、特定の動画専用の再利用不可能なトークンです。認証情報の有効期限が切れたり、不正であったりする場合、再生 URL を取得できなくなるため、この方法は高セキュリティの再生シナリオに適しています。

注意事項

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

  • 再生認証情報の有効期間はデフォルトで 100 秒 (最大 3000 秒) です。特定の動画の再生 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 とサーバー側の有効期間

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

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

  • サーバー側の認証情報が期限切れになっている場合 (ExpireTime が経過した場合)、フロントエンドの authTimeout 設定に関係なく認証は失敗します。

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

長時間動画の更新メカニズム

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

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

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

  • PlayAuth をキャッシュし、その有効期間内に再利用して API 呼び出しを削減します。

  • 認証情報の有効期限切れは、再生 URL の取得にのみ影響します。再生 URL が一度取得されれば、認証情報が期限切れになっても再生は続行されます。

ブラウザーの互換性

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

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

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

全体的なフロー

以下に、CDN 加速ドメインを例として、再生認証情報を取得して動画を再生するフローを示します。

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

  2. ご利用のサーバーは、サーバー側 SDK を使用して GetVideoPlayAuth 操作を呼び出し、再生認証情報を取得します。

  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 向けのプレーヤー SDK を提供しており、すべて認証情報ベースの再生をサポートしています。ご利用のプラットフォームのドキュメントを選択してください。

よくある質問

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

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

GetPlayInfo が動画ステータスが無効またはレビュー中であることを示すエラーを返すのはなぜですか?

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

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

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

ステータスが UploadSucc であるか、審査ステータスが Init である場合は、トランスコードが完了し、審査が承認されるまでお待ちください。GetVideoInfo API を使用して最新の動画ステータスをクエリし、グローバル審査設定を確認できます。

再生時にフォーマットとして mp4 を指定する必要があるのはなぜですか?

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

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

解像度識別子は、再生認証情報方式 (VidSts または VidAuth) を使用している場合にのみサーバーから返されます。URLSource 再生方式を直接使用する場合、解像度識別子は利用できません。

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

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