개요: 재생 API

재생 API는 비디오 클라우드에서 비디오 및 재생 목록 데이터를 가져 오는 데 사용됩니다. 일반적으로 웹 페이지 또는 모바일 앱에서 플레이어에게 비디오 데이터를 가져 오는 데 사용됩니다.

서문

Playback API는 웹 페이지 또는 모바일 앱에서 비디오 또는 재생 목록 데이터를 가져올 때 클라이언트 측에서 사용하기 위한 짧은 대기 시간 API입니다. Video Cloud를 CMS 또는 기타 시스템과 통합하는 데 사용하는 일반적인 미디어 관리 API는아닙니다 . 이를 위해서는 CMS API를 사용해야합니다.

Playback API 결과는 재생 가능한 동영상 만 반환하도록 필터링됩니다 (상태 = ACTIVE, 수집 완료 플래그 = true, 예약 된 경우 올바른 데이터 / 시간). 즉, 다른 변환이 아직 처리 중이더라도 하나의 변환이 존재하는 즉시 플레이어가 비디오를 재생할 수 있습니다. 현재 재생할 수 없는 동영상을 가져와야 하는 경우 CMS API를대신 다시 사용해야 합니다.

또한 성능을 최대화하기 위해 Playback API에서 액세스 한 비디오 데이터가 짧은 시간 동안 캐시됩니다. 특정 데이터 세트 ID가 캐시되는 시간은 다양하지만 최대 20 분까지 걸릴 수 있습니다.

API 레퍼런스도 참조하십시오 .

사용 사례

브라이트코브플레이어와브라이트코브 SDK플레이어에는 Playback API의 메서드와 동일한 카탈로그 메서드가 포함되어 있으며, 대부분의 경우 런타임에 비디오 또는 플레이리스트를 검색하여 재생하는 경우에 간단히 사용할 수 있습니다.

그러나 플레이어가없는 모바일 앱 화면에서 비디오 또는 재생 목록보기를 제공 할 수 있습니다.

또한 비디오 포털의 랜딩 페이지와 같이 화면에 플레이어가없는 상태에서 비디오 또는 재생 목록을 검색하여 해당 정보를 표시하려는 경우가있을 수 있습니다.

Playback API는 이러한 경우에 유용합니다.

일반 정보

기본 URL

Playback API의 기본 URL은 다음과 같습니다.

https://edge.api.brightcove.com/playback/v1

계정 경로

모든 경우에 특정 Video Cloud 계정에 대한 요청이 이루어집니다. 따라서 항상 기본 URL에 용어accounts뒤에 계정 ID를 추가해야 합니다.

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}

인증

요청은 다음 세 가지 방법 중 하나로 전달될 수 있는 정책 키에 의해 인증됩니다.

  1. Accept헤더에 대한 인수에서:
    Accept: application/json;pk={policy_key}

    브라우저 기반 클라이언트에 권장되는 방법입니다. 브라우저 CORS “사전 비행”검사의 일부로 추가 요청없이 먼저 요청을 진행할 수 있기 때문입니다. 이렇게 하면 브라우저 요청이 처음 이루어질 때 대기 시간이 절약됩니다.

  2. realm 키워드를 사용하는Authorization헤더에서BCOV-Policy :
    Authorization: BCOV-Policy {policy_key}
  3. BCOV-Policy헤더에서:
    BCOV-Policy: {policy_key}

정책 키 가져오기

정책 키를 얻을 수있는 세 가지 방법이 있습니다.

  1. 모든 Brightcove 플레이어는 자동으로 할당됩니다. 플레이어의 정책 키를 가져오는 방법은이 문서에서 확인할 수있습니다. 정책 키는 계정 전체에 적합하므로 해당 플레이어가 페이지에 삽입되었는지 여부에 관계없이 사용할 수 있습니다.
  2. 정책 키 퀵 스타트를 사용하여 기본정책 키를 생성할 수 있습니다.
  3. 정책 API에 요청할 수 있습니다.

토큰 인증

HLS 및 DASH 콘텐츠에 대한 토큰 인증이 지원됩니다. 토큰 인증이 필요한 경우 고객 성공 관리자에게 계정에 대한 활성화에 대해 문의하십시오.

하드 코딩 된 URL 피하기

미리보기 이미지, 포스터, 비디오 파일 및 기타 미디어에 대한 URL은 페이지나 응용 프로그램에서 하드 코딩되어서는 안됩니다. Playback API는 미디어 파일의 최신 캐시된 URL 버전을 반환하지만 URL 자체는 변경될 수 있습니다. 페이지가 로드될 때마다CMS API (또는Playback API ) 요청을 사용하여 이러한 URL을 검색하거나 6시간 이상 캐시하지 않아야 합니다.

비디오 및 이미지 URL 캐싱

페이지 성능을 향상시키기 위해 비디오와 이미지의 URL을 캐시할 수 있지만 캐시를 정기적으로 새로 고쳐야 합니다. 페이지 성능을 개선하기 위해 검색한 URL을 캐시하는 경우 최소 6시간마다 API 호출을 반복하여 캐시를 새로 고쳐야 합니다.

