개요: 데이터 수집 API v2

이 주제에서는 Brightcove가 이벤트를 직접 추적 할 수없는 상황에서 Video Cloud Analytics 데이터에 이벤트를 추가 할 수있는 Analytics Data Collection API v2에 대한 개요를 제공합니다.

서문

분석 데이터는 네이티브 플레이어 SDK에서 제공하는 데이터를 포함하여 브라이트코브 플레이어가 자동으로 전송합니다. 당신이있는 경우 ~ 아니다 Video Cloud 비디오를 제공하기 위해 Brightcove Player를 사용하려면 데이터 수집기로 데이터를 전송하는 데 사용 중인 플레이어를 구성해야 합니다.

Data Collection API v2는 현재 표준입니다. v1 버전은 더 이상 사용되지 않습니다. v1을 구현한 경우 아래의 v1에서의변경 사항섹션을 참조하십시오.

이 개요 및 API 레퍼런스외에도 이샘플 구현도 참조하십시오 .

Analytics Data Collection API는 실시간 분석 이벤트의 끝점입니다. 이벤트 데이터는 다음과 같은 HTTP 요청을 통해 제출 된 일련의 매개 변수를 통해 Brightcove로 전송됩니다.

  https://metrics.brightcove.com/v2/tracker?event=video_view&domain=videocloud&account=123&video=789
  
  

