AEMaaCS Dynamic Media에서 VTT 캡션을 프로그래밍 방식으로 추가

Adobe Experience Manager as a Cloud Service(AEMaaCS)는 VTT 캡션 파일을 프로그래밍 방식으로 Dynamic Media에 업로드할 수 있는 공개 API를 제공하지 않습니다. 이 문제를 해결하려면 비디오 에셋을 업로드하고, 하위 에셋 폴더를 만들고, VTT 파일을 업로드하고, S7AudioCaptionsMetadataServlet과(와) 같은 내부 끝점을 사용하여 메타데이터를 게시합니다.

설명 description

환경

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

문제/증상

AEMaaCS는 Dynamic Media에서 VTT 캡션 파일을 프로그래밍 방식으로 업로드하고 비디오 에셋과 연결하기 위한 공개 API를 제공하지 않습니다. UI를 통해 캡션을 수동으로 업로드해야 하므로 비디오 자산에 대한 캡션 관리 자동화가 방지됩니다.

해결 방법 resolution

다음 단계에서는 내부 구현 방법을 사용하여 VTT 캡션 파일을 프로그래밍 방식으로 업로드하고 비디오 에셋과 연결하는 방법에 대한 개요를 제공합니다.

  1. 기본 비디오 파일을 AEMaaCS DAM(디지털 자산 관리)에 업로드하고 정상적으로 처리되는지 확인합니다. 예제 경로: /content/dam/test/sample.mp4.

  2. /content/dam/test/sample.mp4/subassets.json(으)로 GET 요청을 보내 비디오 자산 아래에 subassets 폴더가 있는지 확인하십시오.

    404 오류를 반환하는 경우 jcr:primaryType=nt:folder이(가) 있는 POST 요청을 사용하여 폴더를 만드십시오.

    예:

    code language-none
    curl -u admin:admin \
    -F "jcr:primaryType=nt:folder" \
    http://localhost:4502/content/dam/test/sample.mp4/subassets\
    
  3. audio1.mp3과(와) 같은 오디오 파일과 english.vtt과(와) 같은 캡션 파일을 subassets 폴더에 업로드합니다.

    예:

    캡션: /content/dam/test/sample.mp4/subassets/chinese.vtt

    오디오: /content/dam/test/sample.mp4/subassets/audio1.mp3

    aem-upload 라이브러리를 사용하여 업로드할 수 있습니다. https://github.com/adobe/aem-upload.

  4. S7AudioCaptionsMetadataServlet:을(를) 사용하여 각 오디오 파일에 대한 POST 메타데이터

    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 메타데이터:

    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. .audiocaptionsmetadata.json 끝점에 대한 GET 요청을 사용하여 메타데이터를 검색하여 캡션 및 오디오 파일이 올바르게 연결되어 있는지 확인하십시오.

    예:

    • 캡션의 경우: curl -u user:password "http://localhost:4502/content/dam/test/sample.mp4.audiocaptionsmetadata.json?type=vtt&offset=0"
    • 오디오의 경우: curl -u user:password "http://localhost:4502/content/dam/test/sample.mp4.audiocaptionsmetadata.json?type=audio&offset=0"

추가 참고 사항

  • 이 접근 방식은 Chrome의 네트워크 탭과 같은 브라우저 개발자 도구를 사용하여 클라이언트측에서 AEM으로 보낸 HTTP 요청을 검사하는 것을 기반으로 합니다.
  • 이는 내부 구현이며 지원되는 공개 API가 아닙니다.
  • 이 방법은 특정 사용 사례 및 요구 사항에 따라 탐구하고 테스트하기 위한 것입니다.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f