방법

API는 다음 유형의 다음 GET 요청 만 지원합니다.

비디오 요청

동영상 ID 또는 참조 ID를 사용하여 단일 동영상 개체를 검색 할 수 있습니다.

ID로 동영상 가져 오기

끝점

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/38467382999

샘플 응답

{
  "account_id": "107767373999",
  "ad_keys": null,
  "created_at": "2010-07-12T22:37:34.760Z",
  "description": "Avatar_MakingAScene_Featurette",
  "duration": 595560,
  "id": "38467382999",
  "long_description": null,
  "name": "Avatar_MakingAScene_Featurette",
  "published_at": "2010-07-12T22:37:34.760Z",
  "reference_id": "AvatarMakingShort",
  "text_tracks": [],
  "updated_at": "2010-07-12T22:54:29.666Z",
  "cue_points": [
    {
      "id": "111637107001",
      "name": "Pre-roll",
      "type": "AD",
      "time": 0,
      "metadata": null,
      "force_stop": false
    }
  ],
  "custom_fields": {
    "moretext": "this is the first video uploaded",
    "mylist": "abc"
  },
  "link": {
    "text": "Full Dvd at Amazon",
    "url": "https://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
  },
  "tags": [
    "copied"
  ],
  "poster_sources": [
    {
      "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
    }
  ],
  "thumbnail_sources": [
    {
      "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
    }
  ],
  "poster": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
  "thumbnail": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
  "sources": [
    {
      "avg_bitrate": 379000,
      "width": 320,
      "duration": 595560,
      "size": 28196307,
      "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
      "codec": "H264",
      "asset_id": "111728840001",
      "container": "MP4",
      "height": 180,
      "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
    },
    {
      "avg_bitrate": 379000,
      "width": 320,
      "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
      "size": 28196307,
      "height": 180,
      "duration": 595560,
      "container": "MP4",
      "codec": "H264",
      "asset_id": "111728840001"
    }, ... 6 more sources ...

  ]
}

참조 ID로 동영상 가져 오기

끝점

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/ref:{reference_id}

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/ref:nature_2010-07-12

샘플 응답

{
  "account_id": "107767373999",
  "ad_keys": null,
  "created_at": "2010-07-12T22:37:34.760Z",
  "description": "Avatar_MakingAScene_Featurette",
  "duration": 595560,
  "id": "38467382999",
  "long_description": null,
  "name": "Avatar_MakingAScene_Featurette",
  "published_at": "2010-07-12T22:37:34.760Z",
  "reference_id": "nature_2010-07-12",
  "text_tracks": [],
  "updated_at": "2010-07-12T22:54:29.666Z",
  "cue_points": [
    {
      "id": "111637107001",
      "name": "Pre-roll",
      "type": "AD",
      "time": 0,
      "metadata": null,
      "force_stop": false
    }
  ],
  "custom_fields": {
    "moretext": "this is the first video uploaded",
    "mylist": "abc"
  },
  "link": {
    "text": "Full Dvd at Amazon",
    "url": "https://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
  },
  "tags": [
    "copied"
  ],
  "poster_sources": [
    {
      "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
    }
  ],
  "thumbnail_sources": [
    {
      "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
    }
  ],
  "poster": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
  "thumbnail": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
  "sources": [
    {
      "avg_bitrate": 379000,
      "width": 320,
      "duration": 595560,
      "size": 28196307,
      "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
      "codec": "H264",
      "asset_id": "111728840001",
      "container": "MP4",
      "height": 180,
      "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
    },
    {
      "avg_bitrate": 379000,
      "width": 320,
      "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
      "size": 28196307,
      "height": 180,
      "duration": 595560,
      "container": "MP4",
      "codec": "H264",
      "asset_id": "111728840001"
    }, ... 6 more sources ...

  ]
}

동영상 검색

Playback API를 사용하여 동영상을검색할때는 검색이 가능한 정책 키를 사용해야 합니다. 자세한 내용은재생 API 레퍼런스문서를 참조하십시오.

매개변수

모든 매개 변수는선택 사항이라는 점에유의하십시오. GET Videos요청에만 적용됩니다.

GET 비디오 요청 매개 변수
매개 변수 설명
q 검색용 쿼리 문자열 - 자세한 내용은검색 가이드를 참조하십시오.
limit 반환할 동영상 수 - 1에서 1000 사이의 정수여야 합니다. 기본: 20
offset 건너뛸 동영상 수 (페이징 결과의 경우) 양의 정수여야 합니다. 기본값: 0
sort 정렬 기준이 되는 필드를 지정하는 문자열입니다.
내림차순으로-정렬하려면 부터 시작하십시오.
값이 제공된 경우 기본q정렬은 “점수" (검색 결과와 원래 쿼리의 관련성) 를 기준으로 합니다.
q값을 지정하지 않은 경우 기본 정렬은updated_at내림차순입니다.
다음 필드는 정렬에 유효합니다. namereference_id , created_at , published_at , updated_at , schedule_starts_at , schedule_ends_atstate , plays_total , 및plays_trailing_week
자세한 내용은 의 비디오가져오기섹션을 참조하십시오.재생 API 레퍼런스
config_id 배달 규칙 보기
ad_config_id SSAI로 비디오 요청 보기

