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:
-
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. -
Überprüfen Sie, ob der
subassetsOrdner unter dem Video-Asset vorhanden ist, indem Sie eine GET-Anfrage an/content/dam/test/sample.mp4/subassets.jsonsenden.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\ -
Laden Sie Audiodateien wie
audio1.mp3und Untertiteldateien wieenglish.vttin densubassetsOrdner hoch.Beispiel:
Beschriftung:
/content/dam/test/sample.mp4/subassets/chinese.vttAudio:
/content/dam/test/sample.mp4/subassets/audio1.mp3Sie können die
aem-upload-Bibliothek zum Hochladen verwenden: https://github.com/adobe/aem-upload. -
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 -
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 -
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"
- Für Beschriftungen:
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.