이 매개변수는사실이벤트가 발생했을 때 시스템 상태에 대한 정보. 위의 예는video_view비디오에 대한 이벤트 발생789계정을 위해123 (또는: 사용자가 계정을 보기 시작했습니다. 123님의 동영상789 . 현재 추적 중인 분석 이벤트에 대한 설명은아래를 참조하십시오.

해상도 및 비트레이트

차원은 이벤트 발생시 시스템 상태에 대한 정 성적 사실입니다. 예를 들어, 요청이 다음과 같은 경우

  https://metrics.brightcove.com/tracker/v2/?event=video_view
  &session=581136_2018-07-03T18:34:46.214Z
  &domain=videocloud&account=123
  &video=789
  
  

비디오 ID ( 789 ) 및 계정 ID ( 123 ), 요청 자체에서 수집된 모든 장치 및 위치 정보는 모두video_view이벤트와 관련된 측정기준입니다. Analytics 시스템은 이 요청이 생성되었을 때 발생한video_view이벤트를 다음과 같은 측정기준으로 기록합니다.

이벤트 및 도메인 매개 변수

event파라미터는 발생한 이벤트를 설명합니다. domain파라미터는 이벤트의 네임스페이스를 제공합니다. eventdomain , 및session는 필수 매개변수입니다 ( domain값은 항상videocloud ).

추가 매개 변수

Analytics 시스템이 이벤트를 성공적으로 분석 할 수 있도록 특정 매개 변수가 이벤트에 포함되어야합니다.

응답 유형

분석 데이터 수집 API 요청에 대한 응답에는 HTTP 응답 코드와 사람이 읽을 수있는 메시지가 포함됩니다.

HTTP 상태 코드 설명
200 콜렉터가 요청을 수신했으며 지속되었습니다. (1x1 픽셀 투명 GIF 이미지 반환)
400 클라이언트가 보낸 요청에 필수 매개 변수인domain , account또는 이 (가) 누락되었습니다event . (도메인 별 매개 변수가 누락 된 경우이 상태는 반환되지 않습니다.) "Invalid 'event' parameter"
50x 이것은 서버 측의 문제를 나타내는 오류 코드입니다. 귀하의 이벤트는 분석 시스템에 의해 성공적으로 기록되거나 기록되지 않을 수 있습니다. "Server-side failure, please retry."

VOD 및 라이브 이벤트

이벤트 생중계

데이터 수집 API에서 이벤트를라이브로 분류하려면 다음 조건을 충족해야 합니다 .

  • 요청에 video_duration 매개변수가 없어야 합니다.
  • 요청에는 계정 매개변수가 있어야 합니다.
  • 요청에는 동영상 매개변수가 있어야 합니다.
  • 이벤트 유형은 다음 중 하나여야 합니다.
    • play_request
    • video_impression
    • video_view
    • video_engagement
    • alive_ss_ad_start
  • 라이브 비디오 스트리밍을 위해 Brightcove 지원에서 계정을 활성화해야 합니다.

주문형 비디오

  • ~ 해야 하다포함video_duration요청으로 VOD 전용. 실시간 스트리밍을 위해 video_duration을 절대 보내지 마세요 .
  • video_duration파라미터가 포함된 모든 요청은 VOD로 분류됩니다 .

최소한의 데이터

최소한 세션 중에 재생되는 모든 비디오에 대해session ID와video_view이벤트를 보내야 합니다. 그만큼video_view보내야 한다 ~ 후에모든 프리롤 광고가 완료됩니다.

session

이것은 세션 식별자입니다. session이는 기본적으로 플레이어가 있는 페이지 또는 앱 뷰의 한 뷰로, 해당 뷰가 지속되는 한 뷰입니다. 값은 세션 기간 동안 일정해야 하며 모든 이벤트에 대해전송되어야합니다. GUID (Globally Unique Identifier)에 최대한 가까워 야합니다. 충돌이있는 경우 두 세션이 얽 히지 않으면 유효하지 않은 것으로 폐기 될 수 있습니다.

JavaScript에서 GUID를 만드는 데는 다양한 체계가 있습니다. 한 가지 예가이 GitHub 리포지토리에있습니다. Brightcove는 타사 스크립트를 지원하지 않습니다.

성능을위한 최소 데이터 (재생률 및 참여도 점수)

이벤트

  • video_impression
  • play_request
  • video_view
  • video_engagement

속성 (모든 이벤트)

  • account
  • video

추가 속성 ( video_engagement이벤트 전용)

주문형 비디오
  • range
  • video_duration
라이브
  • video_seconds_viewed

HTTP 헤더

  • User-Agent -기기보고에 필요

모범 사례

Collector에 올바른 데이터를 전송하고 있는지 확인하려면 일반적으로 배포하기 전에 데이터 수집 스크립트를 테스트해야합니다. 다음을 권장합니다.

  1. 플레이어에 대한 데이터 수집 스크립트를 작성하십시오.
  2. 통제 된 환경에서 최소 하루 동안 테스트하십시오.
  3. Analytics Module을 통해 또는Analytics API를 통해 분석 데이터를 확인하여 수집된 내용이 예상과 일치하는지 확인하십시오.

요청 보내기-CORS 문제 방지

정크 데이터

일반적으로 Collector로 전송 된 데이터는 Analytics 시스템에 의해 진실로 기록됩니다. 이벤트에 부적절하거나 잘못된 정보가 포함 된 경우 Analytics 시스템은 데이터를 잘못 해석합니다.

예를 들어 실수로 타임 스탬프를 비디오 ID로 보낸 경우 분석 데이터가 전체 요약에 영향을 미치는 방식으로 왜곡됩니다.

URI 인코딩

Data Collection API로 보내는 문자열 중 공백이나 특수 문자를 포함할 수 있는 문자열은 요청이 성공하려면 URI로인코딩되어야 합니다. JavaScript를 통해 요청을 제출하는 경우 요청 문자열을 인코딩하는encodeURI()메서드를 사용할 수 있습니다. 예:

  urlStr += "&video=" + currentVideo.id + "&video_name=" + encodeURI(currentVideo.video_name);
  
  

이벤트

아래 나열된 이벤트는 Analytics 시스템에서 처리됩니다.

player_load
의도 / 의미

최종 사용자가 플레이어 세션을 시작했습니다. 이는 분석 세션의 시작을 표시하며 다른 이벤트보다 먼저 전송되어야합니다.

https://metrics.brightcove.com/tracker
  ?event=player_load
  &session=581136_2018-07-03T18:34:46.214Z
  &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F
  &source=http%3A-%2F%2Fwww.google.com
  %2Furl%3Fsa%3D-t%26rct%3Dj%26q%3D%26esrc%3Ds%26source
  %253A-%252F%252Fsupport.brightcove.com%252F%26ei%3D
  OdxWZSGdJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg
  &domain=videocloud
  &account=1749339200
  &time=1377191644796
error
의도 / 의미

재생 환경을 방해하는 치명적인 오류가 발생하면 전송됩니다.

https://metrics.brightcove.com/tracker
  ?event=error
  &error_code=MEDIA_ERR_SRC_NOT_SUPPORTED
  &session=581136_2018-07-03T18:34:46.214Z
  &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F
  &source=http%3A-%2F%2Fwww.google.com
  %3Dhttp%253A-%252F%252Fsupport.brightcove.com
  %26usgWZSGdJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg
  &domain=videocloud
  &account=1749339200
  &time=1377191644796
catalog_request
의도 / 의미

Video Cloud Playback API에 대한 요청이있을 때 전송됩니다.

https://metrics.brightcove.com/tracker
  ?event=catalog_request
  &session=581136_2018-07-03T18:34:46.214Z
  &catalog_url=https%3A%2F%2Fedge.api.brightcove.com%2Fplayback
  &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F
  &source=http%3A-%2F%2Fwww.google.com
  %3Dhttp%253A-%252F%252Fsupport.brightcove.com
  WZSGdJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg
  &domain=videocloud&account=1749339200
  &time=1377191644796
catalog_response
의도 / 의미

이전에catalog_request대한 응답을 받았을 때 전송됩니다.

https://metrics.brightcove.com/tracker
  ?event=catalog_response
  &session=581136_2018-07-03T18:34:46.
  &catalog_url=https%3A%2F%2Fedge.api.brightcove.com%2Fp2F23823423800
  &response_time_ms=243
  &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F
  &source=http%3A-%2F%2Fwww.google.com
  53A-%252F%252Fsupport.brightcove.com%252F%2Tzn-oCgCQ
  AFQjCNJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg
  &domain=videocloud
  &account=1749339200
  &time=1377191644796
play_request
의도 / 의미

사용자가 명시 적으로 재생 버튼을 클릭하여 재생을 시작하거나 플랫폼이 자동 재생 시나리오에서 재생을 트리거 할 때 자동으로 전송됩니다. 시청자가 동영상을 일시 중지했다가 다시 시작하면 단일 시청 세션 중에 여러play_request이벤트가 전송될 수 있습니다.

https://metrics.brightcove.com/tracker
  ?event=play_request
  &session=581136_2018-07-03T18:34:46.214Z
  &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F
  &source=http%3A-%2F%2Fwww.google.com
  %3Dhttp%253A-%252F%252Fsupport.brightcove.com%252F%2
  dJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg
  &domain=videocloud
  &account=1749339200
  &video_duration=189
  &time=1377191644796
ad_mode_begin
의도 / 의미

재생 플랫폼이 광고 대행사에게 제어권을 넘길 때 전송됩니다.

https://metrics.brightcove.com/tracker
  ?event=ad_mode_begin
  &session=581136_2018-07-03T18:34:46.214Z
  &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F
  &source=http%3A-%2F%2Fwww.google.com
  %3Dhttp%253A-%252F%252Fsupport.brightcove.com%252
  %26usg%3DAFQjCNEtLod%3Dbv.51156542%2Cd.dmg
  &domain=videocloud
  &account=1749339200
  &time=1377191644796
ad_mode_complete
의도 / 의미

재생 플랫폼이 광고 대행사에게 제어권을 넘길 때 전송됩니다.

https://metrics.brightcove.com/tracker
  ?event=ad_mode_complete
  &session=581136_2018-07-03T18:34:46.214Z
  &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F
  &source=http%3A-%2F%2Fwww.google.com
  %3Dhttp%253A-%252F%252Fsupport.brightcove.com%252F%2
  WZSGdJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg
  &domain=videocloud
  &account=1749339200
  &time=1377191644796
video_impression
의도 / 의미

플레이어에 추가 된 동영상의 메타 데이터가로드를 완료했으며 플레이어는 자동 재생 또는 사용자 상호 작용을 통해보기 이벤트를 트리거 할 준비가되었습니다.

https://metrics.brightcove.com/tracker
  ?event=video_impression
  &session=581136_2018-07-03T18:34:46.214Z
  &destination=http%3A%2F%2Fwww.current-times.com%2F
  &time=1377191644801
  &source=http%3A%2F%2Fwww.google.com
  %252-F%26ei%3DoEYWUtCgEIXq9ATznoCgCQ
  %26usg%3DAFQjCNEtLod-Odx6bvm%3Dbv.5115-6542%2Cd.dmg
  &video=2621468623001
  &video_name=Democratic-Rivals%20Target%20Bill
  &video_duration=189
  &domain=videocloud
  &account=1749339200
video_view
의도 / 의미

동영상 재생이 시작되었습니다 (로드 후 자동 재생 또는 사용자 상호 작용으로 인해). 시청자가 비디오를 중지하고 다시 시작하거나 재생하더라도 시청 세션 중에는 하나의video_view이벤트만 녹화된다는 점에 유의하십시오.

https://metrics.brightcove.com/tracker
  ?event=video_view
  &session=581136_2018-07-03T18:34:46.214Z
  &destination=http%3A%2F%2Fwww.current-times.com%2F
  &video=2621468623001
  &video_name=Debate-2
  &video_duration=189
  &time=1377191666432
  &source=http%3A%2F%2Fwww.google.com%2Furl%
  %252F%26ei%3DoEYWUtCgEIXq9ATznoCgCQ%26us-g
  %3DAFQjCNEtv.51156542%2Cd.dmg
  &domain=videocloud
  &account=1749339200
video_engagement
의도 / 의미

사용자가 비디오 타임라인의 시간 범위를 초 단위로 시청했습니다. 이 이벤트는 비디오 참여도를 추적하기 위한 하트비트이며 사용자 상호 작용 및 비디오 길이에 따라 재생 중에 여러 번 전송될 수 있습니다. Brightcove 플레이어 계측은 재생이 중단되지 않은 경우 10 초마다이 이벤트를 보냅니다. 20 초 이상의 범위를 설명하는 이벤트는 Analytics 시스템에서 삭제됩니다.

https://metrics.brightcove.com/tracker
  ?event=video_engagement
  &session=581136_2018-07-03T18:34:46.214Z
  &destination=http%3A%2F%2Fwww.current-times.com%2F
  &video=2621468623001
  &video_name=Debate-2
  &video_duration=189
  &time=1377191676589
  &range=0..9
  &source=http%3A%2F%2Fwww.google.com
  %2Furl%3Fsa%3Dt-%26rct%3Dj%26q%3D%26esrc%3Ds
  %26source%3Dweb%26cd%3D1%26ved%3D0CDYQFjAA
  %26url%3Dhttp%253A%252F%252Fwww.current-times.com
  %252F%26ei%3DoEYWUtC-gEIXq9ATznoCgCQ
  %26usg%3DAFQjCNEtLodOdxWZSGdJpL7WJ.51156542%2Cd.dmg
  &domain=videocloud
  &account=1749339200

모든 이벤트에 대한 매개 변수

이러한 이벤트에 대한 매개 변수에는 이벤트가 발생했을 때 시스템의 현재 상태와 관련된 모든 정보가 포함되어야하며 가능한 한 구체적이어야합니다. 이 섹션에서는 모든 이벤트와 함께 전송할 수있는 매개 변수에 대해 자세히 설명하고 다음 섹션에서는 특정 이벤트에 대한 매개 변수를 보여줍니다.

필드 유형 설명
account 문자열

계정 ID

domain 문자열

항상 같음videocloud

허용되는 값: "videocloud"

session 문자열 가능한 한 보편적으로 고유한 세션 ID - 자세한 내용은 위의최소 데이터섹션을 참조하십시오.
device_os선택 과목 문자열

사용자 에이전트를 신뢰할 수없는 경우 이벤트를 발생시킨 기기의 OS를 지정하도록 재정의합니다 (기기 OS 및 기기 유형이 모두 포함되지 않거나 제출 된 값이 여기에 표시된 값 목록에없는 경우 무시 됨). 일반적으로 포함되지 않음 )

