지원 지원 문의 | 시스템 상태 시스템 상태

개요 : Dynamic Ingest API

이 항목에서는이 항목을 사용하는 방법을 Dynamic Ingest API Dynamic Delivery를 통해 동영상을 제공 할 수 있습니다. 이 안내서는 대부분을위한 것입니다 Video Cloud Dynamic Delivery 수집 시스템에있는 계정 기존 수집 시스템에 여전히 오래된 계정이있는 사용자는 Dynamic Ingest API 레거시 대신.

소개

브라이트 코브 Dynamic Ingest API 는 고객의 저장 위치에서 비디오 소스 파일을 다운로드하고 소스 파일의 지정된 변환을 작성하는 기능을 기반으로합니다. (옵션도 있습니다. 소스 파일 업로드 Dynamic Ingest가 액세스 할 수있는 임시 위치로 옮깁니다.) 플랫폼은 클라우드 중심적이며 전 세계적으로 분산되어 있으며 최신 동등 사례를 기반으로 동급 최고의 일관성과 속도를 제공합니다.

또한 API 참조.

워크 플로우 개요

여러 시스템 / 기술이 미디어의 전체 트랜스 코딩 및 저장에 사용됩니다. 그들은:

  • CMS API: DI API에서 사용할 비디오 객체를 만듭니다.
  • Zencoder: 여러 개의 렌 디션을 만드는 비디오를 트랜스 코딩합니다.
  • 아마존 S3: 프로필 설정을 기반으로 마스터 및 변환을 저장소로 이동합니다.
  • 목록: 비디오와 관련된 필수 정보를 저장합니다.

초기 트랜스 코딩 후 미디어에서 수행 할 수있는 작업은 다음과 같습니다.

운영

DI API를 사용할 때 인제 스트 프로파일 읽기 및 계정에 인제 스트 정보 작성과 같은 다른 조작을 수행합니다. 다음은 DI 작업에 필요한 작업의 전체 목록입니다.

    • video-cloud/video/create
    • video-cloud/video/read
    • video-cloud/video/update
    • video-cloud/ingest-profiles/profile/read
    • video-cloud/ingest-profiles/account/read
    • video-cloud/ingest-profiles/account/write
    • video-cloud/ingest-profiles/profile/write
    • video-cloud/upload-urls/read

클라이언트 자격 증명을 얻으려면 Studio를 사용하십시오. 관리 도구 또는 다음 문서 중 하나를 참조하십시오.

모범 사례

만나다 동적 인제 스트 API : 모범 사례.

유효한 출처

당겨 섭취

Dynamic Ingest는 HTTP / HTTPS, S3 및 FTP와 같은 소스 비디오 파일을 인증 여부와 상관없이 가져올 수 있습니다.

예 :

  • http://example.com/path/to/input.avi
  • https://dl.dropboxusercontent.com/u/3641457/Bird_Titmouse.mp4
  • s3 : //my-bucket/video.mp4
  • ftp : //server/file.mp4

S3에 대한 메모

동영상이 보호 된 S3 버켓에있는 경우 S3에서 다이나믹 인제 스트 사용하기 Dynamic Ingest가 파일에 액세스 할 수있는 권한을 설정하는 방법에 대한 자세한 내용을 참조하십시오.

FTP에 관한주의 사항

동영상이 보호 된 FTP 서버에있는 경우 다음과 같이 표준 방법을 사용하여 URL에 사용자 이름과 비밀번호를 전달하십시오.

    ftp://username:password@server/file.mp4

소스 파일 업로드

또한 Dynamic Ingest가 가져올 수있는 안전한 임시 위치에 파일을 업로드 할 수 있습니다. 자세한 내용은 다음을 참조하십시오. 소스 파일 업로드.

특수 문자

에 대한 URL을 제공하는 경우 Video Cloud 동영상을 가져오고 URL의 일부로 자격 증명을 보내고 있습니다., 당신은 필요 퍼센트 - 인코딩 특정 예약 된 특수 문자 :

