Dengan menggunakan Video Stitcher API, Anda membuat sesi live setiap kali Anda memulai pemutaran livestream yang iklannya ditayangkan oleh Google Ad Manager dan 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 mengetahui informasi tentang sesi live yang tidak menggunakan Google Ad Manager, lihat Mengelola sesi live.
Sebelum memulai
- Buat konfigurasi live. Untuk integrasi dengan
Google Ad Manager, pastikan objek
gamLiveConfig
disetel. - Jika Anda menentukan slate, pastikan objek
gamSlate
disetel pada slate yang Anda daftarkan.
Membuat sesi live
Anda dapat membuat sesi live menggunakan IMA SDK (yang memanggil Video Stitcher API) atau menggunakan Video Stitcher API secara langsung.
Menggunakan IMA SDK
Jika Anda melakukan integrasi dengan IMA SDK, IMA SDK akan 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 hasil render video yang dibuat dalam manifes video gabungan dan urutan hasil render; lihat dokumentasi opsi manifesadTracking
: pilih pelacakan iklan dari sisi klien atau pelacakan iklan dari sisi servertargetingParameters
: tag iklan Google Ad Manager dapat berisi parameter penargetan yang dapat diperbarui per sesi; lihat cara menyetel parameter penargetan dengan IMA SDK
Lihat bagian berikutnya untuk mempelajari cara menyetel parameter ini menggunakan IMA SDK.
Parameter dan penggantian opsional
Anda dapat menetapkan parameter opsional per sesi, seperti kolom manifestOptions
.
Kolom ini tidak tersedia dalam konfigurasi aktif. Anda juga dapat mengganti parameter tertentu yang ditetapkan dalam konfigurasi aktif untuk sesi tertentu.
Misalnya, jika adTracking
default pada konfigurasi aktif ditetapkan ke SERVER
,
Anda dapat mengganti nilai tersebut ke CLIENT
dan juga menetapkan kolom manifestOptions
di IMA SDK dengan menetapkan kolom objek JSON videoStitcherSessionOptions
.
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' } }; streamRequest.adTagParameters = { "key1": "value1", "key2": "value2", }; streamManager.requestStream(streamRequest); }
Untuk mengetahui informasi selengkapnya, lihat Menambahkan opsi sesi streaming.
Menggunakan API secara langsung
Untuk membuat sesi live menggunakan API secara langsung, gunakan metode
projects.locations.liveSessions.create
.
Kolom liveConfig
adalah satu-satunya kolom wajib diisi dalam isi JSON. Anda dapat menyetel
atau mengganti parameter opsional berikut per sesi live (seperti yang ditunjukkan dalam
contoh REST berikut):
manifestOptions
: menentukan hasil render video yang dibuat dalam manifes video gabungan dan urutan hasil render; lihat dokumentasi opsi manifesadTracking
: pilih pelacakan iklan sisi klien atau pelacakan iklan sisi server; ini menggantikan nilai dalam konfigurasi live untuk sesitargetingParameters
: tag iklan Google Ad Manager dapat berisi parameter penargetan yang dapat diperbarui per sesi; berikan pemetaan di kolom ini (misalnya, untuk mengganti makro[my_key]
dengan stringmy_value
, lihat contoh REST)
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_NUMBER
: nomor Google Cloud project Anda yang ada di kolom Project number di halaman IAM SettingsLOCATION
: lokasi tempat Anda ingin membuat sesi; gunakan 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 aktif
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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API C# Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui 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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui 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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui 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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui 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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui 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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui 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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Responsnya adalah objek sesi live. playUri
adalah URL yang digunakan perangkat klien untuk memutar streaming iklan gabungan untuk
sesi live ini.
Video Stitcher API membuat ID sesi unik untuk setiap permintaan. Sesi akan berakhir jika playUri
tidak diminta dalam 5 menit terakhir.
Jika membuat sesi atas nama perangkat pelanggan, Anda dapat menetapkan 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 diberikan, Video Stitcher API akan menggunakan alamat IP klien dalam permintaan metadata iklan. Perhatikan bahwa alamat IP klien mungkin tidak cocok dengan IP perangkat pelanggan jika sesi dibuat atas nama perangkat pelanggan.
Mendapatkan sesi
Untuk mendapatkan sesi langsung, gunakan metode
projects.locations.liveSessions.get
.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_NUMBER
: nomor Google Cloud project Anda yang ada di kolom Project number di halaman IAM SettingsLOCATION
: lokasi tempat Anda ingin membuat sesi; gunakan 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 aktif
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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API C# Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui 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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui 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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui 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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui 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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui 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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui 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 mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh playlist yang disambungkan iklan
Berikut adalah contoh playlist live sumber sebelum penyambungan 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 ini menunjukkan contoh playlist live sumber setelah penyambungan 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.