브라이트코브Playback API에서 비디오를 검색하는 프로그래밍 방식을 제공합니다. Video Cloud 도서관.

비디오 데이터에 대한 기본 및 복합 검색을 수행하려면 다음q매개 변수를 사용합니다.

https://edge.api.brightcove.com/playback/v1/accounts/1752604051111/videos?q={search terms}

비디오 검색 방법에 대한 자세한 내용은 비디오검색문서를 참조하십시오.

페이징 결과

limit매개 변수를 사용하여 요청에서 반환할 항목 수 (최대 1000개) 를 지정합니다. 그런 다음offset매개 변수를 사용하여 보다 큰 결과 집합을 페이지로 이동할 수limit있습니다. offset는 건너뛸 항목 수입니다.

예를 들어 다음 검색에서는 총 결과 집합에 75개 이상의 비디오가 있다고 가정하고 전체 결과 집합의 비디오 51-75를 반환합니다.

/videos?q=updated_at:2014-01-01..2014-06-30&limit=25&offset=50

limitoffset매개변수는 동영상에만 사용할 수 있습니다.

페이징 모범 사례

Playback API에서 결과 집합을 페이징 할 때 다음 단계를 따르는 것이 좋습니다.

  1. limitoffset매개 변수를 사용하여 결과 집합에서 데이터 그룹을 반환할 수 있습니다.
    /accounts/578380111111/videos?q=tags:nature&limit=20&offset=50
  2. 각 응답마다count필드가 항상 검색결과 집합의 최대 동영상 수를 표시하는 것을 볼 수 있습니다.
    {"count": 171,
      "videos": [ ... ]
    }
  3. 첫 번째count요청의 동영상 합계를 사용하여 요청해야 하는 페이지 수를 결정할 수 있습니다.

    또는 다음을 심문할 수 있습니다. count각 응답의 가치를 평가하고 다음이 될 때까지 계속합니다. count페이지 크기 곱하기limit .
    count <= page-number * limit

비디오 결과 정렬

매개sort=field_name변수를 사용하여 결과 정렬 방법을 지정합니다. 다음 비디오 필드를 기준으로 정렬할 수 있습니다. [1-1]

  • 이름
  • 참조 ID
  • 생성한_AT
  • 게시됨_at
  • 업데이트됨
  • schedule_starts_at (참고: 이것은정렬필드이고검색 필드는 입니다schedule.starts_at )
  • schedule_ends_at (참고: 이것은정렬필드이고검색 필드는 입니다schedule.ends_at )
  • 국가
  • 총 플레이 횟수[1-2]
  • 플레이_트레일링_주간[1-2]

참고 사항

  • [1-1] 비디오 검색 통화에 정렬 값을 제공하지않으면 결과가 관련성에 따라 정렬됩니다. 정렬 값을 제공하지 않으면GET화상 통화 결과는 다음을 기준으로 정렬됩니다. updated_at내림차순.
  • [1-2]정렬할 수 있습니다. plays_total또는plays_trailing_week , 그러나 이러한 필드는 결과에 포함되지 않습니다.

모든 비디오 및 대용량 데이터 세트

계정의 모든 동영상 또는 많은 수의 동영상을 검색하는 경우 다음 사항에 유의해야 할 사항이 있습니다.

  1. 허용된 최대 값limit (1000개) 을 사용하고 싶을 수도 있지만 API 요청 시간 초과 가능성을 최소화하려면 25개 이하로 동영상을 일괄적으로 검색하는 것이 좋습니다.
  2. 대용량 데이터 세트를 통해 페이징할 때 작업 중에 비디오 데이터가 업데이트되어 항목이 응답으로 이동될 수 있습니다.
    • 연속된 페이지에서 항목이 반복되는 것을 볼 수 있습니다.
    • 항목이 이전 응답 집합으로 이동함에 따라 누락되었을 수 있습니다.

    첫 번째 가능성을 설명하기 위해 동영상 검색을 완료한 후 앱에서 전체 항목 목록의 중복을 제거해야 합니다. 두 번째 가능성을 처리하려면 검색된 총 항목 수 (중복 제거 후) 를 예상 수와 비교 한 다음 요청을 다시 실행하여 last_modified_date (내림차순) 로 결과를 정렬해야합니다. 누락 된 항목을 선택하기 위해 둘 이상의 배치를 검색 할 필요가 없습니다.

  3. 반환된 결과를 적절하게 정렬하여 이전 항목에서 시나리오의 가능성을 줄일 수 있습니다. 검색관련성에따른 기본 정렬은 키워드, 태그 및 사용자 지정 필드 값의 조합을 찾는 복잡한 알고리즘을 기반으로 합니다. 여러 키워드, 태그 및/또는 사용자 정의 필드를 기반으로 비디오를 검색하는 경우 관련성을 기준으로 정렬하면 원하는 대로 정확하게 정렬할 수 있습니다. 하지만 동영상 전체를 검색하거나 대량의 동영상을 검색하려는 경우sort매개변수를 명시적으로 설정하면 반환되는 항목의 순서를 더 잘 제어할 수 있습니다.