허용되는 값: "android""bada" , "ios" , "linux" , "mac" , "tv" , "os_x" , "rim" , "symbian" , "windows" , "other"

device_os_version선택 과목 문자열

기기에서 사용중인 OS의 버전입니다. 지정하지 않으면 추적 요청에 대한 사용자 에이전트 문자열을 구문 분석하여 계산됩니다.

device_type선택 과목 문자열

사용자 에이전트를 신뢰할 수없는 경우 이벤트를 발생시킨 장치 유형을 지정하려면 재정의합니다 (장치 OS 및 장치 유형이 모두 포함되지 않거나 제출 된 값이 여기에 표시된 값 목록에없는 경우 무시 됨). 일반적으로 포함되지 않음 )

허용되는 값: "mobile""tablet" , "tv" , "desktop" , "other"

event 문자열

이벤트 유형

허용되는 값: "player_load""catalog_request" , "catalog_response" , "play_request" , "ad_mode_begin" , "ad_mode_complete" , "video_impression" , "video_view" , "video_engagement" , "error"

destination선택 과목 문자열

이벤트를 시작한 URI

source선택 과목 문자열

최종 사용자를 다음으로 보낸 URI destination URI

time선택 과목 번호

epoch 시간 (밀리 초)의 이벤트에 대한 타임 스탬프

