AEMaaCS Dynamic Media にプログラムで VTT キャプションを追加する

Adobe Experience Manager as a Cloud Service(AEMaaCS)には、VTT キャプションファイルを Dynamic Media にプログラムでアップロードするパブリック API がありません。 これを解決するには、ビデオアセットをアップロードし、サブアセットフォルダーを作成し、VTT ファイルをアップロードして、S7AudioCaptionsMetadataServlet などの内部エンドポイントを使用してメタデータを投稿します。

説明 description

環境

Adobe Experience Manager as a Cloud Service(AEMaaCS) - Assets、Dynamic Media

問題/症状

AEMaaCS には、VTT キャプションファイルをプログラムでアップロードして Dynamic Media のビデオアセットに関連付けるためのパブリック API がありません。 キャプションは UI から手動でアップロードする必要があり、ビデオアセットのキャプション管理が自動化されないようにする必要があります。

解決策 resolution

次の手順では、内部実装方法を使用して、プログラムで VTT キャプションファイルをアップロードし、ビデオアセットに関連付ける方法の概要を説明します。

  1. プライマリビデオファイルを AEMaaCS DAM (デジタルアセット管理)にアップロードして、正常に処理されていることを確認します。 パスの例:/content/dam/test/sample.mp4

  2. GET リクエストを /content/dam/test/sample.mp4/subassets.json に送信して、subassets フォルダーがビデオアセットの下に存在するかどうかを確認します。

    404 エラーが返される場合は、jcr:primaryType=nt:folder の POST リクエストを使用してフォルダーを作成します。

    例:

    code language-none
    curl -u admin:admin \
    -F "jcr:primaryType=nt:folder" \
    http://localhost:4502/content/dam/test/sample.mp4/subassets\
    
  3. audio1.mp3 などのオーディオファイルおよび english.vtt などのキャプションファイルを subassets フォルダーにアップロードします。

    例:

    Caption: /content/dam/test/sample.mp4/subassets/chinese.vtt

    音声:/content/dam/test/sample.mp4/subassets/audio1.mp3

    アップロードには aem-upload ライブラリを使用できます:https://github.com/adobe/aem-upload

  4. S7AudioCaptionsMetadataServlet: を使用して各オーディオファイルのメタデータを POST する

    code language-none
    curl -u user:password \
      -H "Content-Type: application/json" \
      -d '{
        "payload": [ {
          "filename": "chinese.vtt",
          "language": "Chinese",
          "languageCode": "zho",
          "role": "subtitle",
          "label": "ch-subtitle",
          "isDefault": false
        }]
      }' \
      http://localhost:4502/content/dam/test/sample.mp4.audiocaptionsmetadata.json
    
  5. 各キャプションファイルの POST メタデータ:

    code language-none
    curl -u user:password \
      -H "Content-Type: application/json" \
      -d '{
        "payload": [ {
          "filename": "chinese.vtt",
          "language": "Chinese",
          "languageCode": "zho",
          "role": "subtitle",
          "label": "ch-subtitle",
          "isDefault": false
        }]
      }' \
      http://localhost:4502/content/dam/test/sample.mp4.audiocaptionsmetadata.json
    
  6. .audiocaptionsmetadata.json エンドポイントへのGET リクエストを使用してメタデータを取得し、キャプションとオーディオファイルが正しく関連付けられていることを確認します。

    例:

    • キャプション:curl -u user:password "http://localhost:4502/content/dam/test/sample.mp4.audiocaptionsmetadata.json?type=vtt&offset=0"
    • オーディオの場合:curl -u user:password "http://localhost:4502/content/dam/test/sample.mp4.audiocaptionsmetadata.json?type=audio&offset=0"

その他のメモ

  • このアプローチは、Chromeの「 ネットワーク 」タブなどのブラウザー開発者ツールを使用して、クライアントサイドからAEMに対して行われる HTTP リクエストを調べることに依存します。
  • これは内部実装であり、サポートされているパブリック API ではありません。
  • この方法は、特定の使用例と要件に基づいた探索とテストを目的としています。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f