비디오 받기

끝점

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos?q=tags:nature,name:nature

샘플 응답

{
  "count": 123,
  "videos":
    [
      {<video1 fields>},
      {<video2 fields>},
      ...
    ]
}

오류 응답

검색이 활성화되지 않은 정책 키로 비디오 가져 오기 엔드 포인트를 사용하려고하면 Playback API에서 다음 오류 메시지가 표시됩니다.

[
  {
    "api_call": "search",
    "error_subcode": "API",
    "error_code": "ACCESS_DENIED",
    "message": "Access to this resource is forbidden by access policy."
  }
]

Playback API를 사용하면 계정에서 지정된 동영상과 관련된 동영상을 검색 할 수 있습니다. 를 기반으로name그리고short description API는 다음 필드에서 부분적으로 일치하는 항목을 검색합니다.

  • name
  • short description
  • long description
  • tags

지역 제한이 적용되는 경우 전체 결과 페이지를받지 못할 수 있습니다.

매개변수

GET 관련 동영상 요청에 다음 URL 매개 변수를 사용할 수 있습니다.

관련 동영상 받기 매개 변수 요청
매개 변수 설명
limit 반환할 동영상 수(기본값=20, 최대값=1000)
ad_config_id ad_config_id를 추가하여 SSAI로동영상을 반환하세요

기본적으로 응답에는 최대 20 개의 동영상이 포함됩니다. limit파라미터를 사용하여 최대 1,000개의 동영상을 반환할 수 있지만 지연 시간이 늘어날 수 있습니다.

관련 동영상을 찾을 때는offset매개 변수가 없으므로 동영상 결과를 페이지로 확인할 수 없습니다.

동영상 ID를 사용하여 관련 동영상 가져 오기

끝점

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}/related

https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/5565662146001/related

참조 ID를 사용하여 관련 동영상 가져 오기

끝점

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/ref:{reference_id}/related

https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/ref:nature/related

샘플 응답

아래 응답에서count분야와 달리동영상 검색응답.

{
  "videos":
    [
      {<video1 fields>},
      {<video2 fields>},
      ...
    ]
}

오류 응답

검색이 활성화되지 않은 정책 키로 관련 엔드 포인트 찾기를 사용하려고하면 Playback API에서 다음 오류 메시지가 표시됩니다.

[
  {
    "api_call": "search",
    "error_subcode": "API",
    "error_code": "ACCESS_DENIED",
    "message": "Access to this resource is forbidden by access policy."
  }
]

전달 규칙

Playback API 요청에 대한 응답에 전송 규칙을config_id={DELIVERY_RULES_ID}적용하려면 요청에 추가하세요.

https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/6026822730001?config_id=9869b9f8-59a1-4490-a092-c28b6cf79764

SSAI로 비디오 요청

애플리케이션에서 Brightcove 웹 플레이어 또는 Brightcove 기본 SDK를 사용하지 않더라도 자체 플레이어에서 SSAI (Server-Side Ad Insertion)를 계속 사용할 수 있습니다.

SSAI로 비디오 받기

