Lägg till VTT-bildtexter i AEMaaCS Dynamic Media

Adobe Experience Manager as a Cloud Service (AEMaaCS) erbjuder inte något offentligt API för programmässig överföring av VTT-bildtextfiler till Dynamic Media. Du löser detta genom att överföra videoresursen, skapa en underresursmapp, överföra VTT-filer och publicera metadata med interna slutpunkter som S7AudioCaptionsMetadataServlet.

Beskrivning description

Miljö

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

Problem/symtom

AEMaaCS har inte något offentligt API för programmässig överföring och koppling av VTT-bildtextfiler med videoresurser i Dynamic Media. Bildtexter måste laddas upp manuellt via användargränssnittet, vilket förhindrar automatisering av bildtexthantering för videomaterial.

Upplösning resolution

Följande steg ger en översikt över hur du programmässigt överför och associerar VTT-bildtextfiler med videomaterial med interna implementeringsmetoder:

  1. Ladda upp den primära videofilen till AEMaaCS DAM (Digital Asset Management) och bekräfta att den fungerar. Exempelsökväg: /content/dam/test/sample.mp4.

  2. Kontrollera om mappen subassets finns under videoresursen genom att skicka en GET-begäran till /content/dam/test/sample.mp4/subassets.json.

    Om det returnerar ett 404-fel skapar du mappen med en POST-begäran med jcr:primaryType=nt:folder.

    Exempel:

    code language-none
    curl -u admin:admin \
    -F "jcr:primaryType=nt:folder" \
    http://localhost:4502/content/dam/test/sample.mp4/subassets\
    
  3. Överför ljudfiler som audio1.mp3 och bildtextfiler som english.vtt till mappen subassets.

    Exempel:

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

    Ljud: /content/dam/test/sample.mp4/subassets/audio1.mp3

    Du kan använda biblioteket aem-upload för överföring: https://github.com/adobe/aem-upload.

  4. POST-metadata för varje ljudfil som använder S7AudioCaptionsMetadataServlet:

    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-metadata för varje bildtextfil:

    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. Hämta metadata med GET-begäranden till slutpunkten .audiocaptionsmetadata.json som bekräftar att beskrivnings- och ljudfilerna är korrekt associerade.

    Exempel:

    • För bildtexter: curl -u user:password "http://localhost:4502/content/dam/test/sample.mp4.audiocaptionsmetadata.json?type=vtt&offset=0"
    • För ljud: curl -u user:password "http://localhost:4502/content/dam/test/sample.mp4.audiocaptionsmetadata.json?type=audio&offset=0"

Ytterligare information

  • Det här arbetssättet bygger på att kontrollera HTTP-begäranden som görs från klientsidan till AEM med hjälp av webbläsarutvecklingsverktyg som Chrome Network -flik.
  • Detta är en intern implementering och är inte ett offentligt API som stöds.
  • Denna metod är avsedd för prospektering och testning baserad på specifika användningsfall och krav.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f