Video Stitcher API를 사용하여 Google Ad Manager에서 게재하는 광고 시점 중 광고가 동적으로 병합되는 라이브 스트림 재생을 시작할 때마다 라이브 세션을 만듭니다. 응답은 재생 URL 및 라이브 세션의 구성을 포함합니다.
이 페이지에서는 Google Ad Manager에서 활성화하는 라이브 세션을 만들고 관리하는 방법을 설명합니다. Google Ad Manager를 사용하지 않는 라이브 세션에 대한 자세한 내용은 라이브 세션 관리를 참조하세요.
시작하기 전에
- 실시간 구성을 만듭니다. Google Ad Manager와 통합을 위해서는
gamLiveConfig
객체가 설정되었는지 확인합니다. - 슬레이트를 지정하는 경우 등록한 슬레이트에
gamSlate
객체가 설정되어 있는지 확인합니다.
라이브 세션 만들기
IMA SDK(Video Stitcher API 호출)를 사용하거나 Video Stitcher API를 직접 사용하여 라이브 세션을 만들 수 있습니다.
IMA SDK 사용
IMA SDK와 통합하는 경우 IMA SDK가 라이브 세션을 만듭니다.
function requestVideoStitcherStream() { const streamRequest = new google.ima.dai.api.VideoStitcherLiveStreamRequest(); streamRequest.liveStreamEventId = 'LIVE_CONFIG_ID'; streamRequest.region = 'LOCATION'; streamRequest.projectNumber = 'PROJECT_NUMBER'; streamRequest.oAuthToken = 'OAUTH_TOKEN'; streamRequest.networkCode = 'NETWORK_CODE'; streamRequest.customAssetKey = 'CUSTOM_ASSET_KEY'; streamManager.requestStream(streamRequest); }
세션당 다음과 같은 선택적 파라미터를 설정하거나 재정의할 수 있습니다.
manifestOptions
: 병합된 동영상 매니페스트 및 렌디션의 순서에서 생성되는 동영상 렌더링을 지정합니다. 매니페스트 옵션 문서를 참조하세요.adTracking
: 클라이언트 측 광고 추적 또는 서버 측 광고 추적을 선택합니다.targetingParameters
: Google Ad Manager 광고 태그에는 세션별로 업데이트 가능한 타겟팅 파라미터가 포함될 수 있습니다. IMA SDK에서 타겟팅 파라미터를 설정하는 방법을 참조하세요.
IMA SDK를 사용하여 이러한 파라미터를 설정하는 방법을 알아보려면 다음 섹션을 참조하세요.
선택적 파라미터 및 재정의
manifestOptions
필드와 같이 세션당 선택적 파라미터를 설정할 수 있습니다.
이 필드는 실시간 구성에서는 사용할 수 없습니다. 또한 지정된 세션에 대해 실시간 구성에 설정된 특정 파라미터를 재정의할 수 있습니다.
예를 들어 라이브 구성의 기본 adTracking
이 SERVER
로 설정된 경우 이 값을 CLIENT
로 재정의하고 videoStitcherSessionOptions
JSON 객체 필드를 설정하여 IMA SDK의 manifestOptions
필드도 설정할 수 있습니다.
function requestVideoStitcherStream() { const streamRequest = new google.ima.dai.api.VideoStitcherLiveStreamRequest(); streamRequest.liveStreamEventId = 'LIVE_CONFIG_ID'; streamRequest.region = 'LOCATION'; streamRequest.projectNumber = 'PROJECT_NUMBER'; streamRequest.oAuthToken = 'OAUTH_TOKEN'; streamRequest.networkCode = 'NETWORK_CODE'; streamRequest.customAssetKey = 'CUSTOM_ASSET_KEY'; streamRequest.videoStitcherSessionOptions = { adTracking: 'CLIENT', 'manifestOptions': { 'includeRenditions': [ { 'bitrateBps': 150000, 'codecs': 'hvc1.1.4.L126.B0' }, { 'bitrateBps': 440000, 'codecs': 'hvc1.1.4.L126.B0' }, ], 'bitrateOrder': 'descending' } }; streamManager.requestStream(streamRequest); }
자세한 내용은 스트리밍 세션 옵션 추가를 참조하세요.
API 직접 사용
API를 직접 사용하여 라이브 세션을 만들려면 projects.locations.liveSessions.create
메서드를 사용합니다.
JSON 본문에서 liveConfig
필드는 유일한 필수 필드입니다. 다음 REST 예시와 같이 라이브 세션별로 다음 선택적 파라미터를 설정하거나 재정의할 수 있습니다.
manifestOptions
: 병합된 동영상 매니페스트 및 렌디션의 순서에서 생성되는 동영상 렌더링을 지정합니다. 매니페스트 옵션 문서를 참조하세요.adTracking
: 클라이언트 측 광고 추적 또는 서버 측 광고를 선택합니다. 이는 세션에 대한 라이브 구성의 값을 재정의합니다.targetingParameters
: Google Ad Manager 광고 태그에는 세션별로 업데이트 가능한 타겟팅 파라미터가 포함될 수 있습니다. 이 필드에 매핑을 제공합니다(예:[my_key]
매크로를my_value
문자열로 바꾸려면 REST 예시 참조).
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_NUMBER
: IAM 설정 페이지에서 프로젝트 번호 필드에 있는 Google Cloud 프로젝트 번호입니다.LOCATION
: 세션을 만들 위치입니다. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
LIVE_CONFIG_ID
: 라이브 구성의 사용자 정의 식별자입니다.
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/liveSessions/SESSION_ID", "playUri": "PLAY_URI", "manifestOptions": { "includeRenditions": [ { "bitrateBps": 150000, "codecs": "hvc1.1.4.L126.B0" }, { "bitrateBps": 440000, "codecs": "hvc1.1.4.L126.B0" } ], "bitrateOrder": "DESCENDING" }, "gamSettings": { "streamId": "STREAM_ID" }, "liveConfig": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID", "adTracking": "SERVER" }
C#
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 C# 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API C# API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Go API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Java API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Node.js API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 PHP 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API PHP API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Python API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Ruby API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
응답은 라이브 세션 객체입니다. playUri
는 이 라이브 세션에서 광고 병합 스트림을 재생하기 위해 클라이언트 기기에서 사용되는 URL입니다.
Video Stitcher API는 각 요청에 대해 고유한 세션 ID를 생성합니다. 5분 이내에 playUri
를 요청하지 않으면 세션이 만료됩니다.
고객의 기기 대신 세션을 생성하는 경우 HTTP 헤더를 사용하여 다음 매개변수를 설정할 수 있습니다.
매개변수 | HTTP 헤더 |
---|---|
CLIENT_IP | x-forwarded-for |
REFERRER_URL | referer |
USER_AGENT | user-agent |
앞의 curl
요청에 다음 헤더를 추가할 수 있습니다.
-H "x-forwarded-for: CLIENT_IP" \ -H "referer: REFERRER_URL" \ -H "user-agent: USER_AGENT" \
x-forwarded-for
헤더가 제공되지 않았으면 Video Stitcher API가 광고 메타데이터 요청에 클라이언트의 IP 주소를 사용합니다. 세션이 고객의 기기 대신 생성된 경우 클라이언트의 IP 주소가 고객 기기의 IP와 일치하지 않을 수 있습니다.
세션 가져오기
라이브 세션을 가져오려면 projects.locations.liveSessions.get
메서드를 사용합니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_NUMBER
: IAM 설정 페이지에서 프로젝트 번호 필드에 있는 Google Cloud 프로젝트 번호입니다.LOCATION
: 세션을 만들 위치입니다. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
SESSION_ID
: 라이브 세션의 식별자입니다.
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/liveSessions/SESSION_ID", "playUri": "ad-stitched-live-stream-uri", "manifestOptions": { "includeRenditions": [ { "bitrateBps": 150000, "codecs": "hvc1.1.4.L126.B0" }, { "bitrateBps": 440000, "codecs": "hvc1.1.4.L126.B0" } ], "bitrateOrder": "DESCENDING" }, "gamSettings": { "streamId": "STREAM_ID", "targetingParameters": { "my_key": "my_value" } }, "liveConfig": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID", "adTracking": "SERVER" }
C#
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 C# 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API C# API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Go API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Java API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Node.js API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 PHP 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API PHP API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Python API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Ruby API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
샘플 광고 병합 재생목록
다음은 광고 병합 전의 샘플 소스 실시간 재생목록을 보여줍니다.
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:5
#EXTINF:10.010
segment_00005.ts
#EXTINF:10.010
segment_00006.ts
#EXT-X-DATERANGE:ID="2415919105",START-DATE="2021-06-22T08:32:00Z",DURATION=60,SCTE35-OUT=0xF...
#EXTINF:10.010
segment_00007.ts
#EXTINF:10.010
segment_00008.ts
#EXT-X-DATERANGE:ID="2415919105",START-DATE="2021-06-22T08:39:20Z",SCTE35-IN=0xF...
#EXTINF:10.010
segment_00009.ts
다음은 광고 병합 후의 샘플 소스 실시간 재생목록을 보여줍니다.
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:5
#EXTINF:10.010
segment_00005.ts
#EXTINF:10.010
segment_00006.ts
#EXT-X-DISCONTINUITY
#EXTINF:6.000
https://dai.google.com/.../ad-1/seg-1.ts
#EXTINF:5.000
https://dai.google.com/.../ad-1/seg-2.ts
#EXT-X-DISCONTINUITY
#EXTINF:6.000
https://dai.google.com/.../ad-2/seg-1.ts
#EXTINF:5.000
https://dai.google.com/.../ad-2/seg-2.ts
#EXT-X-DISCONTINUITY
#EXTINF:10.010
segment_00009.ts
Google Ad Manager에 의해 사용 설정된 라이브 세션 검사
세션의 광고 태그 세부정보를 보려면 Ad Manager에서 라이브 스트림 활동 모니터링 도구를 사용하여 광고 요청에 대한 세부정보를 확인합니다.