SSAI로 동영상을 반환하려면 광고 구성 ID를 Playback API 요청에 URL 매개 변수로 추가하세요. 이 요청을 통해 동영상 ID 또는 동영상 참조 ID를 사용할 수 있습니다.

  1. 재생 API ad_config_id요청의 끝에 다음을 추가하세요.

    URL 매개변수가 있는 끝점

    https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}?ad_config_id={ad_config_id}

    https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/5565662146001?ad_config_id=1234abcd
  2. 아래 샘플 응답에서 다음을 확인할 수 있습니다.

    • 응답은 광고 구성 ID를 포함하지 않은 경우와 유사합니다.
    • sources배열의 요소에는 라는 새 속성이 포함됩니다vmap .
    • 콘텐츠에서 광고가 어디에 있는지 알고 싶다면vmap속성에 링크된 VMAP 파일을 읽어보세요.

    샘플 재생 API 응답

        {
          "description": "The story of a giant rabbit with a heart bigger than himself. ",
          "poster_sources": [
            {
              "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/3723496277001/dd5bd69c-e962-4a43-9dbd-94faaaba1785/main/1280x720/5m17s130ms/match/image.jpg"
            }
          ],
          "tags": [],
          "cue_points": [],
          "custom_fields": {},
          "account_id": "3723496277001",
          "sources": [
            {
              "ext_x_version": "4",
              "vmap": "https://ssaiplayback.prod.boltdns.net/playback/once/v1/vmap/hls/v4/clear/3723496277001/7a3316d9-1b06-4d62-bec8-3919b43fffbb/dd5bd69c-e962-4a43-9dbd-94faaaba1785/content.vmap?bc_token=NTllMTMxYjNfMTdkOTY2YThhNjU5MDk5ZTQ3NDBkNmUxOTYyOGRkNzM0ZjBiM2RjMGEwOThjOGFkYjk1MWQxMzFmNGYzMjA5YQ%3D%3D",
              "type": "application/x-mpegURL",
              "src": "https://ssaiplayback.prod.boltdns.net/playback/once/v1/hls/v4/clear/3723496277001/7a3316d9-1b06-4d62-bec8-3919b43fffbb/dd5bd69c-e962-4a43-9dbd-94faaaba1785/master.m3u8?bc_token=NTllMTMxYjNfZGM5ZDg0NGM2ZGJjZDcxZTFjOGYyODBlMzM2NmNmMmJkMWNhZDczNWViNzRiMjIwNjg5MjkzZGM0ZmJlMTc1Yw%3D%3D"
            },
            ...
          ],
          "created_at": "2017-05-15T17:09:11.171Z"
        }
  3. vmap URL 중 하나를 복사하여 브라우저 검색창에 붙여넣으면 VMAP 응답을 볼 수 있습니다.
  4. VMAP 응답에는<bc:Brightcove태그contenturi기인하다. 플레이어를 로드하는 데 사용해야 하는 URL입니다.

    샘플 VMAP 응답

    다음은 vmap 응답의 예입니다.

    <vmap:VMAP xmlns:bc="bc" xmlns:vmap="https://www.iab.net/vmap-1.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" version="1.0">
            <vmap:Extensions>
              <bc:Brightcove ttl="3600" contenturi="https://ssaimanifest.prod.boltdns.net/us-east-1/playback/once/v1/hls/v4/clear/1752604059001/d6190656-2095-4ff3-8afe-1a0b60d67ed2/dca41ae8-d8f5-48a6-9853-564764d60b84/6830b2e4-3298-439d-beef-e04abef9f23c/content.m3u8?bc_token=NWZkMTE5NTlfZWQxNDAzNDRkNTAxNDRlMWEwODU3MTI1MzY2YjAyZWQ5YzlmZTkzY2UwMjM5NTM1MmI2NGRjZDNhNjE2ZDhlOA%3D%3D"
              contentlength="24.0574" payloadlength="50.1835" contenttype="application/x-mpegURL" />
              <bc:thumbnailURL type="thumbnail" width="480" height="270" bandwidth="0">https://ssai.playback.us-east-1.prod.deploys.brightcove.com/v1/thumbnail/1752604059001/dca41ae8-d8f5-48a6-9853-564764d60b84/low-res/6830b2e4-3298-439d-beef-e04abef9f23c/thumbnail.vtt?bc_token=NWZkMTE5NTlfMmVmODIzZDJjMGZkMDBjZjY1YWIxNDQ4Y2YyZmUxYTExNzg5YmIxZDI5ZTdkMjgyODBmMDBmYTViMTE2Yzc0MQ%3D%3D</bc:thumbnailURL>
            </vmap:Extensions>
            <vmap:AdBreak breakType="linear" breakId="PreRoll_0_0" timeOffset="start">
              <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="0">
                <vmap:VASTData>
                  <VAST xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
                    <Ad id="1">
                      <InLine>
                        <AdSystem>Test Ad Server</AdSystem>
                        <AdTitle>Portals</AdTitle>
                        <Description>Demo ad number 6</Description>
                        <Error></Error>
                        <Creatives>
                          <Creative>
                            <Linear>
                              <CreativeExtensions>
                                <CreativeExtension>
                                  <BrightcoveForeignKey>1</BrightcoveForeignKey>
                                </CreativeExtension>
                              </CreativeExtensions>
                              <Duration>00:00:05.9392</Duration>
                              <AdParameters>
                                <xml></xml>
                              </AdParameters>
                              <VideoClicks/>
                            </Linear>
                          </Creative>
                        </Creatives>
                        <Extensions>
                          <Extension>
                            <xml>data</xml>
                          </Extension>
                        </Extensions>
                      </InLine>
                    </Ad>
                  </VAST>
                </vmap:VASTData>
              </vmap:AdSource>
            </vmap:AdBreak>
            <vmap:AdBreak breakType="linear" breakId="MidRoll_5_0" timeOffset="00:00:04.8381">
              <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="1">
                <vmap:VASTData>
                  <VAST xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
                    <Ad id="2">
                      <InLine>
                        <AdSystem>Test Ad Server</AdSystem>
                        <AdTitle>Marketing</AdTitle>
                        <Description>Demo ad number 4</Description>
                        <Error></Error>
                        <Creatives>
                          <Creative>
                            <Linear skipoffset="00:00:05">
                              <CreativeExtensions>
                                <CreativeExtension>
                                  <BrightcoveForeignKey>2</BrightcoveForeignKey>
                                </CreativeExtension>
                              </CreativeExtensions>
                              <Duration>00:00:12.1788</Duration>
                              <AdParameters>
                                <xml></xml>
                              </AdParameters>
                              <VideoClicks/>
                            </Linear>
                          </Creative>
                        </Creatives>
                        <Extensions>
                          <Extension>
                            <xml>data</xml>
                          </Extension>
                        </Extensions>
                      </InLine>
                    </Ad>
                  </VAST>
                </vmap:VASTData>
              </vmap:AdSource>
            </vmap:AdBreak>
            <vmap:AdBreak breakType="linear" breakId="PostRoll_24_0" timeOffset="end">
              <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="2">
                <vmap:VASTData>
                  <VAST xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
                    <Ad id="3">
                      <InLine>
                        <AdSystem>Test Ad Server</AdSystem>
                        <AdTitle>Brand</AdTitle>
                        <Description>Demo ad number 1</Description>
                        <Error></Error>
                        <Creatives>
                          <Creative>
                            <Linear>
                              <CreativeExtensions>
                                <CreativeExtension>
                                  <BrightcoveForeignKey>3</BrightcoveForeignKey>
                                </CreativeExtension>
                              </CreativeExtensions>
                              <Duration>00:00:08.0080</Duration>
                              <AdParameters>
                                <xml></xml>
                              </AdParameters>
                              <VideoClicks/>
                            </Linear>
                          </Creative>
                        </Creatives>
                        <Extensions>
                          <Extension>
                            <xml>data</xml>
                          </Extension>
                        </Extensions>
                      </InLine>
                    </Ad>
                  </VAST>
                </vmap:VASTData>
              </vmap:AdSource>
            </vmap:AdBreak>
          </vmap:VMAP>

    자세한 내용은 Brightcove 이외의 플레이어 및 SDK로 SSAI 구현 문서를 참조하십시오.

