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:
-
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. -
Kontrollera om mappen
subassetsfinns 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\ -
Överför ljudfiler som
audio1.mp3och bildtextfiler somenglish.vtttill mappensubassets.Exempel:
Bildtext:
/content/dam/test/sample.mp4/subassets/chinese.vttLjud:
/content/dam/test/sample.mp4/subassets/audio1.mp3Du kan använda biblioteket
aem-uploadför överföring: https://github.com/adobe/aem-upload. -
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 -
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 -
Hämta metadata med GET-begäranden till slutpunkten
.audiocaptionsmetadata.jsonsom 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"
- För bildtexter:
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.