서문
미디어 공유는 Video Cloud의 기능으로, 게시자가 다른 게시자와 비디오를 공유해서 여러 계정에서 비디오를 더욱 쉽게 관리하도록 지원합니다. 예를 들어 게시자는 비디오 콘텐츠의 마스터 계정을 유지 한 다음 비디오를 조직의 다른 부서 또는 자회사와 공유 할 수 있습니다.
모든 미디어 공유 작업은 Studio에서도 수행 할 수 있습니다. 미디어 공유 설정관리를 참조하십시오 .
공유 미디어 및 과금
공유 미디어의 요금 청구 방식에 대한 자세한 내용은 미디어 모듈을 사용한미디어 공유를 참조하십시오 .
분류: 용어
미디어 공유에서는 마스터 계정 (비디오 공유)과 하나 이상의 제휴 계정 (공유 비디오 수신)간에 다음과 같은 관계가 있습니다.
계정 | 설명 |
---|---|
석사 | 원본 동영상을 만든 계정입니다.
마스터는 콘텐츠를 소유하고 있으며, 콘텐츠를 설정, 관리 및 제휴사에 제공할 책임이 있습니다. |
제휴 | 비디오를 수신하는 계정입니다.
제휴사는 마스터로부터 공유된 콘텐츠를 수락할 수 있습니다. |
채널 | 콘텐츠가 마스터에서 여러 제휴사로 공유되는 파이프 라인입니다. 미디어 공유가 활성화되면 계정에default 채널이 생성됩니다. |
관계 | 마스터와 계열사 간의 상호 작용을 설명합니다.
관계는 콘텐츠를 공유하는 마스터, 콘텐츠를 공유하는 채널, 콘텐츠 수락 계약 및 콘텐츠를 수신하는 제휴사로 구성됩니다. |
계약 | 마스터와 계열사 간의 공유 관계를 설명합니다.
마스터가 계약을 생성 한 다음 공유를 활성화하려면 수락해야합니다. 제휴자는 공유 된 비디오를 자동으로 수락할지 또는 하나씩 승인해야하는지 여부를 지정할 수도 있습니다. |
기본 URL
모든CMS API요청에 대해 아래에서 설명하는 작업의 기본 URL은 다음과 같습니다.
https://cms.api.brightcove.com/v1
아래에서 설명하는 모든 엔드 포인트는 요청시 기본 URL에 추가됩니다.
인증
요청에 대한 인증에는 권한 부여 헤더가 필요합니다.
Authorization: Bearer {access_token}
access_token
는 브라이트코브 OAuth 서비스에서 가져와야 하는 임시 OAuth2 액세스 토큰입니다. 클라이언트 자격 증명을 얻고 이를 사용하여 액세스 토큰을 검색하는 방법에 대한 자세한 내용은 Brightcove OAuth 개요를 참조하십시오 .
관계와 관련된 모든 작업에는 새 권한이필요함을 참고하십시오.
video-cloud/video/all
video-cloud/sharing-relationships/read
video-cloud/sharing-relationships/create
video-cloud/sharing-relationships/update
video-cloud/sharing-relationships/delete
또는 다음을 사용할 수 있습니다.
video-cloud/sharing-relationships/all
Studio API 인증 관리자 페이지에 두 가지 권한이 표시됩니다.
- 읽기 공유 (다음과 같음
video-cloud/sharing-relationships/read
) - 읽기/쓰기 공유 (다음과 같음
video-cloud/sharing-relationships/all
)
공유 제한
기본적으로 모든 비디오를 공유 할 수 있습니다. 그러나 다음과 같은 경우 공유를 방지 할 수 있습니다.
- 제휴 계정에는 마스터 계정의 동영상에 값이 설정된 맞춤 입력란이 없습니다.
- 마스터 계정에는 지역 필터링이 활성화되어 있지만 제휴 계정은
사용자 정의 필드 일치
채널에 맞춤 필드 매칭을 적용할 수 있습니다. 즉, 동영상에 제휴 계정에 없는 사용자 지정 필드 값이 있는경우 동영상 공유가실패합니다. 비디오에 일치하지 않는 사용자 정의 필드 값이없는 경우에도 비디오는 성공적으로 공유됩니다.
기본적으로 사용자 정의 필드 일치는 ~ 아니다시행.
일치하지 않는 사용자 정의 필드로 인해 비디오 공유가 실패하면 응답에 다음과 같은 오류가 표시됩니다.
{
"video_id": "5691312273001",
"affiliate_id": "47509719001",
"affiliate_video_id": null,
"status": "PROCESSING",
"error_message": [{"error_code":"MISSING_CUSTOM_FIELDS","error_message":"Affiliate account is missing custom fields: [subject]"}],
"shared_at": "2018-01-03T16:29:19.080Z",
"updated_at": "2018-01-03T16:29:19.080Z"
}
지리적 필터링 일치
채널에 대해 지리적 필터링 일치가 활성화 된 경우 마스터 계정에 지리적 필터링이 활성화되어 있고 제휴 계정에는 활성화되지 않은 경우 비디오를 공유 할 수 없습니다.
기본적으로 지역 필터링매칭이적용됩니다.
오류는 다음과 같습니다.
{
"video_id": "5691312273001",
"affiliate_id": "47509719001",
"affiliate_video_id": null,
"status": "PROCESSING",
"error_message": [{"error_code":"CONFLICT","error_message":"Affiliate account is not configured for geo restriction."}],
"shared_at": "2018-01-03T16:29:19.080Z",
"updated_at": "2018-01-03T16:29:19.080Z"
보다채널 업데이트아래에서 사용자 정의 필드 및/또는 지역 필터링 일치를 적용하기 위해 채널을 업데이트하는 방법을 확인하십시오.
무엇을 공유합니까?
이 섹션에서는 공유되는 항목과 비디오에 대한 후속 변경 사항을 처리하는 방법에 대해 설명합니다.
동영상이 공유되는 경우
대부분의 비디오 메타 데이터 필드는 비디오가 공유 될 때 마스터에서 제휴 계정으로 복사됩니다. 주목할만한 예외는 다음과 같습니다.
id
-동영상은 제휴 계정에서 고유 한 ID를 갖습니다.created_at
및 와 같은 날짜 필드updated_at
모든 비디오 자산 (변환, 이미지, text_tracks 등)은 재생을 위해 제휴 계정에서 사용됩니다.
동영상이 공유 된 후
비디오가 공유 된 후 마스터 계정의 비디오에 대한 일부 변경 사항은 자동으로 제휴 계정에 상속되고 일부는 상속되지 않습니다.
비디오 자산
이미지를제외하고 비디오 자산의 마스터 변경 사항은항상 제휴사에상속됩니다. 계열사자산을 변경할 수 없습니다렌디션, 매니페스트, 텍스트 트랙 또는 디지털 마스터와 같은
마스터에 의한 이미지 변경 사항은 제휴사가 이미지를교체하지 않는 한 제휴사에 상속됩니다 . 제휴사가 이미지를 변경하면 해당 이미지는 더 이상 마스터로부터 상속되지 않습니다.
비디오 메타데이터
제휴사는 모든 비디오 메타데이터 (예: 이름, 설명, 참조 ID) 를 수정할 수 있으며 마스터 비디오에서 변경한 내용은 제휴사에상속되지 않습니다.
동영상 다시 공유
단, 마스터가 비디오를다시 공유하는경우 (이는 Studio가 아닌 CMS API를 통해서만 가능) 모든 에셋과 메타데이터 (데이터/시간 필드 제외) 가 제휴자에게 공유되어 제휴자가 변경한 모든 내용을덮어씁니다 .
미디어 공유 단계 개요
관계 설정
다음은 관계 설정 작업에 대한 요약입니다 (자세한 내용을 보려면 작업 이름을 클릭하십시오).
마스터 작업 | ||
---|---|---|
조작 | 방법 / 종점 | 설명 |
채널 나열 | GET /accounts/ master_account_id/channels |
계정에 대한 채널 목록 가져 오기 |
채널 세부 정보 가져 오기 | GET /accounts/ master_account_id/channels/ channel_name [2-1] |
채널 세부 정보 가져 오기 |
채널 업데이트 | POST /accounts/ master_account_id/channels/ channel_name |
채널 설정 업데이트 |
채널 계열사 나열 | GET /accounts/ master_account_id/channels/default/members |
채널의 제휴사 얻기 |
제휴사 추가 | PUT /accounts/ master_account_id/channels/default/members |
채널에 제휴사 추가 |
제휴사 제거 | DELETE /accounts/ master_account_id/channels/default/members/ affiliate_account_id |
채널에서 제휴사 제거 |
제휴사 운영 | ||
조작 | 방법 / 종점 | 설명 |
사용 가능한 계약 나열 | GET /accounts/ affiliate_account_id/contracts |
계정에 사용할 수있는 모든 계약을 가져옵니다. |
특정 계정에 대한 계약 받기 | GET /accounts/ affiliate_account_id/contracts/ master_account_id |
특정 계정에서 계약 (있는 경우)을 가져옵니다. |
계약 승인 | PATCH /accounts/ affiliate_account_id/contracts/ master_account_id |
계약 수락 조건 수락 및 구성 |
참고
- [2-1] 현재 이름이 지정된 채널이 하나뿐입니다.
default
동영상 공유하기
비디오 공유 작업은 마스터 계정에 의해 수행됩니다. 제휴 계정은 공유를 수락할 수 있습니다(만약auto_accept
로 설정false
) 표준을 사용하여 공유 비디오 메타데이터 및 이미지를 업데이트할 수 있습니다. 비디오 업데이트작업.
다음은 관계가 설정되면 수행 할 수있는 공유 작업입니다 (자세한 내용을 보려면 작업 이름을 클릭하십시오).
마스터 작업 | ||
---|---|---|
조작 | 방법 / 종점 | 설명 |
기존 공유 나열 | GET /accounts/ master_account_id/videos/ video_id/shares |
비디오에 대한 기존 공유 목록 가져오기 - 이것은중요한의 결과 때문에비디오 다시 공유이미 공유되었을 때 |
비디오 공유 | POST /accounts/ master_account_id/videos/ video_id/shares |
하나 이상의 제휴사와 비디오 공유 - 비디오가 이미 공유된 경우 이 작업은다시 공유 - 그건 아마도 ~ 아니다당신은 무엇을하길 원합니까 |
제휴사 비디오 공유 해제 | DELETE /accounts/ master_account_id/videos/ video_id/shares |
특정 제휴사에 대한 동영상 공유를 해제합니다. 공유를 취소하고 다시 공유하면 제휴 계정에 새 동영상 ID가있는 공유 동영상이 생성됩니다. |
제휴사 운영 | ||
조작 | 방법 / 종점 | 설명 |
공유 비디오 수락 | PATCH /accounts/ affiliate_account_id/videos/ video_id |
공유 동영상 수락 (사용 중지된auto_accept 경우) |
참고: 승인 대기 중인 공유 동영상을 확인하려면state:pending
다음과 같은 동영상을 검색하세요.
https://cms.api.brightcove.com/v1/accounts/{account_id}/videos?q=state:pending
또는
https://cms.api.brightcove.com/v1/accounts/{account_id}/videos?query=state:PENDING
CMS API 요청-설정
이 섹션에는 미디어 공유 설정과 관련된CMS API작업이 나열되어 있습니다.
마스터 작업
채널 나열
방법 | GET |
---|---|
끝점 | /accounts/ master_account_id/channels |
요청 본문 | |
샘플 응답 |
|
채널 세부 정보 가져 오기
방법 | GET |
---|---|
끝점 | https://cms.api.brightcove.com/v1/accounts/ master_account_id/channels/ channel_name [5-1] |
요청 본문 | |
샘플 응답 |
|
참고 사항
- [5-1] 현재 이름이 지정된 채널이 하나뿐입니다.
default
채널 업데이트
방법 | PATCH |
---|---|
끝점 | /accounts/ master_account_id/channels/ channel_name [6-1] |
요청 본문 |
|
샘플 응답 |
|
참고 사항
- [6-1] 현재 이름이 지정된 채널이 하나뿐입니다.
default
채널의 제휴사 나열
방법 | GET |
---|---|
끝점 | /accounts/ master_account_id/channels/default/members |
요청 본문 | |
샘플 응답 |
|
approved
필드의 값은 제휴사가 계약을 승인했는지 여부를 나타냅니다.
채널에 제휴사 추가
방법 | PUT |
---|---|
끝점 | /accounts/ master_account_id/channels/default/members/ affiliate_account_id |
요청 본문 |
|
샘플 응답 |
|
채널에서 제휴사 제거
방법 | DELETE |
---|---|
끝점 | /accounts/ master_account_id/channels/default/members/ affiliate_account_id |
요청 본문 | |
샘플 응답 | 204 NO CONTENT (빈 응답 본문) |
제휴사 운영
사용 가능한 계약 나열
방법 | GET |
---|---|
끝점 | /accounts/ affiliate_account_id/contracts |
요청 본문 | |
샘플 응답 |
|
응답의 두 가지 필수 필드는 다음과 같습니다.
approved
-true로 설정하면 제휴사가 계약을 수락합니다.auto-accept
-true로 설정하면이 계약을 통해 공유 된 비디오가 자동으로 제휴사에 의해 수락됩니다. 그렇지 않으면 하나씩 승인되어야합니다.
아래에서 계약을 업데이트하는 방법을 살펴 보겠습니다.
특정 계정에 대한 계약 받기
방법 | GET |
---|---|
끝점 | /accounts/ affiliate_account_id/contracts/ master_account_id |
요청 본문 | |
샘플 응답 |
|
계약 승인
방법 | PATCH |
---|---|
끝점 | /accounts/ affiliate_account_id/contracts/ master_account_id |
요청 본문 |
|
샘플 응답 |
|
포함만 하는"approved":true
경우 각 동영상은 개별적으로 승인을 받아야 합니다.
CMS API 요청-공유
이 섹션에서는 동영상 공유에 사용되는CMS API요청을 자세히 설명합니다. 미디어 공유 작업은 마스터 계정에서 수행됩니다. 어필리에이트 계정이 꺼져 있는 경우 해당 어필리에이트auto_accept
계정은 공유를 수락할 수 있습니다.
마스터 작업
기존 공유 나열
비디오가 이미 다른 계정과 공유되었는지 확인하려면 아래 요청을 사용할 수 있습니다.
방법 | GET |
---|---|
끝점 | /accounts/ master_account_id/videos/ video_id/shares |
요청 본문 | |
샘플 응답 |
|
비디오 공유 (또는 재 공유)
아래에 설명 된 요청은 하나 이상의 제휴 계정에 비디오를 공유합니다.
방법 | POST |
---|---|
끝점 | /accounts/ master_account_id/videos/ video_id/shares |
요청 본문 |
|
샘플 응답 |
성공 응답
실패 대응
|
공유하면 제휴 자의 계정에 새 비디오가 생성됩니다. 그만큼state
비디오 공유의PROCESSING
공유가 완료될 때까지그리고비디오는 Affiliate 계정에서 생성됩니다. 제휴사는 여전히 동영상을 수락해야 할 수도 있습니다(만약auto_accept
로 설정false
제휴자의 계약에 대해 - 공유 설정에 대한 이전 섹션 참조).
제휴사 비디오 공유 해제
방법 | DELETE |
---|---|
끝점 | /accounts/ master_account_id/videos/ video_id/shares/ affiliate_account_id |
요청 본문 | |
샘플 응답 | 202 ACCEPTED (빈 응답 본문)-응답은 요청이 처리를 위해 수락되었지만 작업이 몇 분 동안 완료되지 않을 수 있음을 나타냅니다. |
제휴사 운영
공유 비디오 수락
공유 동영상을 수락하기 위해 제휴사는 공유된 동영상을 로state
설정하여ACTIVE
업데이트합니다. (를state
로 설정하면 공유가INACTIVE
거부됩니다.)
방법 | PATCH |
---|---|
끝점 | /accounts/ affiliate_account_id/videos/ affiliate_video_id |
요청 본문 |
|
샘플 응답 |
|
공유를state
INACTIVE
거부하려면 를 로 설정합니다.
동영상이 계정에 공유되었음을 알리는 특별한 알림은 없습니다. 하지만 동영상을state:pending
검색하면 수락되지 않은 공유를 찾을 수 있습니다. 또는 Studio Media 모듈의 보류중인 공유 목록을 사용하여 보류중인 공유를보고 수락 / 거부 할 수 있습니다.
오류
미디어 공유 오류는 API 요청에 대한 별도의 오류 응답으로 반환되지 않고 일반 응답의error_message
필드에 반환됩니다.
[
{
"video_id" : "1239817239128",
"affiliate_id" : "32871239",
"affiliate_video_id" : "30308254055202",
"status" : "COMPLETE",
"shared_at" : "2017-12-11T17:57:45.530Z",
"updated_at" : "2017-12-11T18:03:32.789Z",
"error_message" : "[{"error_code":"MISSING_CUSTOM_FIELDS","error_message":"Affiliate account is missing custom fields: [whisky]"}]"
}
]
자세한내용은CMS API오류참조를 참조하십시오.
제한 사항
현재 미디어 공유에는 다음과 같은 제한 사항이 있습니다.
- DRM: 현재 DRM 지원 계정에서는 를 통한 미디어CMS API공유가 지원되지 않습니다. DRM이 활성화되지 않은 계정에서 DRM이 활성화된 계정으로 비디오를 공유하는 것은 지원되지만 공유된 비디오는 DRM용으로패키징되지 않습니다.
-
마스터 계정에서 정의한 채널을
enforce_custom_fields
로true
설정한 다음 제휴 계정에서 허용하지 않는 값을 가진 사용자 지정 필드가 있는 동영상을 공유하는 경우 해당 공유 시도는 실패합니다. 공유 상태는 다음과 같은 오류 메시지로 업데이트됩니다.[{"error_code": "ILLEGAL_CUSTOM_FIELD_VALUE", "error_message": "Illegal value for custom fields: [topic]"}]
마스터 계정에서 정의한 채널을
enforce_custom_fields
로false
설정한 다음 제휴 계정에서 허용하지 않는 값을 가진 사용자 지정 필드가 있는 동영상을 공유하는 경우 공유 시도는 작동하지만 잘못된 값을 가진 필드는 동영상의 제휴 사본에 포함되지 않습니다. -
SSAI를 사용하여 공유 비디오를 재생할 때 SSAI는 하위 비디오 대신 상위 비디오의 메타데이터를 사용합니다. 또한 SSAI는 부모 동영상이 로
Advertising='Free'
표시되면 하위 동영상에 라벨이 붙어 있더라도 광고 조회를 건너뛰게Ad Supported
됩니다.