플레이어 구성

광고_구성_ID 필요

Policy API를 사용하면 다음을 포함해야하는 정책 키를 생성 할 수 있습니다. ad_config_id Playback API를 요청할 때 URL 매개 변수입니다. 이 기능을 설정하는 방법에 대한 자세한 내용은정책 API 참조문서를 참조하십시오.

정책 키가 필수로 설정되고 Playback API 요청에 추가하지 않은 경우 다음 오류가 발생합니다. ad_config_id

[
  {
    "error_subcode": "AD_CONFIG",
    "error_code": "ACCESS_DENIED",
    "message": "Missing required ad_config_id parameter"
  }
]

재생 목록 요청

재생 목록 동영상 개체는 재생 목록 ID 또는 참조 ID를 사용하여 검색 할 수 있습니다.

재생목록에는 최대 1000개의 동영상이 포함될 수 있지만 기본적으로 처음 20개만 반환됩니다. 아래에 설명된 매개 변수를 사용하여 한 번에 최대 1,000개의 동영상을 반환하거나, 더 작은 동영상을limit사용하고 해당offset매개 변수를 사용하여 원하는 동영상 그룹을 검색하거나 여러 요청을 제출하여 모두 반환할 수 있습니다.

매개변수

다음 URL 매개 변수는 재생 목록 요청에 사용할 수 있습니다.

재생 목록 요청 매개 변수
매개 변수 설명
제한 반환할 동영상 수(기본값=20, 최대값=1000)
오프셋 건너 뛸 동영상 수 (재생 목록 시작부터, 기본값 = 0)

예를 들어, 요청에 추가된 다음 매개 변수는 -?제한=100&오프셋=200 - 재생목록에 201-300 동영상이 반환됩니다 (동영상이 너무 많다고 가정).

ID로 재생 목록 가져 오기

끝점

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/playlists/{playlist_id}

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/playlists/38467382999

샘플 응답