country선택 과목 문자열

ISO-3166 (알파 2) 지역 cISO-3166 (알파 2) 지역 코드 (시스템이 IP 주소에서 지리 정보를 감지 할 수없는 경우 재정의) 일반적으로 포함되지 않음

country_name선택 과목 문자열

사람이 읽을 수있는 국가 이름 (시스템이 IP 주소에서 지리 정보를 감지 할 수없는 경우 재정의) 일반적으로 포함되지 않음

region선택 과목 문자열

ISO-3166 (알파 2) 지역 코드 (시스템이 IP 주소에서 지리 정보를 감지 할 수없는 경우 재정의) 일반적으로 포함되지 않음

region_name선택 과목 문자열

사람이 읽을 수있는 지역 이름 (시스템이 IP 주소에서 지리 정보를 감지 할 수없는 경우 재정의) 일반적으로 포함되지 않음

city선택 과목 문자열

도시 이름 일반적으로포함되지 않음

user선택 과목 문자열

고유한 사용자 식별자 - 제공되지 않거나 비어 있는 경우 Video Cloud는Source IP address + the User-Agent문자열을 고유 식별자로 사용하는 대체 방법을 사용합니다. 브라이트코브는 이 정보를 고유 사용자를 계산하는 데만 사용한다는점에 유의하십시오. 사용자 데이터 자체는 API 또는 분석 모듈을 통해 검색 할 수 없습니다.

