Programmgesteuertes Hinzufügen von VTT-Untertiteln in AEMaaCS Dynamic Media

Adobe Experience Manager as a Cloud Service (AEMaaCS) bietet keine öffentliche API zum programmgesteuerten Hochladen von VTT-Untertiteldateien in Dynamic Media. Um dies zu beheben, laden Sie das Video-Asset hoch, erstellen Sie einen Unter-Asset-Ordner, laden Sie VTT-Dateien hoch und veröffentlichen Sie Metadaten mithilfe interner Endpunkte wie S7AudioCaptionsMetadataServlet.

Beschreibung description

Umgebung

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

Problem/Symptome

AEMaaCS bietet keine öffentliche API zum programmgesteuerten Hochladen und Verknüpfen von VTT-Untertiteldateien mit Video-Assets in Dynamic Media. Untertitel müssen manuell über die Benutzeroberfläche hochgeladen werden, wodurch die Automatisierung der Untertitelverwaltung für Video-Assets verhindert wird.

Auflösung resolution

Die folgenden Schritte bieten einen Überblick darüber, wie VTT-Untertiteldateien mithilfe interner Implementierungsmethoden programmgesteuert mit Video-Assets hochgeladen und verknüpft werden:

  1. Laden Sie die primäre Videodatei in das AEMaaCS-DAM (Digital Asset Management) hoch und bestätigen Sie, dass die Verarbeitung erfolgreich war. Beispielpfad: /content/dam/test/sample.mp4.

  2. Überprüfen Sie, ob der subassets Ordner unter dem Video-Asset vorhanden ist, indem Sie eine GET-Anfrage an /content/dam/test/sample.mp4/subassets.json senden.

    Wenn ein 404-Fehler zurückgegeben wird, erstellen Sie den Ordner mithilfe einer POST-Anfrage mit jcr:primaryType=nt:folder.

    Beispiel:

    code language-none
    curl -u admin:admin \
    -F "jcr:primaryType=nt:folder" \
    http://localhost:4502/content/dam/test/sample.mp4/subassets\
    
  3. Laden Sie Audiodateien wie audio1.mp3 und Untertiteldateien wie english.vtt in den subassets Ordner hoch.

    Beispiel:

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

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

    Sie können die aem-upload-Bibliothek zum Hochladen verwenden: https://github.com/adobe/aem-upload.

  4. POST-Metadaten für jede Audiodatei mithilfe der 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-Metadaten für jede Untertiteldatei:

    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. Rufen Sie Metadaten mithilfe von GET-Anfragen an den .audiocaptionsmetadata.json-Endpunkt ab, um zu bestätigen, dass Untertitel und Audiodateien korrekt verknüpft sind.

    Beispiele:

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

Zusätzliche Hinweise

  • Dieser Ansatz beruht auf der Überprüfung der HTTP-Anfragen, die von der Client-Seite an AEM gesendet werden, mithilfe von Browser-Entwickler-Tools wie der Registerkarte Netzwerk von Chrome.
  • Dies ist eine interne Implementierung und keine unterstützte öffentliche API.
  • Diese Methode ist für die Untersuchung und Prüfung auf der Grundlage spezifischer Anwendungsfälle und Anforderungen vorgesehen.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f