{
  "account_id": "107767373999",
  "created_at": "2010-07-12T22:43:30.290Z",
  "description": null,
  "id": "111592530001",
  "name": "Play One",
  "reference_id": null,
  "type": "EXPLICIT",
  "updated_at": "2010-07-12T22:51:25.055Z",

  "videos": [
    {
      "description": "Avatar_MakingAScene_Featurette",
      "poster_sources": [
        {
          "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
        }
      ],
      "tags": [
        "copied"
      ],
      "cue_points": [
        {
          "id": "111637107001",
          "name": "Pre-roll",
          "type": "AD",
          "time": 0,
          "metadata": null,
          "force_stop": false
        }
      ],
      "custom_fields": {
        "moretext": "this is the first video uploaded",
        "mylist": "abc"
      },
      "account_id": "107767373999",
      "sources": [
        {
          "avg_bitrate": 379000,
          "width": 320,
          "duration": 595560,
          "size": 28196307,
          "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728840001",
          "container": "MP4",
          "height": 180,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 379000,
          "width": 320,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 28196307,
          "height": 180,
          "duration": 595560,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728840001"
        },
        {
          "avg_bitrate": 267000,
          "width": 320,
          "duration": 595560,
          "size": 19894997,
          "stream_name": "mp4:107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728852001",
          "container": "MP4",
          "height": 180,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 267000,
          "width": 320,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 19894997,
          "height": 180,
          "duration": 595560,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728852001"
        },
        {
          "avg_bitrate": 549000,
          "width": 480,
          "duration": 595567,
          "size": 40889436,
          "stream_name": "mp4:107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728860001",
          "container": "MP4",
          "height": 268,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 549000,
          "width": 480,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 40889436,
          "height": 268,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728860001"
        },
        {
          "avg_bitrate": 835000,
          "width": 640,
          "duration": 595567,
          "size": 62142992,
          "stream_name": "mp4:107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728865001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 835000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 62142992,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728865001"
        },
        {
          "avg_bitrate": 1744000,
          "width": 640,
          "duration": 595567,
          "size": 129836869,
          "stream_name": "mp4:107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111735357001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 1744000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 129836869,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111735357001"
        },
        {
          "avg_bitrate": 1249000,
          "width": 640,
          "duration": 595567,
          "size": 92994065,
          "stream_name": "mp4:107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111735369001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 1249000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 92994065,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111735369001"
        }
      ],
      "name": "Avatar_MakingAScene_Featurette",
      "reference_id": "AvatarMakingShort",
      "long_description": null,
      "duration": 595560,
      "published_at": "2010-07-12T22:37:34.760Z",
      "text_tracks": [],
      "updated_at": "2010-07-12T22:54:29.666Z",
      "thumbnail": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
      "poster": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
      "link": {
        "text": "Full Dvd at Amazon",
        "url": "https://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
      },
      "id": "38467382999",
      "ad_keys": null,
      "thumbnail_sources": [
        {
          "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
        }
      ],
      "created_at": "2010-07-12T22:37:34.760Z"
    }
  ],
}

참조 ID로 재생 목록 가져 오기

끝점

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/playlists/ref:{reference_id}

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/playlists/ref:nature_2010-07-12

샘플 응답

{
  "account_id": "107767373999",
  "created_at": "2010-07-12T22:43:30.290Z",
  "description": null,
  "id": "111592530001",
  "name": "Play One",
  "reference_id": nature_2010-07-12,
  "type": "EXPLICIT",
  "updated_at": "2010-07-12T22:51:25.055Z",

  "videos": [
    {
      "description": "Avatar_MakingAScene_Featurette",
      "poster_sources": [
        {
          "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
        }
      ],
      "tags": [
        "copied"
      ],
      "cue_points": [
        {
          "id": "111637107001",
          "name": "Pre-roll",
          "type": "AD",
          "time": 0,
          "metadata": null,
          "force_stop": false
        }
      ],
      "custom_fields": {
        "moretext": "this is the first video uploaded",
        "mylist": "abc"
      },
      "account_id": "107767373999",
      "sources": [
        {
          "avg_bitrate": 379000,
          "width": 320,
          "duration": 595560,
          "size": 28196307,
          "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728840001",
          "container": "MP4",
          "height": 180,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 379000,
          "width": 320,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 28196307,
          "height": 180,
          "duration": 595560,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728840001"
        },
        {
          "avg_bitrate": 267000,
          "width": 320,
          "duration": 595560,
          "size": 19894997,
          "stream_name": "mp4:107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728852001",
          "container": "MP4",
          "height": 180,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 267000,
          "width": 320,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 19894997,
          "height": 180,
          "duration": 595560,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728852001"
        },
        {
          "avg_bitrate": 549000,
          "width": 480,
          "duration": 595567,
          "size": 40889436,
          "stream_name": "mp4:107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728860001",
          "container": "MP4",
          "height": 268,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 549000,
          "width": 480,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 40889436,
          "height": 268,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728860001"
        },
        {
          "avg_bitrate": 835000,
          "width": 640,
          "duration": 595567,
          "size": 62142992,
          "stream_name": "mp4:107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728865001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 835000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 62142992,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728865001"
        },
        {
          "avg_bitrate": 1744000,
          "width": 640,
          "duration": 595567,
          "size": 129836869,
          "stream_name": "mp4:107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111735357001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 1744000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 129836869,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111735357001"
        },
        {
          "avg_bitrate": 1249000,
          "width": 640,
          "duration": 595567,
          "size": 92994065,
          "stream_name": "mp4:107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111735369001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 1249000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 92994065,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111735369001"
        }
      ],
      "name": "Avatar_MakingAScene_Featurette",
      "reference_id": "AvatarMakingShort",
      "long_description": null,
      "duration": 595560,
      "published_at": "2010-07-12T22:37:34.760Z",
      "text_tracks": [],
      "updated_at": "2010-07-12T22:54:29.666Z",
      "thumbnail": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
      "poster": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
      "link": {
        "text": "Full Dvd at Amazon",
        "url": "https://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
      },
      "id": "38467382999",
      "ad_keys": null,
      "thumbnail_sources": [
        {
          "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
        }
      ],
      "created_at": "2010-07-12T22:37:34.760Z"
    }
  ],
}

