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

    CMS를 비디오 클라우드와 통합

    이 주제에서는 브라이트코브 비디오 클라우드를 CMS와 통합하는 기본 작업에 대해 학습합니다. CMS 및 브라이트코브 API 작업 내에서 사용자가 수행하는 일반적인 기능을 나열하며, 이러한 기능을 제공하는 데 사용할 수 있습니다.

    사용자 기능

    다음은 관련 기능입니다. Video Cloud CMS 사용자에게 다음을 제공 할 수 있습니다.

    • 에 새 비디오 추가Video Cloud
    • 교체Video Cloud새 버전의 비디오
    • 제목, 설명, 태그와 같은 비디오의 메타데이터 업데이트
    • 동영상 삭제
    • 재생 목록 만들기
    • 재생 목록의 동영상 변경
    • 재생 목록 삭제
    • 비디오 플레이어 만들기
    • 치수 또는 스타일 지정과 같은 비디오 플레이어 속성 수정
    • 플러그인을 통해 비디오 플레이어에 특별한 기능 추가
    • 단일 동영상 또는 재생목록 게시
    • 동영상 로드, 조회수, 플레이율, 참여도 등에 대한 분석 데이터를 제공합니다.

    이 모든 기능을 최종 사용자에게 공개하고 싶지 않을 수도 있습니다. 예를 들어 동영상을 삭제하지 못하게 할 수도 있습니다. 통합의 장점 중 하나Video Cloud사용자가 직접Video Cloud Studio는 Brightcove API를 통해 사용자에게 노출 할 기능을 정확하게 선택할 수 있다는 것입니다.

    인증

    모든 브라이트코브 API 요청의 경우 인증은 OAuth2 액세스 토큰을 기반으로 합니다. 액세스 토큰을 얻는 두 단계 프로세스가 있습니다.

    1. 필요한 API 작업에 대한 권한을 가진 클라이언트 자격 증명 만들기
    2. 클라이언트 자격 증명을 사용하여 임시 액세스 토큰을 생성하여 API 요청을 인증합니다.

    클라이언트 자격 증명 만들기

    클라이언트 자격 증명 생성은 다음을 통해 수행 할 수있는 일회성 작업입니다. Video Cloud사진관아니면 그OAuth API . 그러나 액세스 토큰을 요청하기 위해 저장해야하는client_idclient_secret가 반환됩니다.

    액세스 토큰 만들기

    임시 액세스 토큰은OAuth API . 그만큼client_idclient_secret BASE64로 인코딩되고Basic인증 문자열.

    access_token반환되는 것은 API 호출과 함께 권한 부여 헤더에 전달됩니다.

        >Authorization: Bearer your_access_token
        
        

    액세스 토큰은 5 분 동안 유효합니다. 수백 개의 연속 API 호출을 수행하는 일종의 일괄 처리 작업을 수행하지 않는 한 시간 제한을 추적하지 않고 각 API 호출에 대해 새 API 호출을 요청하는 것이 좋습니다.

    비디오 추가

    사용자가 동영상을 추가 할 수 있도록하려면Video Cloud CMS에서 다음을 사용하여 수행 할 수 있습니다. Dynamic Ingest API . 사용자가 S3 버킷 또는 공용 서버일 수 있는 리포지토리에 비디오를 업로드하도록 하는 것이 좋습니다. Dynamic Ingest 시스템은 비디오를 가져 와서Video Cloud아래에 설명 된 2 단계 프로세스를 통해 시스템.

    비디오 개체 추가Video Cloud

    첫 번째 단계는Video Cloud시스템을 만들어POST에 요청CMS API :

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

    요청 본문에는 기본 동영상 속성이 포함됩니다. JSON개체-최소한, 비디오name하지만, 다음과 같은 추가 메타 데이터를 포함 할 수도 있습니다. descriptiontags :

        {
        "name": "Woodpecker",
        "description": "A bird that hunts insects inside wood",
        "reference_id": "Bird_Woodpecker.mp4",
        "tags": ["bird", "air", "nature"]
        }
        
        

    비디오 인제스팅

    비디오 개체를 만들 때CMS API반환합니다JSON비디오 속성을 포함하는 개체. 비디오를 추출합니다id ~로부터JSON , 전화를 걸 때 사용합니다. Dynamic Ingest API동영상 수집 및 트랜스 코딩을 요청하려면 :

        https://ingest.api.brightcove.com/v1/accounts/ACCOUNT_ID/videos/VIDEO_ID/ingest-requests
        
        

    다시 당신은 보낼 것입니다JSON요청 본문에서 동영상 파일의 위치를 지정합니다.

        {
          "master":{
            "url":"http://learning-services-media.brightcove.com/videos/mp4/Bird_Woodpecker.mp4"
          },
          "profile":"multi-platform-extended-static",
          "capture-images": true
        }
        
        

    profile다음은 트랜스코딩 프로세스에서 만들어야 할 변환을 지정하는 인제스트 프로필입니다. 대부분의 경우 다음 표준 프로파일 중 하나가 적절해야합니다.

    동적 전달 프로필

    • multi-platform-extended-static
    • multi-platform-standard-static

    레거시 인제스트 프로파일

    • videocloud-default-v1 (the default)
    • screencast-1280
    • smart-player-transition
    • single-bitrate-high
    • audio-only
    • single-bitrate-standard
    • high-resolution

    그러나 필요한 경우 추가 사용자 지정 수집 프로필을 만들 수 있습니다. Ingest Profiles API또는 사용Video Cloud사진관 .

    포스터 및 축소판 이미지 추가

    그만큼capture-images위 코드의 옵션은Video Cloud트랜스 코딩 프로세스 중 중간 지점에서 비디오의 포스터 및 썸네일 이미지를 캡처합니다. 또는 비디오를capture-images인제스트하는false동시에 또는 나중에 이미지를 대신 설정하고 인제스트할 수 있습니다.

        {
        "master":{
        "url":"http://learning-services-media.brightcove.com/videos/mp4/Bird_Woodpecker.mp4"
        },
        "profile":"multi-platform-extended-static",
        "capture-images": false,
        "poster": {
        "url": "http://learning-services-media.brightcove.com/images/for_video/titmouse-poster.png",
        "width": 640,
        "height": 360
        },
        "thumbnail": {
        "url": "http://learning-services-media.brightcove.com/images/for_video/titmouse-thumbnail.png",
        "width": 160,
        "height": 90
        }
        }
        
        

    보다이미지와Dynamic Ingest API상세 사항은.

    캡션 또는 장에 텍스트 트랙 추가

    를 사용하여 수집Dynamic Ingest API시점이나 나중에WebVTT파일의 텍스트 트랙을 비디오에 추가할 수도 있습니다. 텍스트 트랙은 비디오에캡션이나장을추가하는 데 사용됩니다.

        {
        "master":{
        "url":"http://learning-services-media.brightcove.com/videos/mp4/Bird_Woodpecker.mp4"
        },
        "profile":"multi-platform-extended-static",
        "capture-images": false,
        "poster": {
        "url": "http://learning-services-media.brightcove.com/images/for_video/titmouse-poster.png",
        "width": 640,
        "height": 360
        },
        "thumbnail": {
        "url": "http://learning-services-media.brightcove.com/images/for_video/titmouse-thumbnail.png",
        "width": 160,
        "height": 90
        },
        "text_tracks": [
        {
        "url": "http://learning-services-media.brightcove.com/captions/for_video/Water-in-Motion.vtt",
        "srclang": "en",
        "kind": "captions",
        "label": "English",
        "default": true
        }
        ]
        }
        
        

    보다 WebVTT 파일 수집상세 사항은.

    비디오 관리

    CMS API사용하면 계정에 대한 비디오 데이터를 다시 가져올 수 있습니다. 위에 표시된 것처럼 비디오 수집 프로세스의 일부로 비디오 객체를 만드는 데에도 사용됩니다. 가장 기본적인 요청은 다음과 같습니다.

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

    기본적으로이 요청은JSON이름, 설명, 태그, 사용자 정의 필드, 생성 및 마지막 수정 날짜, 포스터 및 썸네일의 URL 등 다양한 메타 데이터를 포함하는 20 개의 비디오 개체 배열입니다.

    다음 매개 변수 중 하나 이상을 요청에 추가하여 요청 결과를 구체화할 수 있습니다.

    limit
    이 반환 할 비디오 객체의 수를 결정, 최대 임의의 숫자로 설정할 수 있습니다 100 - 기본값은 20
    offset
    이것은 건너 뛸 항목 수를 결정하므로 비디오 카탈로그를 통해limit페이지하는 데 함께 사용됩니다. 기본값은 0입니다.
    sort
    이것은 결과를 정렬 할 비디오 메타 데이터 필드를 결정합니다. 기본적으로 결과는 정렬 기준updated_at (내림차순, 가장 최근에 업데이트 된 비디오를 먼저 표시하기 위해)

    보다CMS API개요-매개 변수이러한 매개 변수에 대한 자세한 정보는

    비디오 검색

    q매개 변수를 사용하여 다양한 기준으로 비디오를 검색 할 수도 있습니다. 이름, 설명, 태그와 같은 특정 필드뿐만 아니라 날짜 및 비디오의 상태를 기준으로 검색할 수 있습니다.

        https://cms.api.brightcove.com/v1/accounts/account_id/videos?q=tags:sea,mammal
        
        

    검색에 대한 자세한 내용 및 모든 옵션은비디오 검색 .

    특정 비디오 가져오기 및 업데이트

    ID 또는 참조 ID로 특정 비디오를 검색하려면 다음과 같이 하십시오.

        https://cms.api.brightcove.com/v1/accounts/account_id/videos/id
        or
        https://cms.api.brightcove.com/v1/accounts/account_id/videos/ref:reference_id
        
        

    GET요청은 비디오 객체를 반환합니다. 업데이트하려면JSON사용하여 반환PATCH동일한 URL로 요청하십시오.

    재생목록

    재생 목록 정보는 비디오 정보와 거의 동일한 방식으로 를 사용하여 관리됩니다. CMS API 참고Video Cloud두 가지 범주에서 8 가지 유형의 재생 목록을 지원합니다.

    수동 (또는EXPLICIT ) 재생 목록
    지정된 동영상 세트 포함 - 최대 100개의 동영상이 포함될 수 있습니다
    스마트 재생 목록
    검색 기준에 따라 런타임에 동적으로 빌드됩니다. 목록에서 비디오가 정렬되는 방식에 해당하는 스마트 재생 목록이 7가지 종류가 있습니다.
    • ACTIVATEDOLDESTTONEWEST
    • ACTIVATEDNEWESTTOOLDEST
    • ALPHABETICAL
    • PLAYSTOTAL
    • PLAYSTRAILINGWEEK
    • STARTDATEOLDESTTONEWEST
    • STARTDATENEWESTTO_OLDEST

    동영상 수에 대한 제한은 최대 100개까지 설정할 수 있습니다.

    동영상과 마찬가지로 계정에 재생 목록이 많은 경우limitoffset를 사용하여 결과를 페이징 할 수 있습니다.

        https://cms.api.brightcove.com/v1/accounts/account_id/playlists
        
        

    재생 목록 객체의 반환된 배열에는 위에서 설명한 유형 중 하나에type해당하는 를 포함하여 재생 목록의 메타데이터가 포함됩니다. 유형이 인EXPLICIT경우 포함 된 비디오의 ID를 포함하는video_ids배열도 있습니다. 유형이 스마트 재생 목록 유형 중 하나이면 다음과 같은 비디오를 검색하는 검색 문자열을 포함하는search속성이 있습니다.

        q=tags:fish,birds
        
        

    또한 다음과 같은 방법으로 단일 재생 목록을 검색 할 수 있습니다id .

        https://cms.api.brightcove.com/v1/accounts/account_id/playlists/playlist_id
        
        

    재생 목록의 전체 비디오 객체를 검색해야하는 경우 (페이지의 비디오에 대한 정보를 표시하기/videos위해) 해당 URL에 추가하기 만하면됩니다.

        https://cms.api.brightcove.com/v1/accounts/account_id/playlists/playlist_id/videos
        
        

    스마트 재생 목록의 경우 요청은 현재 검색 기준과 일치하는 동영상을 반환하지만 변경 될 수 있습니다.

    플레이어 작성

    Brightcove 플레이어는Player Management API . API를 사용하면 플레이어를 만들고, 속성을 업데이트하고, 페이지에 포함할 URL, iframe태그 또는 HTML 블록의 형태로 임베드 코드를 가져올 수 있습니다.

    계정 당 최대 200명의 플레이어까지 할 수 있지만 사용자가 절대적으로 필요한만큼의 플레이어를 보유하는 것은 일반적으로 덜 혼란 스럽습니다. 당신은 하나의 비디오 또는 재생 목록을 재생하기위한 별도의 플레이어가 있어야합니다, 하지만 그렇지 않으면 그들은 다르게 스타일을 될 것입니다 또는 플러그인을 통해 다른 기능을 추가 할 때 다른 플레이어가 필요합니다.

    플레이어를 만들려면 간단히POST에 요청Player Management API :

        https://players.api.brightcove.com/v2/accounts/account_id/players
        
        

    요청 본문에플레이어 구성 -필요한 유일한 것은name :

        {
        "name": "Single video player for blog posts"
        }
        
        

    응답은 플레이어 ID와 여러 형식의 embed 코드를 제공합니다.

        {
        "embed_code": "<iframe src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
        "embed_in_page": "http://players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/in_page.embed",
        "id": "de055fa4-4f09-45af-8531-419c6794ad04",
        "preview_embed_code": "<iframe src='//preview-players.brightcove.net/v1/accounts/57838016001/players/de055fa4-4f09-45af-8531-419c6794ad04/preview/embeds/default/master/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
        "preview_url": "http://preview-players.brightcove.net/v1/accounts/57838016001/players/de055fa4-4f09-45af-8531-419c6794ad04/preview/embeds/default/master/index.html",
        "url": "http://players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html"
        }
        
        

    전체 플레이어 구성을 얻으려면/players엔드포인트에 요청을 하지만 위의 응답에서 반환된 플레이어 ID를 추가합니다.

        https://players.api.brightcove.com/v2/accounts/account_id/players/de055fa4-4f09-45af-8531-419c6794ad04
        
        

    당신은 만들 수 있습니다PATCH플레이어 구성을 업데이트하려면 동일한 엔드 포인트에 요청하십시오.

    위의 응답에서 알 수 있습니다, preview_embed_codepreview_url . 신규 플레이어 또는 플레이어 업데이트를 테스트할 수 있도록 새로 생성되거나 업데이트된 플레이어는 기존 플레이어에게 변경 사항을 푸시하기 전에 미리 보기 모드로 설정됩니다. 변경 사항을 프로덕션으로 푸시하려면 다음 요청으로 플레이어를게시해야합니다.

        https://players.api.brightcove.com/v2/accounts/account_id/players/de055fa4-4f09-45af-8531-419c6794ad04/publish
        
        

    플레이어 사용자 정의

    브라이트코브 플레이어는다음과 같은 표준 웹 기술로 제작되었습니다. HTML, CSS 및JavaScript . 동일한 기술을 사용하여 플레이어를 사용자 지정할 수 있습니다. 이는 플레이어가 게시 된 페이지에서 수행 할 수 있지만 가장 좋은 방법은 플레이어를 통해 플레이어 자체에 사용자 지정을 추가하는 것입니다. 구성 , a를 통해 플레이어 업데이트PATCH에 요청Player Management API이전 섹션에서 설명한대로.

    다음을 통해 플레이어에 추가 기능을 추가 할 수도 있습니다. JavaScript플러그인 , 그리고 광범위한플레이어 API코드를 플레이어와 통합하는 데 도움이됩니다. 브라이트코브는 광고 활성화, 엔드스크린 사용자 지정, 오버레이 추가와 같은 다양한 기성 플러그인을 제공합니다.

    비디오 게시

    에서플레이어 만들기 섹션위에서 우리는 플레이어 구성 개체를 얻을 때Player Management API , 반환 된 데이터에는 HTML 페이지에 플레이어를 삽입하기위한 iframe 태그가 포함되며, 플레이어를 페이지에 직접 삽입하려는 경우 전체 HTML에 대한 URL도 포함됩니다.

    어떤 삽입을 선택하든 다음을 추가해야합니다. Video Cloud동영상 ID 또는 재생 목록 ID를 소스 코드에 추가하여 플레이어에 콘텐츠를 추가합니다. iframe 임베드 코드는 다음과 같습니다.

        <iframe
        src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html'
        allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
        
        

    플레이어의 URL에 파라미터를videoId={}video_id추가해야 전체 임베드 코드가 다음과 같이 표시됩니다.

        <iframe
        src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html?videoId=4483119716001'
        allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
        
        

    재생 목록 플레이어인 경우 매개 변수를playlistId={playlist_id}대신 사용합니다. 페이지 내장 코드의 수정은 비슷합니다.

    플레이어 구성에서 플레이어 크기가 고정되지 않는 한style속성에 너비와 높이를 추가하여 플레이어의 크기를 조정해야 합니다.

        <iframe
        src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html?videoId=4483119716001'
        allowfullscreen webkitallowfullscreen mozallowfullscreen
        style=width:640px;height:360px;></iframe>
        
        

    분석 보고서 가져오기

    그만큼Analytics API다양한 분석 보고서를 생성 할 수 있습니다. dimensions . 참조치수 가이드자세한 내용은.

    보고서의 날짜 범위, 반환 할 측정 항목을 지정할 수 있으며 데이터를 가져올 수 있습니다. JSON , csv , 또는xlxs체재

    지난달의 기간에 대해서는 상세 정보를 생성 할 수도 있습니다. 참여 보고서동영상의 100 분의 1마다 조회수를 보여줍니다.

    API 요약

    다음은 다음과 통합하는 데 유용한 API 요약입니다. Video Cloud .

    OAuth API
    클라이언트 자격 증명 및 액세스 토큰을 생성하여 다른 API에 액세스하는 데 사용됩니다.
    미디어 관리
    Ingest Profiles API
    추가 된 비디오에 대해 생성 할 렌 디션을 지정하는 사용자 정의 수집 프로파일을 생성하는 데 사용됩니다. Video Cloud
    Dynamic Ingest API
    비디오 및 관련 미디어 자산을 추가하는 데 사용됩니다. Video Cloud
    CMS API
    수집을 위한 비디오 객체를 만들고 비디오 및 재생 목록을 관리하는 데 사용됩니다.
    Brightcove 플레이어
    브라이트코브 플레이어
    플레이어는JavaScript런타임시 플레이어와 상호 작용하는 API
    Player Management API
    플레이어를 생성 및 구성하고 플레이어 임베드 코드를 가져오는 데 사용됩니다.
    Analytics API
    비디오 성능에 대한 분석 보고서를 가져오는 데 사용됩니다.