WebVTT 캡션 추가(텍스트 트랙)

이 항목에서는 를 사용하여 비디오에 캡션이나 챕터용 WebVTT 텍스트 트랙을CMS API추가하는 방법을 알아봅니다.

서문

WebVTT 캡션 (텍스트 트랙)은 POST 요청을 사용하여 비디오를 처음 만들 때 추가 할 수 없습니다.

  • Video Cloud에서 인제스트할 텍스트 트랙의 경우 비디오를 인제스트하기 위한 동적 인제스트 요청에 트랙을 포함할 수 있습니다. 자세한 내용은 WebVTT 파일인제스트를 참조하십시오.
  • 텍스트 트랙을 원격 위치에서 호스팅하려는 경우 비디오 메타데이터 업데이트PATCH요청을 사용하여 비디오에 추가할 수 있습니다. CMS API 샘플을 참조하십시오. 업데이트 요청의예를 보려면 비디오 업데이트를 참조하세요.

텍스트 트랙이 인제스트이든 원격 트랙이든 관계없이PATCH요청을 사용하여 텍스트 트랙과 관련된 메타데이터 (예: scrlang또는 또는label텍스트 트랙이default비디오용인지 여부) 를 업데이트할 수 있습니다.

텍스트 트랙이 원격인지, 정적 수집 프로필로 수집되는지 또는 동적 수집 프로필로 수집되는지에 따라 텍스트 트랙 메타데이터가 처리되는 방식의 차이점에 대한 자세한 내용은 CMS API를 사용하여 텍스트 트랙 관리를 참조하세요.

참고 사항

  • Dynamic Delivery 비디오에서 텍스트 트랙을 업데이트하면 프로세스가 비동기식이므로 응답 상태 코드가 표시되고 업데이트가 즉시 수행되지는 않습니다. 202 ACCEPTED
  • 동영상 당 텍스트 트랙은 1000 개로 제한됩니다.
  • 일본어 및 한국어와 같은 2바이트 언어에 제대로 표시되려면 캡션의 텍스트가 UTF-8 인코딩이어야 합니다.

원격 또는 수집

권한

에 대한 요청에는 액세스 토큰이 포함된 인증 헤더가CMS API필요합니다. 클라이언트 자격 증명을 얻고 이를 사용하여 액세스 토큰을 검색하는 방법에 대한 자세한 내용은 Brightcove OAuth 개요를 참조하십시오 .

비디오 메타데이터를 업데이트하는 데 필요한 작업은video-cloud/video/update또는video-cloud/video/all입니다.

구문

요청

              https://cms.api.brightcove.com/v1/accounts/{account_id}/videos/{video_ID}

요청 본문:

요청 본문은 텍스트 트랙 배열이 포함 된 JSON 객체입니다.

    {"text_tracks" : [ {
      "src" : "https://some.site.com/captions/bc_smart_ja.vtt",
      "srclang" : "ja",
      "label" : "日本人",
      "kind" : "captions",
      "mime_type" : null,
      "default" : false
    }, {
      "src" : "https://some.site.com/captions/bc_smart_es.vtt",
      "srclang" : "es",
      "label" : "español",
      "kind" : "captions",
      "mime_type" : null,
      "default" : false
    }, {
      "src" : "https://some.site.com/captions/bc_smart_de.vtt",
      "srclang" : "de",
      "label" : "Deutsch",
      "kind" : "captions",
      "mime_type" : null,
      "default" : false
    }, {
      "src" : "https://some.site.com/captions/bc_smart_fr.vtt",
      "srclang" : "fr",
      "label" : "français",
      "kind" : "captions",
      "mime_type" : null,
      "default" : false
    }, {
      "src" : "https://some.site.com/captions/bc_smart.vtt",
      "srclang" : "en",
      "label" : "English",
      "kind" : "captions",
      "mime_type" : null,
      "default" : true
    }
    ]}

텍스트 트랙 교체

기존 텍스트 트랙 (업로드 또는 원격)을 교체하는 것은 두 단계로 이루어집니다.

  1. CMS API업데이트 (PATCH) 를 통해 기존 텍스트 트랙을 제거합니다.

    API 요청 (패치)

        https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id

    요청 본문

        {
              "text_tracks": []
          }
  2. 원격 텍스트 트랙을 추가하는 경우 다른CMS API업데이트 (PATCH) 를 통해 추가하세요 (선택 사항 - 텍스트 트랙을 업로드하는 경우 다음 단계로 건너뛰세요).

    API 요청 (패치)

        https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id

    요청 본문

        {
            "text_tracks": [
                {
                  "src": "https://some.site.com/vtt/sample.vtt",
                  "srclang": "en",
                  "label": "EN",
                  "kind": "captions",
                  "mime_type": "text/webvtt"
                },
                {
                  "src": "https://some.site.com/vtt/sample-es.vtt",
                  "srclang": "es",
                  "label": "ES",
                  "kind": "captions",
                  "mime_type": "text/webvtt"
                }
            ]
        }
  3. 대신 새 텍스트 트랙을 업로드하는 경우 POST 요청을 통해 Dynamic Ingest API에 추가합니다.

    API 요청 (POST)

        https://ingest.api.brightcove.com/v1/accounts/account_id/videos/video_id /인제스트 요청

    요청 본문

        {
            "text_tracks": [
                {
                    "url": "https://solutions.brightcove.com/bcls/assets/vtt/sample.vtt",
                    "srclang": "en",
                    "kind": "captions",
                    "label": "EN",
                    "default": true
                },
                {
                    "url": "https://solutions.brightcove.com/bcls/assets/vtt/sample-ar.vtt",
                    "srclang": "ar",
                    "kind": "captions",
                    "label": "AR",
                    "default": false
                }
            ]
        }
  4. 에 GET 요청을CMS API하여 새 텍스트 트랙이 비디오와 연결되어 있는지 확인하십시오.
                  https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id