캡션

청각 장애인용 자막은 동영상에 액세스하려는 개인에게 동영상에 대한 추가 정보를 제공합니다. 청각 장애인과 난청이 비디오의 오디오 부분에 액세스하려면 자막이 필요합니다. 캡션을 처음 사용하는 경우개요를 참조하십시오. 비디오 문서에 캡션 추가

외부 WebVTT

외부 WebVTT 캡션은 비디오와 분리된 텍스트 파일입니다. 다음과 같이 캡션 파일을 비디오와 연결할 수 있습니다.

샘플 응답

다음은 Media 모듈을 사용하여 WebVTT 캡션 파일이 비디오에 추가 된 Playback API의 샘플 응답입니다. 텍스트 트랙src속성은 외부 캡션 파일을 가리키는 것을 알 수 있습니다.

{
"text_tracks": [
{
  "mime_type": null,
  "account_id": "20318290001",
  "default": true,
  "sources": [
    {
      "src": "https://static.3playmedia.com/p/files/2240988/threeplay_transcripts/6418302.vtt?project_id=10127&format_id=51&refresh=1515241856"
    }
  ],
  "src": "https://static.3playmedia.com/p/files/2240988/threeplay_transcripts/6418302.vtt?project_id=10127&format_id=51&refresh=1515241856",
  "asset_id": null,
  "label": "English",
  "id": "13d66def-d004-4e75-b160-4ac693eff7d7",
  "kind": "captions",
  "srclang": "en"
}
],
}

매니페스트 내 웹VTT

매니페스트 내 WebVTT 자막은 동영상과 함께 수집됩니다. 이것은 처음 비디오를 수집 할 때 또는 비디오를 수집 한 후에 수행 할 수 있습니다. 다음과 같이 매니페스트 캡션을 만들 수 있습니다.

샘플 응답

다음은 동적 인제스트 API를 사용하여 비디오에 WebVTT 캡션 파일을 추가한 재생 API의 샘플 응답입니다. 텍스트 트랙src속성은 내부 Brightcove 파일을 가리키는 것을 알 수 있습니다.

{
"text_tracks": [
{
  "mime_type": "text/webvtt",
  "account_id": "1752604059001",
  "default": false,
  "sources": [
    {
      "src": "https://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173"
    },
    {
      "src": "https://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173"
    }
    ],
  "src": "https://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173",
  "asset_id": null,
  "label": "EN",
  "id": "92cb36a7-c836-4506-a87f-f649316c0cdf",
  "kind": "captions",
  "in_band_metadata_track_dispatch_type": "",
  "srclang": "en"
}
],
}

명백한

HLS 또는 DASH 비디오 파일의 매니페스트에는 WebVTT 캡션을 포함하는 데 필요한 정보도 포함되어 있습니다.

HLS
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-0",NAME="en (Main)",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/8b12c808-c5ea-47f3-abfa-c23b023db297/10s/rendition.m3u8?fastly_token=NWE3YjU3ZThfNzAwNTczOWM4MWQ4Mzk2NjFkYjVjYmFhYjQwNzY2MWUzM2MyNDM5ZDA5ZGExYTFkMzRmYzA0MDdhOTlmZWJhMw%3D%3D"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles-0",NAME="EN",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/rendition.m3u8?fastly_token=NWE3YjU3ZThfNDYzOThkZGJiZTU1NTlhOTdkYzA5OTA3M2UzZGRlYTgzMmRkZmUxMGIxYTJkY2Y5ZDQ1ODFiNTEyMmNiZDVhMw%3D%3D"
#EXT-X-STREAM-INF:PROGRAM-ID=0,BANDWIDTH=519200,CODECS="mp4a.40.2,avc1.420015",RESOLUTION=480x270,AUDIO="audio-0",CLOSED-CAPTIONS=NONE,SUBTITLES="subtitles-0"
https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/5f7850d9-9a65-4eee-8810-86a1e18e05fb/10s/rendition.m3u8?fastly_token=NWE3YjU3ZThfY2Q5YmE2ODc2OWFiNTgyZjUxMjc1MzRhNmQxMzA0ZmJmY2RlMGU4ZjBiNDExZGRmNjc3YjQ0OGQ5N2RiOTVmMA%3D%3D
대시
<AdaptationSet mimeType="text/vtt" lang="en">
<Representation bandwidth="256" id="92cb36a7-c836-4506-a87f-f649316c0cdf">
  <BaseURL>https://bcboltbde696aa-a.akamaihd.net/media/v1/dash/live/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf.vtt?akamai_token=exp=1518032494~acl=/media/v1/dash/live/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a*~hmac=3e2edc412c273f1255f2c18bbbcee7afc6a2edb74573f9295b0f05feda69f0e2</BaseURL>
</Representation>
</AdaptationSet>