VTT-bijschriften programmatisch toevoegen in dynamische media van AEMaaCS

Adobe Experience Manager as a Cloud Service (AEMaaCS) biedt geen openbare API om bijschriftbestanden van VTT programmatisch te uploaden naar Dynamic Media. Als u dit wilt verhelpen, uploadt u het video-element, maakt u een map met submiddelen, uploadt u VTT-bestanden en plaatst u metagegevens via interne eindpunten, zoals S7AudioCaptionsMetadataServlet .

Beschrijving description

Omgeving

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

Probleem/symptomen

AEMaaCS biedt geen openbare API om bijschriftbestanden van VTT programmatisch te uploaden en aan video-elementen in Dynamic Media te koppelen. Bijschriften moeten handmatig via de gebruikersinterface worden geüpload, zodat het beheer van bijschriften voor video-elementen niet automatisch kan worden uitgevoerd.

Resolutie resolution

De volgende stappen bieden een overzicht van hoe u VTT-ondertitelingsbestanden programmatisch kunt uploaden en koppelen aan video-elementen met behulp van interne implementatiemethoden:

  1. Upload het primaire videobestand naar AEMaaCS DAM (Digital Asset Management) en bevestig de processen correct. Voorbeeld: /content/dam/test/sample.mp4.

  2. Controleer of de map subassets onder het video-element bestaat door een GET-aanvraag naar /content/dam/test/sample.mp4/subassets.json te verzenden.

    Als er een fout van 404 wordt geretourneerd, maakt u de map met behulp van een POST-aanvraag met jcr:primaryType=nt:folder .

    Voorbeeld:

    code language-none
    curl -u admin:admin \
    -F "jcr:primaryType=nt:folder" \
    http://localhost:4502/content/dam/test/sample.mp4/subassets\
    
  3. Upload audiobestanden zoals audio1.mp3 - en bijschriftbestanden zoals english.vtt naar de map subassets .

    Voorbeeld:

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

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

    U kunt de aem-upload bibliotheek voor het uploaden gebruiken: ​ https://github.com/adobe/aem-upload ​.

  4. POST-metagegevens voor elk audiobestand met de 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. Metagegevens POST voor elk bijschriftbestand:

    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. Haal metagegevens op met GET-verzoeken aan het eindpunt van .audiocaptionsmetadata.json om te bevestigen dat het bijschrift en de audiobestanden correct zijn gekoppeld.

    Voorbeelden:

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

Aanvullende opmerkingen

  • Deze benadering baseert zich op het inspecteren van de HTTP- verzoeken die van de cliëntkant aan AEM worden gemaakt gebruikend browser ontwikkelaarshulpmiddelen zoals Chrome Netwerk tabel.
  • Dit is een interne implementatie en wordt niet ondersteund door een openbare API.
  • Deze methode is bedoeld voor exploratie en beproeving op basis van specifieke gebruiksgevallen en -vereisten.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f