서문
Playback API는 웹 페이지 또는 모바일 앱에서 비디오 또는 재생 목록 데이터를 가져올 때 클라이언트 측에서 사용하기 위한 짧은 대기 시간 API입니다. 그것은아니 Video Cloud를 CMS 또는 기타 시스템과 통합하는 데 사용할 일반 미디어 관리 API-이를 위해 CMS API .
Playback API 결과는 재생 가능한 동영상 만 반환하도록 필터링됩니다 (상태 = ACTIVE, 수집 완료 플래그 = true, 예약 된 경우 올바른 데이터 / 시간). 즉, 다른 변환이 아직 처리 중이더라도 하나의 변환이 존재하는 즉시 플레이어가 비디오를 재생할 수 있습니다. 현재 재생할 수없는 동영상을 가져와야하는 경우 다시 CMS API대신.
또한 성능을 최대화하기 위해 Playback API에서 액세스 한 비디오 데이터가 짧은 시간 동안 캐시됩니다. 특정 데이터 세트 ID가 캐시되는 시간은 다양하지만 최대 20 분까지 걸릴 수 있습니다.
또한 참조 API 참조 .
사용 사례
그만큼 Brightcove 플레이어그리고 Brightcove SDK 플레이어 Playback API의 메서드와 동일한 카탈로그 메서드를 포함하고 대부분의 경우 재생할 비디오 또는 재생 목록을 검색하는 경우 간단히 사용할 수 있습니다.
그러나 플레이어가없는 모바일 앱 화면에서 비디오 또는 재생 목록보기를 제공 할 수 있습니다.
또한 비디오 포털의 랜딩 페이지와 같이 화면에 플레이어가없는 상태에서 비디오 또는 재생 목록을 검색하여 해당 정보를 표시하려는 경우가있을 수 있습니다.
Playback API는 이러한 경우에 유용합니다.
일반 정보
기본 URL
Playback API의 기본 URL은 다음과 같습니다.
https://edge.api.brightcove.com/playback/v1
계정 경로
모든 경우에 특정 Video Cloud 계정에 대한 요청이 이루어집니다. 따라서 항상 기본 URL에 계정 ID accounts
다음에 용어를 추가합니다.
https://edge.api.brightcove.com/playback/v1/accounts/{account_id}
인증
요청은 다음 세 가지 방법 중 하나로 전달될 수 있는 정책 키에 의해 인증됩니다.
Accept
헤더에 대한 인수에서:Accept: application/json;pk={policy_key}
브라우저 기반 클라이언트에 권장되는 방법입니다. 브라우저 CORS “사전 비행”검사의 일부로 추가 요청없이 먼저 요청을 진행할 수 있기 때문입니다. 이렇게 하면 브라우저 요청이 처음 이루어질 때 대기 시간이 절약됩니다.
- realm 키워드를 사용하는
Authorization
헤더에서BCOV-Policy
:Authorization: BCOV-Policy {policy_key}
BCOV-Policy
헤더에서:BCOV-Policy: {policy_key}
정책 키 가져오기
정책 키를 얻을 수있는 세 가지 방법이 있습니다.
- 모든 Brightcove 플레이어는 자동으로 할당됩니다. 플레이어의 정책 키를 얻는 방법은 다음에서 찾을 수 있습니다. 이 문서 . 정책 키는 계정 전체에 적합하므로 해당 플레이어가 페이지에 삽입되었는지 여부에 관계없이 사용할 수 있습니다.
- 정책 키빠른 시작을 사용하여 기본 정책 키를생성할 수 있습니다.
- 당신은에 요청할 수 있습니다정책 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": "http://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
},
"tags": [
"copied"
],
"poster_sources": [
{
"src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
}
],
"thumbnail_sources": [
{
"src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
}
],
"poster": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"thumbnail": "http://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": "http://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": "http://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
},
"tags": [
"copied"
],
"poster_sources": [
{
"src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
}
],
"thumbnail_sources": [
{
"src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
}
],
"poster": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"thumbnail": "http://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": "http://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
요청 만.
매개 변수 | 설명 |
---|---|
q |
검색을위한 쿼리 문자열-자세한 내용은검색 가이드 |
limit |
반환할 동영상 수 - 1에서 100 사이의 정수여야 합니다. 기본값: 20 |
offset |
건너뛸 동영상 수 (페이징 결과의 경우) 양의 정수여야 합니다. 기본값: 0 |
sort |
정렬 기준이 되는 필드를 지정하는 문자열입니다. 시작 - 내림차순으로 정렬합니다.값이 q 제공된 경우 기본 정렬은 "점수"(원래 쿼리에 대한 검색 결과의 관련성)를 기준으로합니다.값이없는 경우 q 제공된 경우 기본 정렬은updated_at 내림차순.다음 필드는 정렬에 유효합니다. name , reference_id , created_at , published_at , updated_at , schedule_starts_at , schedule_ends_at , state , plays_total , 및plays_trailing_week 자세한 내용은비디오 받기 Playback API 참조 섹션 |
검색 매개 변수 사용
브라이트 코브Playback API프로그래밍 방식으로 동영상을 검색 할 수 있습니다. Video Cloud 도서관.
비디오 데이터에 대한 기본 및 복잡한 검색을 수행하려면 다음q
매개 변수를 사용합니다.
https://edge.api.brightcove.com/playback/v1/accounts/1752604051111/videos?q={search terms}
비디오를 검색하는 방법에 대한 자세한 내용은비디오 검색문서를 참조하십시오.
페이징 결과
사용limit
매개 변수를 사용하여 요청에 대해 반환 할 항목 수 (최대 100 개)를 지정합니다. 그런 다음offset
매개 변수가limit
. offset
은 건너뛸 항목 수입니다.
예를 들어 다음 검색에서는 총 결과 집합에 75개 이상의 비디오가 있다고 가정하고 전체 결과 집합의 비디오 51-75를 반환합니다.
/videos?q=updated_at:2014-01-01..2014-06-30&limit=25&offset=50
그만큼limit
과offset
매개 변수는 비디오에만 사용할 수 있습니다.
페이징 모범 사례
Playback API에서 결과 집합을 페이징 할 때 다음 단계를 따르는 것이 좋습니다.
- 사용
limit
과offset
결과 집합에서 데이터 그룹을 반환하는 매개 변수./accounts/578380111111/videos?q=tags:nature&limit=20&offset=50
- 각 응답을 통해
count
필드는 항상 결과 집합의 최대 비디오 수를 표시합니다.{"count": 171, "videos": [ ... ] }
- 전체
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
) - 국가
- plays_total [1-2]
- plays_trailing_week [1-2]
참고 사항
- [1-1]화상 검색 통화에 대해 정렬 값을 제공하지 않으면 결과가 관련성에 따라 정렬됩니다. 정렬 값을 제공하지 않는 경우
GET
화상 통화, 결과는updated_at
내림차순. - [1-2]정렬 할 수 있습니다.
plays_total
또는plays_trailing_week
, 그러나 이러한 필드는 결과에 포함되지 않습니다.
모든 비디오 및 대용량 데이터 세트
계정의 모든 동영상 또는 많은 수의 동영상을 검색하는 경우 다음 사항에 유의해야 할 사항이 있습니다.
- 가장 큰 허용
limit
(100) 을 사용하려고 할 수도 있지만 API 요청 시간 초과 가능성을 최소화하기 위해 25 이하로 비디오를 검색하는 것이 좋습니다 - 대용량 데이터 세트를 통해 페이징할 때 작업 중에 비디오 데이터가 업데이트되어 항목이 응답으로 이동될 수 있습니다.
- 연속된 페이지에서 항목이 반복되는 것을 볼 수 있습니다.
- 항목이 이전 응답 집합으로 이동함에 따라 누락되었을 수 있습니다.
첫 번째 가능성을 설명하기 위해 동영상 검색을 완료한 후 앱에서 전체 항목 목록의 중복을 제거해야 합니다. 두 번째 가능성을 처리하려면 검색된 총 항목 수 (중복 제거 후) 를 예상 수와 비교 한 다음 요청을 다시 실행하여 last_modified_date (내림차순) 로 결과를 정렬해야합니다. 누락 된 항목을 선택하기 위해 둘 이상의 배치를 검색 할 필요가 없습니다.
- 반환된 결과를 적절하게 정렬하여 이전 항목에서 시나리오의 가능성을 줄일 수 있습니다. 검색의관련성에따른 기본 정렬은 키워드, 태그 및 사용자 정의 필드 값의 조합을 찾는 복잡한 알고리즘을 기반으로 합니다. 여러 키워드, 태그 및/또는 사용자 정의 필드를 기반으로 비디오를 검색하는 경우 관련성을 기준으로 정렬하면 원하는 대로 정확하게 정렬할 수 있습니다. 그러나 비디오의 전체 또는 큰 집합을 검색하려는 경우
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, 최대 값 = 100) |
ad_config_id |
반환하려면 ad_config_id를 추가하세요. SSAI를 사용한 비디오 |
기본적으로 응답에는 최대 20 개의 동영상이 포함됩니다. 당신은 사용할 수 있습니다limit
최대 100 개의 동영상을 반환하고 지연 시간이 증가하는 매개 변수입니다.
없음에 유의하십시오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."
}
]
SSAI로 비디오 요청
애플리케이션에서 Brightcove 웹 플레이어 또는 Brightcove 기본 SDK를 사용하지 않더라도 자체 플레이어에서 SSAI (Server-Side Ad Insertion)를 계속 사용할 수 있습니다.
SSAI로 비디오 받기
SSAI로 동영상을 반환하려면 광고 구성 ID를 Playback API 요청에 URL 매개 변수로 추가하세요. 이 요청을 통해 동영상 ID 또는 동영상 참조 ID를 사용할 수 있습니다.
URL 매개 변수가있는 끝점
추가ad_config_id
Playback API 요청 끝까지 :
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
아래 샘플 응답에서 다음을 확인할 수 있습니다.
- 응답은 광고 구성 ID를 포함하지 않은 경우와 유사합니다.
- 의 요소
sources
배열에는vmap
. - 콘텐츠에서 광고가 어디에 있는지 알고 싶다면
vmap
특성. - 그만큼
src
내 속성sources
배열에는 HLS 또는 DASH 소스에 대한 URL이 포함됩니다. 광고 구성 ID가 사용되지 않은 경우의 응답과 동일하지만src
주요 콘텐츠와 결합 된 광고가 있습니다.
샘플 응답
{
"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": "http://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": "http://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"
}
ad_config_id 필요
Policy API를 사용하면 다음을 포함해야하는 정책 키를 생성 할 수 있습니다. ad_config_id
Playback API를 요청할 때 URL 매개 변수입니다. 이 기능 설정에 대한 자세한 내용은정책 API 참조문서.
정책 키가ad_config_id
, Playback API 요청에 추가하지 않으면 다음 오류가 발생합니다.
[
{
"error_subcode": "AD_CONFIG",
"error_code": "ACCESS_DENIED",
"message": "Missing required ad_config_id parameter"
}
]
재생 목록 요청
재생 목록 동영상 개체는 재생 목록 ID 또는 참조 ID를 사용하여 검색 할 수 있습니다.
매개변수
다음 URL 매개 변수는 재생 목록 요청에 사용할 수 있습니다.
매개 변수 | 설명 |
---|---|
제한 | 반환 할 동영상 수 (기본값 = 20, 최대 값 = 100) |
오프셋 | 건너 뛸 동영상 수 (재생 목록 시작부터, 기본값 = 0) |
예를 들어 요청에 추가 된 이러한 매개 변수 (? limit = 40 & offset = 20)는 재생 목록에 21 ~ 60 개의 동영상을 반환합니다 (그만큼 많다고 가정).
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": "http://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": "http://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": "http://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": "http://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": "http://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": "http://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": "http://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": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"poster": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"link": {
"text": "Full Dvd at Amazon",
"url": "http://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
},
"id": "38467382999",
"ad_keys": null,
"thumbnail_sources": [
{
"src": "http://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": "http://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": "http://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": "http://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": "http://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": "http://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": "http://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": "http://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": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"poster": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"link": {
"text": "Full Dvd at Amazon",
"url": "http://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
},
"id": "38467382999",
"ad_keys": null,
"thumbnail_sources": [
{
"src": "http://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 자막은 동영상과 함께 수집됩니다. 이것은 처음 비디오를 수집 할 때 또는 비디오를 수집 한 후에 수행 할 수 있습니다. 다음과 같이 매니페스트 캡션을 만들 수 있습니다.
샘플 응답
다음은 WebVTT 캡션 파일이 Dynamic 인제 스트 API. 텍스트 트랙이src
속성은 내부 Brightcove 파일을 가리 킵니다.
{
"text_tracks": [
{
"mime_type": "text/webvtt",
"account_id": "1752604059001",
"default": false,
"sources": [
{
"src": "http://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": "http://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>http://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>