このトピックでは、ApsaraVideo VOD における Alibaba Cloud 独自暗号化、HTTP Live Streaming (HLS) 暗号化、およびデジタル著作権管理 (DRM) 暗号化に関するよくある質問とその回答を説明します。
HLS 暗号化
HLS 暗号化動画の再生における MtsHlsUriToken の役割と取得方法
MtsHlsUriToken パラメーターはカスタムパラメーターです。標準の HLS 暗号化では、暗号化文字列が HLS ストリームに書き込まれた後、復号サーバーのアドレスが M3U8 マニフェストに追加されます。特定のユーザーのみに動画へのアクセスを許可するには、復号アドレスに身分認証機能が必要です。MtsHlsUriToken パラメーターは、ご利用の復号サーバーに認証レイヤーを追加します。そして、この認証ロジックに基づいて特別なパラメーターが生成され、復号認証に追加されます。
暗号化を構成する際には、MtsHlsUriToken を生成するためのトークン発行サービスをセットアップする必要があります。詳細については、「HLS 暗号化」のステップ 1 をご参照ください。
生成されたキーの使用方法
GenerateKMSDataKey 操作は、暗号文キーの CiphertextBlob と平文キーの Plaintext を返します。ApsaraVideo VOD には暗号文キーのみを渡す必要があり、平文キーを渡す必要はありません。渡されるパラメーターの詳細については、「SubmitTranscodeJobs」の「EncryptConfig: HLS 暗号化の設定」をご参照ください。
生成された暗号文キーと平文キーをキャッシュすることを推奨します。
サービスキーを作成した後は、そのサービスキーを削除したり更新したりすることはできません。サービスキーは暗号鍵の生成にのみ使用されます。
生成されたトークンの復号操作への渡し方
トークンを復号操作に再書き込みする前に、再生用に Alibaba Cloud CDN ドメイン名を使用する必要があります。M3U8 アドレスがリクエストされる際に、MtsHlsUriToken パラメーターを渡す必要があります。システムは自動的に MtsHlsUriToken パラメーターを復号操作用に再書き込みし、復号操作をリクエストします。
暗号化された動画が再生可能かどうかの迅速な確認方法
Alibaba Cloud Player 診断プラットフォーム を使用して、HTTP Live Streaming (HLS) 暗号化モードで暗号化された M3U8 ファイルが再生可能かどうかを確認できます。M3U8 ファイルの URL と MtsHlsUriToken の値を Alibaba Cloud Player 診断プラットフォームにコピーして、ファイルが復号および再生できるかを確認します。MtsHlsUriToken に値が指定されていない場合は、値をコピーする必要はありません。
その他のよくある質問
API に関する注意事項
SubmitTranscodeJobs 操作を呼び出した際に KeyNotFound が返された場合は、ApsaraVideo VOD のテクニカルサポートに連絡して、中国 (北京) や中国 (上海) などの必要なリージョンにサービスキーを作成してください。このサービスキーは暗号鍵の生成に使用されます。
暗号化されていないファイル
出力ファイルが暗号化されていない場合は、トランスコーディングテンプレートで [動画暗号化] が有効になっており、[非公開暗号化] が選択されていることを確認してください。
カスタムキー
カスタム文字列を使用して暗号鍵を生成しているため、暗号化とトランスコーディングが失敗します。暗号化のための平文キーは、GenerateKMSDataKey 操作を呼び出して生成する必要があります。カスタム文字列を使用して暗号鍵を生成することはできません。
暗号化の失敗
HLS 暗号化とトランスコーディングが失敗し、暗号化されたファイルが生成されない場合は、GenerateKMSDataKey 操作を呼び出して生成されたキーが AES_128 タイプであるかを確認してください。
復号の失敗
HLS 暗号化モードで暗号化された動画の再生時の復号に失敗した場合、復号操作がプレーヤーにキーを送信する前に、DecryptKMSDataKey 操作から返された平文キーを Base64 を使用してデコードしているかを確認してください。平文キーがデコードされていない場合、復号は失敗します。
再生成
標準の暗号化トランスコーディングは、常にユーザーによってトリガーされます。重複した暗号化ファイルが生成された場合は、SubmitTranscodeJobs API を繰り返し呼び出していないかを確認してください。
DRM 暗号化
DRM 暗号化トランスコーディングジョブの送信失敗と「Submit transcode job failed」エラー
問題の説明:DRM 暗号化が指定されたトランスコーディングジョブを送信すると、「TranscodeJob.SubmitFailed」というエラーメッセージが表示されます。次の図に例を示します。
原因:
ApsaraVideo VOD は、[ApsaraVideo VOD コンソール] > [メディア資産] > [オーディオ/ビデオ] > [メディア処理] にある [トランスコーディングテンプレートグループで処理] オプションを使用して、コンソールから DRM 暗号化を含むトランスコーディングジョブをトリガーすることをサポートしていません。
解決策:
DRM 暗号化が指定されたトランスコーディングテンプレートグループをワークフローに追加し、そのワークフローをトランスコーディングに使用します。詳細については、「ワークフロー」をご参照ください。
DRM 証明書のアップロードが「Can not found user info」エラーで失敗する
問題の説明:DRM 証明書をアップロードすると、「NotUserInfoExist」というエラーメッセージが表示されます。次の図に例を示します。
解決策:
DRM 証明書に対応するリージョンに、有効化された VOD バケットが存在するかどうかを確認してください。VOD バケットを有効にする方法の詳細については、「VOD バケットの有効化」をご参照ください。