사용자 매개 변수

  • 플레이어 / 클라이언트 애플리케이션이 고유 한 뷰어를 추적하려면 사용자 매개 변수로 수집기에 고유 한 ID를 보내야합니다.
  • user가 제공되지 않았거나 비어 있는 경우 를 고유Source IP address + the User-Agent String식별자로 사용하는 대체 방법을 사용합니다.
  • 사용자 매개 변수의 값은 로그 / 데이터베이스에 저장되지 않으며 해시 (SHA-256 사용) 만 저장됩니다.
  • 수집기는 쿠키를 설정하지 않습니다.

고유 사용자

Brightcove Player의 플러그인 기능을 사용하여보고 된 분석에 고유 한 비디오 뷰어 데이터를 추가 할 수 있습니다. 이렇게 하려면 분석 기능의settings개체에 고유 식별자를 추가해야 합니다.

물론 고유한 사용자 ID를 캡처하는 방법은 애플리케이션마다 다르지만 예를 들어 이 코드에서는 https://exampledomain.com/users/912389123 과 같이 고유한 사용자 데이터가 포함된 로그인 URL이 캡처된다고 가정합니다. 이 고유 URL이 플러그인에 전달됩니다.

아래 플러그인 코드는 다음 작업을 수행합니다.

  • 표준 구문을 사용하여 플러그인 이름이 로 정의된 Brightcove Player 플러그인을 생성합니다uniqueUserForAnalyticsPlugin . 플러그인은 플러그인에 전달된 데이터를 포함하는options객체도 받아들입니다.
  • myPlayer변수에는 플레이어에 대한 참조가 할당됩니다. 또한 두 개의 다른 변수가 생성됩니다.
  • userPath변수에는options객체를 통해 플러그인에 전달된 경로가 할당됩니다.
  • uniqueViewer변수에는 의 파싱된userPath버전이 할당되므로 사용자 ID 숫자만 변수에 할당됩니다.
  • Analytics 플러그인의settings객체에 사용자 속성이 추가됩니다.
  videojs.registerPlugin('uniqueUserForAnalyticsPlugin', function(options) {
  var myPlayer = this,
  userPath = '',
  uniqueViewer = '';
  //Assign uniqueViewer a value according to your app and business rules
  //In this example, parsing the path passed to the plugin in the options object
  userPath = options.path;
  uniqueViewer = userPath.substring( userPath.lastIndexOf('/') + 1 );
  //Assign a user variable to Analytic's settings object
  myPlayer.bcAnalytics.client.user(USER) = uniqueViewer;
  });
  
  

이 코드는 애플리케이션 로직에 맞게 변경 한 다음 인터넷 액세스 가능 URL에 저장해야합니다.

Studio에서플러그인섹션을 사용하여 그림과 같이 플레이어에 플러그인을 로드합니다.

Studio 플러그인 섹션
Studio 플러그인 섹션

뒤에 나오는 JSON 대신 사용자 데이터가 포함 된 문자열을 플러그인에 전달합니다. 물론, 플러그인 코드는 고유 한 사용자 ID를 추출하기 위해 그에 따라 업데이트되어야합니다.

  {
  "path": "https://exampledomain.com/users/912389123"
  }
  
  

플러그인 개발에 대한 자세한 내용은단계별 문서를 참조하십시오. 플러그인 개발문서.

device_type , device_osdevice_os_version , device_manufacturer , 및browser_type매개변수

기본적으로 Analytics 시스템은 User-Agent 헤더에서 장치 유형 및 OS 정보를 감지하려고 시도합니다. 만약에둘 다device_type그리고device_os전송되면 User-Agent 헤더의 정보는 무시됩니다. device_type그리고device_os . 대부분의 경우 장치, OS 및 브라우저 정보를 보낼 필요가 없습니다. -이 재정의는 User-Agent가 신뢰할 수 없거나 사용할 수없는 경우에만 사용해야합니다.

Analytics 시스템은 요청에 장치 매개변수 재정의에 대해 인식할 수 없는 값이 포함된other경우 이를 기록합니다.

지리 데이터 매개 변수

기본적으로 Analytics 시스템은 원격 IP 주소에서 지리 정보를 감지하려고 시도합니다. 이 동작은country ,, country_nameregionregion_name , city및 를 전달하여 재정의할 수 있습니다. dma파라미터. 대부분의 경우 이러한 매개 변수는 필요하지 않습니다. -이 재정의는 원격 IP 주소를 신뢰할 수 없거나 사용할 수없는 경우에만 사용해야합니다.

Analytics 시스템이 기록합니다. ZZ또는unknown요청에 재정의에 대해 인식할 수 없는 값이 포함된 경우.

목적지 및 소스 매개 변수

