지원 고객 지원 문의 | 시스템 상태 시스템 상태
페이지 내용

    개요: Dynamic Ingest API

    이 항목에서는Dynamic Ingest API Dynamic Delivery를 통해 전달할 수 있도록 비디오를 수집합니다. 이 가이드는 동적 전송 인제스트 시스템에 있는 대부분의 Video Cloud 계정을 위한 것입니다. 레거시 수집 시스템에 아직 오래된 계정이있는 사용자는Dynamic Ingest API대신 레거시.

    서문

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

    또한 참조 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가 가져올 수있는 안전한 임시 위치에 파일을 업로드 할 수도 있습니다. 자세한 내용은소스 파일 업로드 .

    특수 문자

    비디오를 가져 오기 위해 Video Cloud에 URL을 제공하고 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에따라 올바르게 인코딩되어야 합니다. 이것은예약 된 문자 URL의 경로에서 발견 된 비율이 인코딩됩니다 (공백이%20 ), URL 쿼리에서 발견 된 예약 된 문자는 백분율로 인코딩됩니다 (공백은+또는%20 , 및+인코딩되는%2B ).

    사전 서명 S3 ( v2포함서명 , 만료 AWSAccessKeyId , 및 v4포함 X-Amz- 알고리즘 , X-Amz- 자격 증명 , X-Amz-Date , X-Amz- 만료 , X-Amz-SignedHeaders , 및 X-Amz- 서명 ) 또는 GCS (포함서명 , 만료 , 및 GoogleAccessId ) URL은 이미 올바르게 인코딩되어 있어야하며그대로 사용 가능 .

    샘플 자산

    브라이트코브 학습 서비스는 동적 인제스트를 시작하는 데 사용할 수 있는 몇 가지 샘플 자산을 제공합니다. 이러한 자산에는 여러 언어로 된 짧은 비디오, 이미지 및 WebVTT 캡션이 포함됩니다.

    수집 프로파일

    Dynamic Delivery 비디오를 만들려면 특수 수집 프로필이 필요합니다. 몇 가지를 찾을 수 있습니다표준 수집 프로필 Dynamic Delivery가 활성화 된 경우 계정에서 사용하는 것이 좋습니다.

    Studio의 관리 섹션에서 수집 프로필에 사용자 지정 Dynamic Delivery 프로필을 추가 할 수도 있습니다. Dynamic Delivery를위한 수집 프로필 생성자세한 내용은.

    샘플 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 메소드
    우편
    요청 URL
    https://cms.api.brightcove.com/v1/accounts/{account_id}/videos
    요청 본문
        {
        "name": "My First Dynamic Delivery Video"
        }
        
        

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

    API 요청 수집

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

    참고

    • 포함하지 않는 경우profile 필드에서 해당 계정 기본 프로필이 사용됩니다. 다른 종류의 동영상에 다른 프로필을 사용해야하는 경우가 아니라면 계정 기본값을 사용하는 것이 좋습니다. 계정 기본값을 (가장 자주) 사용하려는 프로필로 설정해야합니다.
    • 그만큼callbacks 필드는 선택 사항이지만 수집 작업의 진행 상황을 추적하는 가장 좋은 방법으로 사용하는 것이 좋습니다. 보다이하알림에 대해 자세히 알아보세요.

    변환보기

    다음으로 이동하여 비디오에 대한 변환을 볼 수 있습니다. Studio의 미디어 모듈 .

    변환의 전체 속성을 보려면 다음을 사용할 수 있습니다. 아래에 자세히 설명 된 CMS API 요청 .

    재생할 URL을 검색하려면 다음을 사용할 수 있습니다. 아래에 자세히 설명 된 재생 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": "https://bcls@solutions.brightcove.com/bcls/assets/images/great-blue-heron-poster.png",
            "width": 1280,
            "height": 720
          },
          "thumbnail": {
            "url": "https://bcls@solutions.brightcove.com/bcls/assets/images/great-blue-heron-thumbnail.png",
            "width": 160,
            "height": 90
          },
          "callbacks": [
            "https://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": "https://solutions.brightcove.com/bcls/assets/vtt/sample.vtt",
              "srclang": "en",
              "kind": "captions",
              "label": "EN",
              "default": true
            },
            {
              "url": "https://solutions.brightcove.com/bcls/assets/vtt/sample-es.vtt",
              "srclang": "es",
              "kind": "captions",
              "label": "ES",
              "default": false
            }
          ],
          "callbacks": [
            "https://solutions.brightcove.com/bcls/di-api/di-callbacks.php"
          ]
        }
        

    사이드카 텍스트 트랙은 비 Dynamic Delivery 비디오와 마찬가지로 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"
        
        

    대시

        <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"
        }
        
        

    텍스트 트랙이있는 샘플 플레이어 (영어 및 스페인어)

    Dynamic Delivery 비디오 플레이어

    iOS 앱의 사이드카 캡션

    Dynamic Delivery 사이드카 캡션
    Dynamic Delivery 사이드카 캡션

    동적 변환 검색

    비디오의 동적 변환에 대한 정보를 검색하려면 다음 주소로 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 지원에 문의하십시오.

    워터 마크 된 변환은 정적 Dynamic Delivery 프로필에 추가 할 수 있지만아니 CAE (Context Aware Encoding) 프로파일 용.

    수집 상태

    콜백을 구독하거나 상태 API를 쿼리하여 작업 상태를 가져옴으로써 Dynamic Delivery 수집 처리에 대한 정보를받을 수 있습니다.

    콜백

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

    알림 수신 및 해석에 대한 자세한 내용은알림

    상태 API

    Status 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 Delivery에 대해 설정된 계정은 비디오에 대해 여러 오디오 트랙을 허용하도록 활성화 할 수 있습니다.

    여러 오디오 트랙을 단일 제목과 연결하는 기능은 다음 두 가지 주요 시나리오에서 유용 할 수 있습니다.

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

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

    샘플 코드

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

    또한 다음 GitHub 리포지토리에는 Java, Python 및 C #의 샘플 코드가 포함되어 있습니다.이 샘플 코드는지원되지 않음 Brightcove 제작 :

    제한 사항

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