특수 문자
문자 백분율로 인코딩 된
] % 5B
[ % 5D
? % 3F
/ % 2F
< % 3C
~ % 7E
# % 23
` % 6D
! % 21
@ % 40
$ % 24
% % 25
^ % 5E
% 26
* % 2A
( % 28
) % 29
+ % 2B
= % 3D
} % 7D
| % 7C
: % 3A
" % 22
; % 3B
' % 27
, % 2C
> % 3E
{ % 7B
공간 % 20

예 :

    
        /* unencoded */
        ftp://user@example.com:pass!word@example.com/path/to/input.mp3
    
        /* encoded */
        ftp://user%40example.com:pass%21word@example.com/path/to/input.mp3
      

소스 파일 이름

모든 입력 URL은에 따라 올바르게 인코딩되어야합니다. RFC 3986 Brightcove로 전송 될 때 이것은 예약 된 문자 url의 경로에서 발견 된 백분율은 인코딩됩니다 (공백으로 인코딩 됨). %20), url의 쿼리에서 발견 된 예약 문자는 백분율 인코딩됩니다 ( + or %20+ ~로 인코딩 됨 %2B).

A 사전 서명 된 S3 (v2 이 포함되어 있습니다 서명, 만료AWSAccessKeyIdv4 이 포함되어 있습니다 엑스 - 암즈 - 알고리즘, X-Amz-Credential, X-Amz-Date, X-Amz- 만료, X-Amz-SignedHeadersX-Amz 서명) 또는 GCS (포함 서명, 만료GoogleAccessId) url은 이미 적절하게 인코딩되어야하며 있는 그대로 사용할 수 있습니다..

샘플 애셋

Brightcove Learning Services는 Dynamic Ingest 시작시 실험에 사용할 수있는 몇 가지 샘플 자산을 제공합니다. 이러한 저작물에는 여러 언어로 된 짧은 비디오, 이미지 및 WebVTT 캡션이 포함됩니다.

Ingest Profile

동적 전달 동영상을 만들려면 특별한 가져 오기 프로필이 필요합니다. 너는 몇 가지를 발견 할 것이다. 표준 수집 프로파일 귀하의 계정에서 다이내믹 딜리버리가 활성화되어 있고 권장 사항입니다.

Studio의 관리 섹션에서 사용자 정의 Dynamic Delivery 프로필을 가져 오기 프로파일에 추가 할 수도 있습니다. 동적 전달을위한 입수 프로파일 작성 자세한 내용은.

샘플 동적 배달 프로필

다음은 시작하는 데 사용할 수있는 샘플 Dynamic Delivery 프로필입니다. 당신이해야 할 일은 YOUR_ACCOUNT_ID 계정 ID로 복사 한 다음 프로필을 복사하여 가져 오기 프로필 편집기에 붙여 넣을 수 있습니다.

    {
      "name": "DynamicDeliveryIngestProfile",
      "description": "Dynamic Delivery ingest profile.",
      "account_id": "YOUR_ACCOUNT_ID",
      "digital_master": {
        "rendition": "passthrough",
        "distribute": false
      },
      "dynamic_origin": {
        "renditions": [
          "default/audio64",
          "default/audio96",
          "default/audio128",
          "default/video450",
          "default/video700",
          "default/video900",
          "default/video1200",
          "default/video1700",
          "default/video2000"
        ],
        "images": [
          {
            "label": "poster",
            "height": 720,
            "width": 1280
          },
          {
            "label": "thumbnail",
            "height": 90,
            "width": 160
          }
        ]
      }
    }
    

표준 동적 전달 프로필 및 번역에 대한 자세한 내용은 동적 게재를위한 표준 인제 스트 프로파일

동영상 가져 오기

동영상을 가져 오는 데 필요한 두 가지 API 요청이 있습니다.

  1. 전화 CMS API 동영상 개체를 만들려면 Video Cloud 시스템과 그 id를 얻는다.
  2. 전화 Dynamic Ingest API 비디오 소스 파일의 URL을 제공하고 필요한 경우 다른 파일 및 인제 스트에 대한 설정을 지정합니다

기본 요청 샘플 세트는 다음과 같습니다.

CMS API 의뢰

HTTP 메소드
POST
요청 URL
https://cms.api.brightcove.com/v1/accounts/{account_id}/videos
본문 요청
    {
    "name": "My First Dynamic Delivery Video"
    }
    
    

응답 데이터에는 동영상이 포함됩니다. id , 다음 요청에서 사용됩니다.

인게 스트 API 요청

HTTP 메소드
POST
요청 URL
https://ingest.api.brightcove.com/v1/accounts/{account_id}/videos/{video_id}/ingest-requests
본문 요청
    {
      "master": {
        "url": "http://host/master.mp4"
      },
      "profile": "DynamicDeliverIngestProfile",
      "callbacks": [
        "http://mydomain.com/di-callbacks.php"
      ]
    }
    

노트

  • 포함하지 않으면 profile 필드에 해당 계정 기본 프로필이 사용됩니다. 여러 종류의 동영상에 대해 다른 프로필을 사용해야하는 경우가 아니면 계정 기본값을 사용하는 것이 좋습니다. 계정 기본값을 가장 자주 사용하려는 프로필로 설정하십시오.
  • 그리고, callbacks 필드는 선택 사항이지만 인제 스트 작업의 진행 상황을 추적하는 가장 좋은 방법으로 사용하는 것이 좋습니다. 만나다 이하 알림에 대한 자세한 내용은

렌 디션보기

동영상에 대한 번역본은 Studio의 미디어 모듈.

렌 디션의 전체 속성을 보려면 CMS API 요청은 아래에 자세히 설명되어있다.

재생할 URL을 검색하려면 Playback API 요청은 아래에 자세히 설명되어있다.

동영상 바꾸기

비디오를 새 버전이나 새로운 변환 세트로 바꾸려면 Dynamic Ingest API 전화는 그것이 한 것과 똑같습니다. 새 동영상 가져 오기 - 유일한 차이점은 당신이 전화를 걸 필요가 없다는 것입니다. CMS API 동영상 개체를 만들려면 Video Cloud 시스템에 대한 ID를 얻으십시오. 지정된 URL의 소스 비디오 파일이 처음에 섭취 된 원본 비디오 파일과 동일한 경우, 새 렌 디션 집합 만 가져옵니다. 원본 파일이 새 파일이면 기존 비디오를 바꿉니다. 재전송이 완료 될 때까지 모든 비디오는 기존 렌 디션으로 재생 가능 상태를 유지합니다.

을 참조 샘플 작업.

비디오 재전송

당신이 선택한 경우 마스터 보관 동영상을 통해 Dynamic Ingest API 또는 Studio 업로드 모듈을 사용하면 마스터의 비디오를 다시 인코딩 할 수 있습니다. 다시 한 번 인제 스트 요청의 URL은 같지만 요청 본문에는 다음 항목이 있습니다.

    // request
    POST /v1/accounts/{account_id}/videos/{video_id}/ingest-requests
    // request body
    {
      "master": { "use_archived_master": true },
      "profile": "multi-platform-extended-static"
    }
    
    

이미지 수집

트랜스 코딩 중에 포스터 및 미리보기 이미지를 캡처하는 대신 자신의 이미지를 인제 스트 요청과 함께 포함하거나 나중에 별도의 요청으로 추가 할 수 있습니다.

샘플 요청 본문

    {
      "profile": "multi-platform-extended-static",
      "poster": {
        "url": "http://bcls@solutions.brightcove.com/bcls/assets/images/great-blue-heron-poster.png",
        "width": 1280,
        "height": 720
      },
      "thumbnail": {
        "url": "http://bcls@solutions.brightcove.com/bcls/assets/images/great-blue-heron-thumbnail.png",
        "width": 160,
        "height": 90
      },
      "callbacks": [
        "http://solutions.brightcove.com/bcls/di-api/di-callbacks.php"
      ]
    }
    

이미지 애셋 수집 알림

다음은 이미지 수집을 위해 특별히 얻은 알림 샘플입니다.

    {
        "entity": "thumbnail",
        "entityType": "ASSET",
        "version": "1",
        "action": "CREATE",
        "jobId": "0c2767c1-19ea-479d-b371-a0f5f3d154f5",
        "videoId": "5209530177001",
        "accountId": "57838016001",
        "status": "SUCCESS"
      }
      {
        "entity": "poster",
        "entityType": "ASSET",
        "version": "1",
        "action": "CREATE",
        "jobId": "0c2767c1-19ea-479d-b371-a0f5f3d154f5",
        "videoId": "5209530177001",
        "accountId": "57838016001",
        "status": "SUCCESS"
    }
    
    

자막 캡션

WebVTT 형식의 캡션은 초기 인제 스트 요청 또는 이후 요청에서 비디오에 추가 할 수 있습니다.

샘플 요청 본문

    {
      "text_tracks": [
        {
          "url": "http://solutions.brightcove.com/bcls/assets/vtt/sample.vtt",
          "srclang": "en",
          "kind": "captions",
          "label": "EN",
          "default": true
        },
        {
          "url": "http://solutions.brightcove.com/bcls/assets/vtt/sample-es.vtt",
          "srclang": "es",
          "kind": "captions",
          "label": "ES",
          "default": false
        }
      ],
      "callbacks": [
        "http://solutions.brightcove.com/bcls/di-api/di-callbacks.php"
      ]
    }
    

사이드카 텍스트 트랙은 동적 재생이 아닌 동영상에서와 마찬가지로 CMS 또는 재생 응답에 표시됩니다.

    "text_tracks": [
        {
        "id": null,
        "src": "https://bcbolt446c5271-a.akamaihd.net/media/v1/text/vtt/clear/57838016001/3de8c552-74e8-4c53-aa11-2a4375edf658/bce0d3dc-11d9-4ca4-ae1b-a39cb7b88a1c/text.vtt?akamai_token=exp=1479236791~acl=/media/v1/text/vtt/clear/57838016001/3de8c552-74e8-4c53-aa11-2a4375edf658/bce0d3dc-11d9-4ca4-ae1b-a39cb7b88a1c/text.vtt*~hmac=df5b4ba1ef2549a7572346dd36a761534ffafe4b8cfbdf92d89013ec2f95699c",
        "srclang": "en",
        "label": "EN",
        "kind": "captions",
        "mime_type": "text/webvtt",
        "asset_id": null,
        "sources": [
          {
          "src": "https://bcbolt446c5271-a.akamaihd.net/media/v1/text/vtt/clear/57838016001/3de8c552-74e8-4c53-aa11-2a4375edf658/bce0d3dc-11d9-4ca4-ae1b-a39cb7b88a1c/text.vtt?akamai_token=exp=1479236791~acl=/media/v1/text/vtt/clear/57838016001/3de8c552-74e8-4c53-aa11-2a4375edf658/bce0d3dc-11d9-4ca4-ae1b-a39cb7b88a1c/text.vtt*~hmac=df5b4ba1ef2549a7572346dd36a761534ffafe4b8cfbdf92d89013ec2f95699c"
          }
        ],
        "in_band_metadata_track_dispatch_type": "",
        "default": false
      ]
    }
    

텍스트 트랙은 HLS 및 DASH 매니페스트에도 표시됩니다.

HLS

    #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles-0",NAME="Captions",DEFAULT=NO,AUTOSELECT=YES,LANGUAGE="es",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v5/clear/57838016001/1bd49b7b-df40-414f-bb05-8840624663e1/de8144f4-b7d7-46ca-848f-dd2f7fa453d7/rendition.m3u8?fastly_token=NTg0ZjA5MWZfMzU1N2VhY2Y2MDA3NzkzYWM0ZjU2ZWQwNWE2NTYzMmI4MzMzMmJkZWM5Y2JmNzQ1MjRjM2QxYjI0NTYzODA5Zg%3D%3D"
    #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles-0",NAME="Captions",DEFAULT=NO,AUTOSELECT=YES,LANGUAGE="en",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v5/clear/57838016001/1bd49b7b-df40-414f-bb05-8840624663e1/6399fcf2-cd27-4d97-ad30-e443f13563bd/rendition.m3u8?fastly_token=NTg0ZjA5MWZfYWMxYjllNDlkYzVlOTJkZWQ3ODk2YjE3MGI5NDlhYTlkOGQ1YzI5ZmI4ZjRlOWMzMzU5YmM1YzZkNTA4MTFmNQ%3D%3D"
    
    

DASH

    <AdaptationSet mimeType="text/vtt" lang="en">
      <Representation bandwidth="256" id="2f4bb3fb-1a7d-4f4c-bf44-00ef0e611131">
      <BaseURL>https://bcbolt446c5271-a.akamaihd.net/media/v1/dash/live/clear/57838016001/785d5ddf-6672-4ece-9191-d105445b2557/2f4bb3fb-1a7d-4f4c-bf44-00ef0e611131.vtt?akamai_token=exp=1484784452~acl=/media/v1/dash/live/clear/57838016001/785d5ddf-6672-4ece-9191-d105445b2557*~hmac=ae568ea5294280968de0a2766afd82922ea9aa83fe23a81b3379a46b8ef13284</BaseURL>
      </Representation>
      </AdaptationSet>
      <AdaptationSet mimeType="text/vtt" lang="hi">
      <Representation bandwidth="256" id="f5875617-40f4-4991-bc5b-7152c6e2a93a">
      <BaseURL>https://bcbolt446c5271-a.akamaihd.net/media/v1/dash/live/clear/57838016001/785d5ddf-6672-4ece-9191-d105445b2557/f5875617-40f4-4991-bc5b-7152c6e2a93a.vtt?akamai_token=exp=1484784452~acl=/media/v1/dash/live/clear/57838016001/785d5ddf-6672-4ece-9191-d105445b2557*~hmac=ae568ea5294280968de0a2766afd82922ea9aa83fe23a81b3379a46b8ef13284</BaseURL>
      </Representation>
    </AdaptationSet>
    
    

텍스트 트랙에 대한 알림

다음은 텍스트 트랙 처리 관련 알림 샘플입니다.

    {
      "entity": "en-captions-EN",
      "entityType": "ASSET",
      "version": "1",
      "action": "CREATE",
      "jobId": "ed429284-77c9-4905-a700-4c8edb77be3e",
      "videoId": "5209530177001",
      "accountId": "57838016001",
      "status": "SUCCESS"
    }
    {
      "entity": "es-captions-ES",
      "entityType": "ASSET",
      "version": "1",
      "action": "CREATE",
      "jobId": "ed429284-77c9-4905-a700-4c8edb77be3e",
      "videoId": "5209530177001",
      "accountId": "57838016001",
      "status": "SUCCESS"
    }
    
    

견본 player 텍스트 트랙 포함 (영어 및 스페인어)

동적 전달 비디오 Player

iOS 앱의 사이드카 자막

다이내믹 딜레이 사이드카 캡션
다이내믹 딜레이 사이드카 캡션

동적 표현 검색

동영상의 동적 표현에 대한 정보를 검색하려면 다음 주소로 GET 요청을 제출하십시오.

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

샘플 응답

    [
      {
        "rendition_id": "default/audio128",
        "frame_height": null,
        "frame_width": null,
        "media_type": "audio",
        "size": 506818,
        "created_at": "2016-11-14T15:05:56.209214859Z",
        "updated_at": "2016-11-14T15:05:56.209214859Z",
        "encoding_rate": 125,
        "duration": 31488,
        "audio_configuration": "L_R",
        "language": "en"
      },
      {
        "rendition_id": "default/audio64",
        "frame_height": null,
        "frame_width": null,
        "media_type": "audio",
        "size": 261129,
        "created_at": "2016-11-14T15:05:53.926747456Z",
        "updated_at": "2016-11-14T15:05:53.926747456Z",
        "encoding_rate": 62,
        "duration": 31488,
        "audio_configuration": "L_R",
        "language": "en"
      },
      {
        "rendition_id": "default/audio96",
        "frame_height": null,
        "frame_width": null,
        "media_type": "audio",
        "size": 384568,
        "created_at": "2016-11-14T15:05:59.023381448Z",
        "updated_at": "2016-11-14T15:05:59.023381448Z",
        "encoding_rate": 94,
        "duration": 31488,
        "audio_configuration": "L_R",
        "language": "en"
      },
      {
        "rendition_id": "default/video1200",
        "frame_height": 540,
        "frame_width": 960,
        "media_type": "video",
        "size": 4761241,
        "created_at": "2016-11-14T15:06:10.410020728Z",
        "updated_at": "2016-11-14T15:06:10.410020728Z",
        "encoding_rate": 1206,
        "duration": 31465
      },
      {
        "rendition_id": "default/video1700",
        "frame_height": 540,
        "frame_width": 960,
        "media_type": "video",
        "size": 6712422,
        "created_at": "2016-11-14T15:06:15.593063021Z",
        "updated_at": "2016-11-14T15:06:15.593063021Z",
        "encoding_rate": 1703,
        "duration": 31465
      },
      {
        "rendition_id": "default/video2500",
        "frame_height": 720,
        "frame_width": 1280,
        "media_type": "video",
        "size": 9795721,
        "created_at": "2016-11-14T15:06:12.148783841Z",
        "updated_at": "2016-11-14T15:06:12.148783841Z",
        "encoding_rate": 2486,
        "duration": 31465
      },
      {
        "rendition_id": "default/video4000",
        "frame_height": 1080,
        "frame_width": 1920,
        "media_type": "video",
        "size": 15718943,
        "created_at": "2016-11-14T15:06:15.463012005Z",
        "updated_at": "2016-11-14T15:06:15.463012005Z",
        "encoding_rate": 3992,
        "duration": 31465
      },
      {
        "rendition_id": "default/video450",
        "frame_height": 270,
        "frame_width": 480,
        "media_type": "video",
        "size": 1784858,
        "created_at": "2016-11-14T15:06:20.719400854Z",
        "updated_at": "2016-11-14T15:06:20.719400854Z",
        "encoding_rate": 451,
        "duration": 31465
      },
      {
        "rendition_id": "default/video700",
        "frame_height": 360,
        "frame_width": 640,
        "media_type": "video",
        "size": 2746520,
        "created_at": "2016-11-14T15:06:10.918331816Z",
        "updated_at": "2016-11-14T15:06:10.918331816Z",
        "encoding_rate": 695,
        "duration": 31465
      },
      {
        "rendition_id": "default/video900",
        "frame_height": 360,
        "frame_width": 640,
        "media_type": "video",
        "size": 3561912,
        "created_at": "2016-11-14T15:06:17.295871425Z",
        "updated_at": "2016-11-14T15:06:17.295871425Z",
        "encoding_rate": 902,
        "duration": 31465
      }
    ]
    

재생을 위해 URL 검색

동영상의 동적 표현에 대한 정보를 검색하려면 다음 주소로 GET 요청을 제출하십시오.

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

샘플 응답

    {
      "description": null,
      "poster_sources": [
      {
        "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/main/1280x720/24s816ms/match/image.jpg"
      }
      ],
      "tags": [
        "dd-static"
      ],
      "cue_points": [],
      "custom_fields": {},
      "account_id": "57838016001",
      "sources": [
        {
          "ext_x_version": "4",
          "type": "application/x-mpegURL",
          "src": "https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/10s/master.m3u8?fastly_token=NTk1YmE0ZmZfOGU5Njg0NGU1OWQ3NjI3ZDhmY2FhZTVmNGE0YzI1MWM1NjMyNTZkNzMzZmExMzRkN2ZmYzU0YWU5NzUyZTM2YQ%3D%3D"
        },
        {
          "ext_x_version": "5",
          "type": "application/x-mpegURL",
          "src": "https://manifest.prod.boltdns.net/manifest/v1/hls/v5/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/10s/master.m3u8?fastly_token=NTk1YmE0ZmZfOTBkOThhYmQ5MWM0MmQwYmQwYTM4MGEzMjAzZTgyNDVlMDYzYzNhMzQ1ZWQ3MTMyMzVmM2Q1YjM2N2VlMjM0Yg%3D%3D"
        },
        {
          "type": "application/dash+xml",
          "src": "https://manifest.prod.boltdns.net/manifest/v1/dash/live-baseurl/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/2s/manifest.mpd?fastly_token=NTk1YmE0ZmZfYzQyOWJiOTEzMGJmNGIyMjM1NmMwMzZmNGZkZjlkYjEzMzNmNzFlYmQxODg0Y2YzZDk3ZTljNzVhODg1YzRjMQ%3D%3D",
          "profiles": "urn:mpeg:dash:profile:isoff-live:2011"
        },
        {
          "avg_bitrate": 2129000,
          "width": 1280,
          "src": "https://bcbolt446c5271-a.akamaihd.net/media/v1/pmp4/static/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/high.mp4?akamai_token=exp=1499178239~acl=/media/v1/pmp4/static/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/high.mp4*~hmac=5880698556297bbe2f2f43ac8904c659c61fb9510db1a9bb106037eaea393339",
          "size": 13242064,
          "height": 720,
          "duration": 49690,
          "container": "MP4",
          "codec": "H264"
        },
        {
          "avg_bitrate": 574000,
          "width": 480,
          "src": "https://bcbolt446c5271-a.akamaihd.net/media/v1/pmp4/static/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/mid.mp4?akamai_token=exp=1499178239~acl=/media/v1/pmp4/static/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/mid.mp4*~hmac=75e51439623a41b93d2a234c25683e76d43656f97a9dfb8efe61a5342d5ff2da",
          "size": 3586929,
          "height": 270,
          "duration": 49690,
          "container": "MP4",
          "codec": "H264"
        }
      ],
      "name": "Canada_Geese_Family",
      "reference_id": null,
      "long_description": null,
      "duration": 49633,
      "economics": "AD_SUPPORTED",
      "published_at": "2017-06-05T11:20:52.412Z",
      "text_tracks": [],
      "updated_at": "2017-06-05T12:06:55.121Z",
      "thumbnail": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/main/160x90/24s816ms/match/image.jpg",
      "poster": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/main/1280x720/24s816ms/match/image.jpg",
      "offline_enabled": false,
      "link": null,
      "id": "5459968909001",
      "ad_keys": null,
      "thumbnail_sources": [
        {
          "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/main/160x90/24s816ms/match/image.jpg"
        }
      ],
      "created_at": "2017-06-05T11:20:52.412Z"
    }
    
    

DRM

DRM은 지원되지만 일반적인 동영상 가져 오기와 다르게 작동합니다. 너 지원 인제 스트 프로파일에 패키징을 지정해야합니다. 대신 패키지는 계정의 DRM 설정에 따라 자동으로 이루어집니다. Brightcove 지원 문의 동영상의 DRM 패키징에 대한 기본값을 설정합니다.

더 자세한 내용은 DRM으로 콘텐츠 수집.

워터 마크 처리

워터 마크 처리 지원됩니다. 비디오의 일부 또는 전부에 워터 마크를 추가하려면 Brightcove 지원 센터에 문의하십시오.

정적 동적 전달 프로필에는 워터 마크가 적용된 표현을 추가 할 수 있지만 지원 컨텍스트 인식 인코딩 (CAE) 프로파일 용.

취수 상태

동적 전달 처리 처리에 대한 정보는 콜백 구독 및 / 또는 상태 API 쿼리를 통해 수신되어 작업 상태를 확인할 수 있습니다.

콜백

수집 요청에서 하나 이상의 콜백 URL을 지정하여 수집 프로세스의 결과에 대한 알림을 수신 할 수 있습니다. 지정한 URL은 POST 요청을 허용 할 수있는 것보다 앱용이어야합니다. 알림은 JSON 형식으로 전송됩니다.

알림 수신 및 통역에 대한 자세한 내용은에서 확인할 수 있습니다. 알림

상태 API

상태 API를 사용하여 처리 작업의 현재 상태를 가져올 수도 있습니다. 상태 메시지는 지난 7 일 내에 제출 된 섭취 작업에만 사용할 수 있습니다.

종점

동영상에 대한 모든 상태 메시지
    https://cms.api.brightcove.com/v1/accounts/:account_id/videos/:video_id/ingest_jobs
    
    
    https://cms.api.brightcove.com/v1/accounts/57838016001/videos/5128433746001/ingest_jobs
    
    
특정 작업에 대한 상태 메시지
    https://cms.api.brightcove.com/v1/accounts/:account_id/videos/:video_id/ingest_jobs/:job_id
    
    

응답

아래는 현재 처리중인 작업에 대한 샘플 응답입니다.

    {
    "id": "7a196557-56ba-4218-ada5-e107ed554555",
    "state": "processing",
    "account_id": "57838016001",
    "video_id": "5128433746001",
    "error_code": null,
    "error_message": null,
    "updated_at": "2016-09-16T16:51:46.313Z",
    "started_at": "2016-09-16T16:51:22.258Z"
    }
    
    

가장 중요한 항목은 다음과 같습니다.

  • state : 작업의 상태 ( processing | publishing | finished | failed -이 작업이 완료되고 동영상을 재생할 준비가되면 state 될거야 finished )
  • error_code error_message : 성공적인 직업을 위해, 이들은 될 것입니다. null ; 실패한 작업의 경우 오류 코드와 설명 메시지가 표시됩니다

비교를 위해 실패한 작업에 대한 상태 메시지의 예는 다음과 같습니다.

    {
    "id": "bc9dfb58-d502-43d5-97e4-41f3dcd44265",
    "state": "failed",
    "account_id": "57838016001",
    "video_id": "5128710227001",
    "error_code": "NoMediaError",
    "error_message": "Audio-only output was requested on a file that only contains video.",
    "updated_at": "2016-09-16T20:30:58.016Z",
    "started_at": "2016-09-16T20:29:14.139Z"
    }
    
    

컨텍스트 인식 인코딩

CAE (Context Aware Encoding)는 Brightcove에서 코드 변환 중에 소스 비디오를 분석하고 비디오의 복잡성과 제공된 경계 매개 변수 세트 (최소 변환 수, 최대 비트 전송률)를 기반으로 최적의 변환 및 비트 전송률을 생성하기 위해 개발 한 기술입니다. 등).

CAE 프로파일을 사용하는 방법은 컨텍스트 인식 인코딩.

다중 오디오 트랙

동적 게재를 위해 설정된 계정을 사용하여 동영상에 대한 여러 오디오 트랙을 허용 할 수 있습니다.

하나의 제목으로 여러 오디오 트랙을 연결하는 기능은 몇 가지 주요 시나리오에서 유용 할 수 있습니다.

  • 동일한 비디오를 다른 언어로 재생하여 전 세계에 걸쳐 광범위한 도달 범위 제공
  • 시각 장애인을위한 설명과 함께 오디오 제공

이 기능 사용에 대한 자세한 내용은 다중 오디오 트랙.

샘플 코드

학습 서비스는 웹 인터페이스를 제공하는 여러 가지 샘플 앱을 제공합니다. Dynamic Ingest API PHP 프록시를 통한 요청. 샘플 앱보기.

또한 다음 GitHub 저장소에는 Java, Python 및 C #으로 된 샘플 코드가 들어 있습니다.이 샘플 코드는 다음과 같습니다. 지원되지 않는 Brightcove 제작 :

제한 사항

  • 세그먼트 화 된 비디오 유형 (HLS 및 DASH) player오디오 및 비디오 스트림 길이가 세그먼트의 지속 시간보다 다른 경우를 처리하지 않습니다. 이 문제가 발생하면 더 짧은 세그먼트 길이를 사용하십시오.

12 년 2020 월 XNUMX 일에 마지막으로 업데이트 된 페이지