destinationsource매개변수는 이벤트를 발생시킨 URI ( destination ) 와 해당 이벤트를 발생시킨 URI ( source ) 를 제공합니다.

source매개변수는 트래픽 소스 정보를 결정하는 데 사용됩니다. 지정하지 않으면source Analytics 시스템은 이벤트를 직접 트래픽에 의해 시작된 것으로 간주합니다.

destination매개 변수는 교통 목적지 정보, 즉 비디오를 시청하는 위치를 결정하는 데 사용됩니다. URI에 권한이 없는 경우 API는 a를 기록하지 않습니다destination_domain . 는 URI의 경로로destination_path기록됩니다.

웹 재생 시 동영상이 재생되고 있는 페이지의 주소창에 있는 URL은destination , 그리고source리퍼러( top.document.referrer ).

예를 들어, 브라이트코브 지원 사이트에서 “라이브 스트리밍 와이어캐스트”를 검색하고 결과에 나타나는 비디오를 시청하는 경우:

매개 변수
source
  https://support.brightcove.com/en/video-cloud/search/live%20streaming%20wirecast
  
  
destination
  https://support.brightcove.com/en/video-cloud/training-videos/live-streaming-wirecast
  
  

URL이 없는 경우 (예: 네이티브 재생의 경우), 둘 다destination동영상이 재생되는 위치와 사용자가 해당 URL에 도달한 경로를 각각 식별하는 유효한source URI여야 합니다.

