Dengan Video Stitcher API, Anda membuat sesi live setiap kali memulai pemutaran live stream saat iklan yang ditayangkan oleh Google Ad Manager digabungkan secara dinamis selama jeda iklan. Respons berisi URL pemutaran dan konfigurasi sesi live.
Halaman ini menjelaskan cara membuat dan mengelola sesi live yang diaktifkan oleh Google Ad Manager. Untuk informasi tentang sesi live yang tidak menggunakan Google Ad Manager, lihat Mengelola sesi live.
Sebelum memulai
- Buat konfigurasi langsung. Untuk integrasi dengan
Google Ad Manager, pastikan bahwa
gamLiveConfig
objek diatur. - Jika Anda menentukan slate, pastikan
gamSlate
ditetapkan pada slate (layar pemblokir) yang Anda daftarkan.
Membuat sesi live
Anda dapat membuat sesi live menggunakan IMA SDK (yang memanggil Video Stitcher API) atau dengan menggunakan Video Stitcher API secara langsung.
Menggunakan IMA SDK
Jika Anda mengintegrasikan dengan IMA SDK, IMA SDK membuat sesi live.
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); }
Anda dapat menetapkan atau mengganti parameter opsional berikut per sesi:
manifestOptions
: menentukan rendisi video yang dihasilkan dalam manifes video yang digabungkan dan urutan rendisi; lihat dokumentasi opsi manifesadTracking
: pilih pelacakan iklan sisi klien atau pelacakan iklan sisi servertargetingParameters
: tag iklan Google Ad Manager dapat berisi parameter penargetan yang dapat diperbarui per sesi; lihat cara menetapkan parameter penargetan dengan IMA SDK
Lihat bagian berikutnya untuk mempelajari cara menetapkan parameter ini menggunakan IMA SDK.
Parameter opsional dan penggantian
Anda dapat menetapkan parameter opsional per sesi, seperti kolom manifestOptions
.
Kolom ini tidak tersedia di konfigurasi langsung. Anda juga dapat mengganti
parameter yang disetel dalam {i>
live config<i} untuk sesi tertentu.
Misalnya, jika adTracking
default pada konfigurasi langsung ditetapkan ke SERVER
,
Anda dapat mengganti nilai tersebut ke CLIENT
dan juga menetapkan kolom manifestOptions
di IMA SDK dengan menyetel JSON videoStitcherSessionOptions
bidang objek.
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); }
Untuk informasi selengkapnya, lihat Tambahkan opsi sesi streaming.
Menggunakan API secara langsung
Untuk membuat sesi live menggunakan API secara langsung, gunakan
projects.locations.liveSessions.create
.
Kolom liveConfig
adalah satu-satunya kolom yang wajib diisi dalam isi JSON. Anda dapat mengatur
atau mengganti parameter opsional berikut per sesi live (seperti yang ditunjukkan di
contoh REST berikut):
manifestOptions
: menentukan rendisi video yang dihasilkan dalam manifes video yang digabungkan dan urutan rendisi; lihat dokumentasi opsi manifesadTracking
: pilih pelacakan iklan sisi klien atau pelacakan iklan sisi server; tindakan ini akan mengganti nilai dalam {i> live config<i} untuk sesitargetingParameters
: tag iklan Google Ad Manager dapat berisi parameter penargetan yang dapat diperbarui per sesi; menyediakan pemetaan di kolom ini (misalnya, untuk mengganti[my_key]
dengan stringmy_value
, lihat contoh REST)
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_NUMBER
: project Google Cloud Anda nomor yang berada di kolom Project number di IAM Settings halamanLOCATION
: lokasi untuk membuat session; menggunakan salah satu wilayah yang didukungTampilkan lokasius-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
LIVE_CONFIG_ID
: ID yang ditentukan pengguna untuk konfigurasi langsung
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "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#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API C# API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API Go API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API Java API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API Node.js API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API PHP API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API Python API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API Ruby API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Responsnya adalah objek sesi live. Tujuan
playUri
adalah URL yang digunakan perangkat klien untuk memutar streaming yang digabungkan untuk iklan
sesi live ini.
Video Stitcher API menghasilkan ID sesi yang unik untuk setiap permintaan. J
sesi akan berakhir jika playUri
tidak diminta dalam 5 menit terakhir.
Jika Anda membuat sesi atas nama pelanggan, perangkat, Anda dapat mengatur parameter berikut menggunakan header HTTP:
Parameter | Header HTTP |
---|---|
CLIENT_IP | x-forwarded-for |
REFERRER_URL | referer |
USER_AGENT | user-agent |
Anda dapat menambahkan header berikut ke permintaan curl
sebelumnya:
-H "x-forwarded-for: CLIENT_IP" \ -H "referer: REFERRER_URL" \ -H "user-agent: USER_AGENT" \
Jika header x-forwarded-for
tidak disediakan, Video Stitcher API akan menggunakan
alamat IP klien dalam permintaan metadata iklan. Perlu diketahui bahwa IP klien
mungkin tidak cocok dengan IP pelanggan Anda perangkat jika sesi
dibuat atas nama
pelanggan Anda perangkat.
Mendapatkan sesi
Untuk mendapatkan sesi live, gunakan
Metode projects.locations.liveSessions.get
.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_NUMBER
: project Google Cloud Anda nomor yang berada di kolom Project number di IAM Settings halamanLOCATION
: lokasi untuk membuat session; menggunakan salah satu wilayah yang didukungTampilkan lokasius-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
SESSION_ID
: ID untuk sesi live
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "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#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API C# API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API Go API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API Java API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API Node.js API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API PHP API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API Python API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di Panduan memulai Video Stitcher API menggunakan library klien. Untuk informasi selengkapnya, lihat Video Stitcher API Ruby API dokumentasi referensi.
Untuk mengautentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh playlist yang digabungkan dengan iklan
Berikut adalah contoh playlist live sumber sebelum penggabungan iklan:
#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
Berikut adalah contoh playlist live sumber setelah penggabungan iklan:
#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
Memeriksa sesi live yang diaktifkan oleh Google Ad Manager
Untuk melihat detail tag iklan untuk sesi, gunakan Pemantauan aktivitas streaming di Ad Manager untuk melihat detail tentang permintaan iklan.