서문
빠른 게시 기능을 사용하면 CAE를 사용하면서도 즉시 재생할 수 있는 하나 이상의 임시 렌디션을 만들어 최대한 빨리 비디오를 온라인으로 가져올 수 있습니다. 그러면 다음 조건이 적용됩니다.
- 동적 변환을 사용할 수있게되면 재생을 위해 임시 변환 대신 사용됩니다.
- 모든 동적 변환이 처리 된 후 특정 시점에 임시 변환이 자동으로 삭제됩니다.
요구 사항
빠른 게시를 사용하려면 다음을 수행해야합니다.
- 동적 전송을 사용할 수 있는 계정이 있어야 합니다.
- CAE를 사용할 수 있는 계정 만들기
- 인제스트 프로필 API를 사용하여 사용자 지정 CAE 인제스트 프로필을 생성합니다 ( 아래 지침 참조 ).
빠른 게시를위한 사용자 지정 프로필
빠른 게시가 가능한 사용자 지정 프로필을 만드는 것은 간단합니다. 일반 CAE 프로파일처럼 보이지만 한 가지 차이점이 있습니다. renditions
배열, dynamic_origin
객체는temporary_renditions
하나 이상의 빠른 게시 변환을 포함하는 배열입니다.
빠른 게시 렌디션은 이름으로 지정되며 아래 목록에서가져와야 합니다. 비디오 또는 오디오 다음 숫자는 렌디션의 대상 비트전송률입니다. 원하는 경우 비디오 변환 외에도 오디오 전용 변환을 포함 할 수 있습니다.
빠른 게시의 요점은 가능한 한 빨리 재생에 사용할 수있는 렌 디션을 만드는 것이므로 임시 렌 디션 중 하나 이상에 대해 중저가 비트 전송률을 사용하는 것이 좋습니다.
사용자 지정 프로필을 만드는 단계
다음은 하나의 임시 변환으로 사용자 지정 빠른 게시 프로필을 만드는 단계입니다. 아래 단계에서는multi-platform-standard-dynamic
표준 프로필을 사용자 지정 프로필의 기초로 사용하겠지만 모든 CAE프로필을 사용할 수 있습니다.
Ingest Profiles API에 대한 클라이언트 자격 증명 가져 오기
- Studio에 로그인하고 다음으로 이동합니다. API 인증 섹션관리자 아래(이 작업을 수행하려면 계정의 관리자이거나 관리자 권한을 얻어야 함)
- 새 애플리케이션등록을 클릭하여 새 클라이언트 자격 증명 세트를 생성합니다.
- 적합한 계정을 선택하고 자격 증명에 대해최소한다음 권한을 선택하십시오.
- 을 살리다클라이언트 ID그리고클라이언트 비밀이후 단계에서 필요하므로.
사용자 지정 프로필에 대한 JSON 만들기
- 아래 JSON ( 멀티 플랫폼 표준-동적프로파일용) 을 텍스트 편집기에 복사하세요.
{ "name": "multi-platform-standard-dynamic", "display_name": "Multiplatform Standard (CAE)", "description": "Deliver a wide range of content types across a variety of platforms on mobile and desktop.", "account_id": YOUR_ACCOUNT_ID, "digital_master": { "rendition": "passthrough", "distribute": false }, "renditions": [], "packages": [], "dynamic_origin": { "renditions": [ "default/audio64", "default/audio128", "default/audio96" ], "images": [ { "label": "thumbnail", "height": 90, "width": 160 }, { "label": "poster", "height": 720, "width": 1280 } ], "dynamic_profile_options": { "min_renditions": 2, "max_renditions": 6, "min_resolution": { "width": 320, "height": 180 }, "max_resolution": { "width": 1280, "height": 720 }, "max_frame_rate": 30, "max_bitrate": 2400, "max_first_rendition_bitrate": 250, "keyframe_rate": 0.5, "select_baseline_profile_configuration": true } } }
- 다음 값을 변경하십시오.
name
: “멀티 플랫폼 표준-다이나믹-패스트 퍼블리싱”- :
display_name
"CAE (빠른 게시 표준)" - :
account_id
"YOUR_ACCOUNT_ID"
dynamic_origin>renditions
배열 뒤에 다음 배열을 추가합니다."temporary_renditions": [ {"name": "default/video450"}, {"name": "default/video700"}, {"name": "default/video900"} ]
- 이제 사용자 지정 프로필에 대한 전체 JSON은 다음과 같습니다.
{ "name": "multi-platform-standard-dynamic-fast-publish", "display_name": "Fast Publish Standard (CAE)", "description": "Deliver a wide range of content types across a variety of platforms on mobile and desktop.", "account_id": "account_id", "digital_master": { "rendition": "passthrough", "distribute": false }, "renditions": [], "packages": [], "dynamic_origin": { "renditions": [ "default/audio64", "default/audio128", "default/audio96" ], "temporary_renditions": [ {"name": "default/video450"}, {"name": "default/video700"}, {"name": "default/video900"} ], "images": [ { "label": "thumbnail", "height": 90, "width": 160 }, { "label": "poster", "height": 720, "width": 1280 } ], "dynamic_profile_options": { "min_renditions": 2, "max_renditions": 6, "min_resolution": { "width": 320, "height": 180 }, "max_resolution": { "width": 1280, "height": 720 }, "max_frame_rate": 30, "max_bitrate": 2400, "max_first_rendition_bitrate": 250, "keyframe_rate": 0.5, "select_baseline_profile_configuration": true } } }
계정에 사용자 지정 프로필 추가
이제 Ingest Profiles API를 사용하여 사용자 정의 프로필을 계정에 추가합니다.
액세스 토큰 얻기
각 API 요청은 액세스 토큰을 사용하여 인증되어야합니다 (나중 단계에서 정확히 방법을 볼 수 있음).
- 당신은 필요합니다액세스 토큰을 얻습니다에서:
https://oauth.brightcove.com/v4/access_token
- Insomnia또는 Postman을 사용하는 경우 연결된 문서의 지침에 따라 OAuth2 인증을 설정하여 액세스 토큰을 자동으로 가져오도록 할 수 있습니다.
- cURL을 사용하는 경우 액세스 토큰을 가져오는 데 사용할 수 있는 cURL 명령은 다음과 같습니다. 다음을 포함하는
ENCODED_AUTHENTICATION_STRING
Base64로 인코딩된 문자열로 바꿔야 합니다.client_id:client_secret:
curl --request POST \ --url 'https://oauth.brightcove.com/v4/access_token?grant_type=client_credentials' \ --header 'Authorization: Basic ENCODED_AUTHENTICATION_STRING' \ --header 'Content-Type: application/x-www-form-urlencoded'
- 액세스 토큰은 5 분 후에 만료됩니다.이 경우 새 토큰을 받으십시오 (필요할 때 Insomnia가 자동으로 하나를 얻습니다).
사용자 지정 수집 프로필 추가
- Insomnia또는 Postman을 사용하는 경우 새 POST 요청을 설정하여 다음을 수행하십시오.
https://ingestion.api.brightcove.com/v1/accounts/account_id/profiles
요청 본문은 이전에 생성 한 사용자 지정 프로필에 대한 JSON입니다.
Content-Type: application/json
헤더 포함Insomnia 또는 Postman 사용 가이드의 지침에 따라 OAuth2 인증을 설정합니다.
- cURL을 사용하는 경우 다음 요청을 사용하여 account_id 및 액세스 토큰 값을 사용자 지정 값으로 바꿀 수 있습니다.
curl --request POST \ --url https://ingestion.api.brightcove.com/v1/accounts/57838016001/profiles \ --header 'authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --data '{ "name": "multi-platform-standard-dynamic-fast-publish", "display_name": "Fast Publish Standard (CAE)", "description": "Deliver a wide range of content types across a variety of platforms on mobile and desktop.", "account_id": "YOUR_ACCOUNT_ID", "digital_master": { "rendition": "passthrough", "distribute": false }, "renditions": [], "packages": [], "dynamic_origin": { "renditions": [ "default/audio64", "default/audio128", "default/audio96" ], "temporary_renditions": [ {"name": "default/video450"}, {"name": "default/video700"}, {"name": "default/video900"} ], "images": [ { "label": "thumbnail", "height": 90, "width": 160 }, { "label": "poster", "height": 720, "width": 1280 } ], "dynamic_profile_options": { "min_renditions": 2, "max_renditions": 6, "min_resolution": { "width": 320, "height": 180 }, "max_resolution": { "width": 1280, "height": 720 }, "max_frame_rate": 30, "max_bitrate": 2400, "max_first_rendition_bitrate": 250, "keyframe_rate": 0.5, "select_baseline_profile_configuration": true } } }'
- 요청을 보낸 후 응답에서 새 프로필이 다시 표시되어야합니다.
알림
빠른 게시 임시 렌디션을 만들면 일반 렌디션과 마찬가지로DYNAMIC_RENDITION
“CREATE” 알림을 받게 됩니다.
{
"entity": "contextAwareEncoding5",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "413a9938-6d73-478c-b4d9-fdeb45927a4b",
"videoId": "5600255921001",
"dynamicRenditionId": "contextAwareEncoding5",
"bitrate": 364,
"width": 512,
"height": 384,
"accountId": "1910141566001",
"status": "SUCCESS"
}
임시 변환이 삭제되면 새 알림이 전송됩니다.
{
"entity": "fastpublishRendition1",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "DELETE",
"jobId": "413a9938-6d73-478c-b4d9-fdeb45927a4b",
"videoId": "5600255921001",
"dynamicRenditionId": "fastpublishRendition1",
"accountId": "1910141566001",
"status": "SUCCESS"
}