destination유효한 URI라고 가정하면 :

  <scheme name> : <hierarchical part> [ ? <query> ] [ # <fragment> ]
  ex. https://www.example.com/foo/bar/baz
  --------------/----------/
  |             |
  authority        path
  ---/    -------------------------/
  |                |
  scheme       hierarchical part
  
  

애널리틱스 시스템은 이를 다음과 같이 처리합니다.

URI에권한 , API 응답은 해당 권한을destination_domaindestination_path . URI에 권한이 없는 경우 API는 a를 기록하지 않습니다destination_domain . 는 URI의 경로로destination_path기록됩니다. 계층적 부분이destination없는 A (예: 체계만) 는 체계가 없는 모든 값과 마찬가지로 유효하지 않은 것으로 간주됩니다.

특정 이벤트에 대한 매개 변수

오류 이벤트 매개 변수

다음 파라미터는error이벤트와 함께 전송되어야 합니다.

필드 유형 설명
error_code선택 과목 번호

이벤트와 관련된 플랫폼 특정 오류 코드

catalog_request 이벤트 매개 변수

다음 파라미터는catalog_request이벤트와 함께 전송되어야 합니다.

필드 유형 설명
catalog_url선택 과목 문자열

카탈로그_요청 이벤트와 관련된 대상 URL

catalog_response 이벤트 매개 변수

다음 파라미터는catalog_response이벤트와 함께 전송되어야 합니다.

필드 유형 설명
catalog_url선택 과목 문자열

이 응답을 시작한 catalog_request 이벤트와 연관된 대상 URL

response_time_ms선택 과목 번호

카탈로그_요청 이벤트와 카탈로그_응답 이벤트 사이의 시간 (밀리초 단위)

video_impression 이벤트 매개 변수

다음 파라미터는video_impression이벤트와 함께 전송되어야 합니다.

필드 유형 설명
video선택 과목 문자열

비디오 ID

video_name선택 과목 문자열

비디오 이름

video_view 이벤트 매개 변수

다음 파라미터는video_view이벤트와 함께 전송되어야 합니다.

필드 유형 설명
video선택 과목 문자열

비디오 ID

video_name선택 과목 문자열

비디오 이름

start_time_ms선택 과목 문자열

재생 시작과 렌더링되는 비디오의 첫 번째 프레임 사이의 시간 (밀리 초)입니다. 이는 경험에 따라 달라질 수 있습니다. 예를 들어 프리롤 광고가 구성되어 있지 않은 경우 이 측정값은play_requestvideo_view이벤트와 이벤트 사이의 시간입니다. 프리롤 광고가 있는 경우 광고ad_mode_begin사이의 시간을 포함하지ad_mode_complete않아야 합니다.

video_engagement 이벤트 매개 변수

다음 파라미터는video_engagement이벤트와 함께 전송되어야 합니다.

필드 유형 설명
video선택 과목 문자열

비디오 ID

video_name선택 과목 문자열

비디오 이름

range선택 과목 문자열

해당 형식의video_engagement이벤트에 대해 조회한 동영상 범위StartSecond..EndSecond (StartSecond 및 EndSecond 값은 정수 [정수] 여야 함) - 참여 이벤트에서 범위를 제외하여 해당 이벤트가 발생한 기간 동안 시청 활동이 없었음을 표시할 수 있습니다.(예: 재버퍼링 활동만 있는 경우)

rendition_url선택 과목 문자열

가장 최근에 선택한 변환의 URL입니다. 예를 들어 HLS 스트림의 경우 가장 최근에 선택한 변형의 URL이됩니다.

rendition_indicated_bps선택 과목 문자열

가장 최근에 선택한 변환의 표시된 비트 전송률 (초당 비트 수)

rendition_mime_type선택 과목 문자열

가장 최근에 선택한 변환의 MIME 유형

rendition_height선택 과목 문자열

비디오 변환의 인코딩 된 높이 (픽셀)

rendition_width선택 과목 문자열

비디오 변환의 인코딩 된 너비 (픽셀)

rebuffering_seconds선택 과목 문자열

참여 기간 동안 요청되지 않은 지연으로 인해 사용자가 동영상 재생을 기다리는 데 소비 한 시간 (초)

rebuffering_count선택 과목 문자열

참여 기간 동안 표시된 참여 기간 지연 동안 재 버퍼링으로 인해 재생이 중지 된 횟수

forward_buffer_seconds선택 과목 문자열

현재 정방향 버퍼에있는 비디오의 시간 (초)

measured_bps선택 과목 문자열

가장 최근에 다운로드 한 세그먼트에 포함 된 비트 수와 해당 세그먼트를 다운로드하는 데 소요 된 시간의 비율 (초당 비트 수)

player_width선택 과목 문자열

참여 범위가 끝날 때 플레이어의 현재 픽셀 너비

player_height선택 과목 문자열

참여 범위 종료시 플레이어의 현재 픽셀 높이

dropped_frames선택 과목 문자열

drop_frames

video_duration선택 과목 번호

비디오 길이 (초)

video_seconds_viewed선택 과목 번호

video_engagement이벤트의 마지막 업데이트 이후 시청 시간 (초)

video_engagement이벤트는 동영상이 재생되는 동안 동영상 참여도를 추적하는 수단으로, 재생 중에 여러 번 전송될 가능성이 높습니다. (Flash/HTML5 플레이어 인스트루먼트는 재생이 중단되지 않는 경우 10초마다 이 이벤트를 전송합니다.) 현재 20 초 이상의 범위를 설명하는 이벤트는 Analytics 시스템에 의해 삭제되므로 이러한 이벤트를 더 자주 전송해야합니다.

video_engagement이벤트는 다음과 같은 두 가지 형식을 취할 수 있습니다 (간결성을 위해 다른 파라미터는 생략함).

의미
  event=video_engagement&video=123&video_duration=75&range=0..9
  
  
재생 시간이 75초인 동영상은123 0초부터 9초까지 재생되었습니다 (총 10초 시청).
event=video_engagement&video=123&video_seconds_viewed=10 10초 분량의 동영상을123조회했습니다.

두 버전 모두 시청 시간을 추적하지만 다음을 포함하는 버전은video_duration그리고range또한 추가 참여 데이터를 계산하는 데 필요한 정보를 포함하며선호하는 방법보내다video_engagement분석 시스템에 대한 이벤트 데이터. 실시간 스트림의 경우 또는 재생 중에 비디오의 타임라인이 계속 변경되거나 신뢰할 수 없는 경우에는 이 데이터만 사용할 수 있습니다. video_seconds_viewed VOD의 경우, 사용할 수 없는 경우가 아니면durationvideo_engagement이벤트에video_duration및 를 포함해야range합니다.

매개변수 파생 된 참여 지표 (API)
video_duration , range video_seconds_viewed , video_percent_viewed , engagement_score ; 참여 곡선 데이터
video_seconds_viewed video_seconds_viewed

세 가지 파라미터 ( video_duration , rangevideo_seconds_viewed ) 가 모두video_engagement이벤트와 함께 전송되면 애널리틱스 시스템은video_duration +에서 참여 지표를 계산합니다. range파라미터.

V2 변경 사항

이 섹션에서는 v1을 사용해 온 사용자를 위해 데이터 수집기의 v1에서 v2 로의 변경 사항을 요약합니다.

추적기의 기본 URL

  http(s)://metrics.brightcove.com/v2
  
  

모든 이벤트에서 지원되는 추가 필드:

기기_운영체제_버전 : 기기에서 사용중인 OS의 버전입니다. 지정하지 않으면 추적 요청에 대한 사용자 에이전트 문자열을 구문 분석하여 계산됩니다.

플랫폼_버전 : 지정된 플랫폼의 새 릴리스가 이벤트를 보내는 데 사용됨을 나타내는 데 사용됩니다.

V2의 새로운 이벤트

카탈로그_요청 : videocloud 카탈로그 API에 대한 요청이 있을 때 전송됩니다. 이 이벤트는 내부용이며 애널리틱스 모듈이나 애널리틱스 API를 통해 노출되지 않습니다.

  • 카탈로그_URL : 이벤트와 관련된 대상 URL - 이catalog_request이벤트는 내부용이며 애널리틱스 모듈이나 애널리틱스 API를 통해 노출되지 않습니다.

카탈로그_응답 : 이전에catalog_request대한 응답이 수신될 때 전송됩니다. 이 이벤트는 내부용이며 Analytics 모듈이나 Analytics API를 통해 노출되지 않습니다.

  • 카탈로그_URL : 이 응답을 시작한catalog_request이벤트와 관련된 대상 URL - 이 이벤트는 내부용이며 Analytics 모듈이나 Analytics API를 통해 노출되지 않습니다.
  • 응답 시간_ms : catalog_request이벤트와 이벤트 사이의 시간 (밀리초) - 이catalog_response이벤트는 내부용이며 Analytics 모듈이나 Analytics API를 통해 노출되지 않습니다.

재생_요청 : 사용자가 명시 적으로 재생 버튼을 클릭하여 재생을 시작하거나 플랫폼이 자동 재생 시나리오에서 재생을 트리거 할 때 자동으로 전송됩니다.

ad_mode_begin : [대체ad_start ] 재생 플랫폼에서 광고 에이전트에게 제어권을 넘길 때 전송됩니다.

ad_mode_complete : [대체ad_end ] 광고 에이전트에서 재생 플랫폼으로 제어권을 넘겨줄 때 전송됩니다.

오류 : 재생 환경을 방해하는 치명적인 오류가 발생하면 전송됩니다.

  • 오류_코드 : 이벤트와 관련된 플랫폼 특정 오류 코드입니다.

V2에 대한 업데이트 된 이벤트

동영상_보기 : 새로운 대기 시간 측정 포함

  • 로드 시간_ms : 비디오에 대한 데이터로드를 시작하고 비디오를 재생할 수있게되는 사이의 시간 (밀리 초)입니다.
  • 시작 시간_ms : 재생 시작과 렌더링되는 비디오의 첫 번째 프레임 사이의 시간 (밀리 초)입니다. 이는 경험에 따라 다를 수 있습니다. 예를 들어 프리롤 광고가 구성되어 있지 않은 경우 이 측정값은 'play_request'와video_view이벤트 사이의 시간입니다. 프리롤 광고가 있는 경우 광고ad_mode_begin사이의 시간을 포함하지ad_mode_complete않아야 합니다.

동영상 참여 : 추가 변환 선택, 비트 전송률 측정 및 버퍼링 정보를 포함합니다. 참여 기간 동안 시청이 발생하지 않은 경우에도 정기적으로 전송해야한다는 점에서 동영상 참여도 미묘하게 변경되었습니다. 이 변경은 사용자가 재생을 기다리게하는 재 버퍼링 지연 및 카운트 추적을 활성화하기위한 것입니다.

  • 범위 : 이제 범위 매개변수는 선택 사항입니다. 인게이지먼트 이벤트에서 범위를 제외하면 이벤트가 적용되는 기간 동안 시청 활동이 없었음을 표시할 수 있습니다.(예: 재버퍼링 활동만 있는 경우)
  • 렌디션_URL : 가장 최근에 선택한 변환의 URL입니다. 예를 들어 HLS 스트림의 경우 가장 최근에 선택한 변형의 URL이됩니다.
  • 렌디션_표시_bps : 가장 최근에 선택한 변환의 표시된 비트 전송률 (초당 비트 수)입니다.
  • 렌디션_마임_유형 : 가장 최근에 선택한 변환의 MIME 유형입니다.
  • 렌디션_높이 : 비디오 변환의 인코딩 된 높이 (픽셀)
  • 렌디션_너비 : 비디오 변환의 인코딩 된 너비 (픽셀)
  • 리버퍼링_초 : 참여 기간 동안 요청되지 않은 지연으로 인해 사용자가 동영상 재생을 기다리는 데 소비 한 시간 (초)입니다.
  • 리버퍼링 횟수 : 표시된 참여 기간 동안 다시 버퍼링으로 인해 재생이 중지 된 횟수입니다.
  • 포워드_버퍼_초 : 현재 정방향 버퍼에있는 비디오의 시간 (초)입니다.
  • 측정된 bps : 가장 최근에 다운로드 한 세그먼트에 포함 된 비트 수와 해당 세그먼트를 다운로드하는 데 소요되는 시간의 비율 (초당 비트 수)입니다.
  • player_width는 인게이지먼트 범위 끝에 있는 플레이어의 현재 픽셀 너비입니다.
  • player_height인게이지먼트 범위 끝에 있는 플레이어의 현재 픽셀 높이입니다.
  • 드롭된 프레임 : 이 참여 기간 동안 비디오 재생에서 삭제 된 프레임 수