Mit der Video Stitcher API erstellst du jedes Mal eine Live-Sitzung, wenn du die Wiedergabe eines Livestreams startest, in dem von Google Ad Manager ausgelieferte Anzeigen während Werbeunterbrechungen dynamisch zusammengefügt werden. Die Antwort enthält die Wiedergabe-URL und die Konfiguration der Livestream-Sitzung.
Auf dieser Seite wird beschrieben, wie Sie eine Live-Sitzung erstellen und verwalten, die von Google Ad Manager aktiviert ist. Informationen zu Livesitzungen, für die kein Google Ad Manager verwendet wird, finden Sie unter Livesitzung verwalten.
Hinweise
- Erstellen Sie eine Live-Konfiguration. Für die Integration mit Google Ad Manager muss das Objekt
gamLiveConfig
festgelegt sein. - Wenn du einen Slate angibst, muss das Objekt
gamSlate
für den registrierten Slate festgelegt sein.
Livesitzung erstellen
Du kannst eine Live-Sitzung mit dem IMA SDK erstellen (das die Video Stitcher API aufruft) oder direkt mit der Video Stitcher API.
IMA SDK verwenden
Wenn du die Integration mit dem IMA SDK verwendest, wird die Live-Sitzung vom IMA SDK erstellt.
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); }
Sie können die folgenden optionalen Parameter pro Sitzung festlegen oder überschreiben:
manifestOptions
: Gibt an, welche Videowiedergabevarianten im Manifest des zusammengefügten Videos generiert werden und in welcher Reihenfolge sie angeordnet werden. Weitere Informationen findest du in der Dokumentation zu Manifestoptionen.adTracking
: Wählen Sie entweder clientseitiges oder serverseitiges Anzeigen-Tracking aus.targetingParameters
: Ein Google Ad Manager-Anzeigen-Tag kann Targeting-Parameter enthalten, die pro Sitzung aktualisiert werden können. Weitere Informationen finden Sie unter Targeting-Parameter mit dem IMA SDK festlegen.
Im nächsten Abschnitt erfährst du, wie du diese Parameter mit dem IMA SDK festlegst.
Optionale Parameter und Überschreibungen
Sie können optionale Parameter pro Sitzung festlegen, z. B. das Feld manifestOptions
.
Dieses Feld ist in der Live-Konfiguration nicht verfügbar. Sie können auch bestimmte Parameter überschreiben, die in der Live-Konfiguration für eine bestimmte Sitzung festgelegt sind.
Wenn der Standardwert für adTracking
in der Livekonfiguration beispielsweise auf SERVER
festgelegt ist, kannst du diesen Wert überschreiben und CLIENT
festlegen. Außerdem kannst du das Feld manifestOptions
im IMA SDK festlegen, indem du das JSON-Objektfeld videoStitcherSessionOptions
festlegst.
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); }
Weitere Informationen finden Sie unter Optionen für Streamingsitzungen hinzufügen.
API direkt verwenden
Wenn Sie eine Live-Sitzung direkt über die API erstellen möchten, verwenden Sie die Methode projects.locations.liveSessions.create
.
Das Feld liveConfig
ist das einzige Pflichtfeld im JSON-Text. Du kannst die folgenden optionalen Parameter pro Livestream festlegen oder überschreiben (wie im folgenden REST-Beispiel gezeigt):
manifestOptions
: Gibt an, welche Videowiedergabevarianten im Manifest des zusammengefügten Videos generiert werden und in welcher Reihenfolge sie angeordnet werden. Weitere Informationen findest du in der Dokumentation zu Manifestoptionen.adTracking
: Wählen Sie entweder „clientseitiges Anzeigen-Tracking“ oder „serverseitiges Anzeigen-Tracking“ aus. Dadurch wird der Wert in der Live-Konfiguration für die Sitzung überschrieben.targetingParameters
: Ein Google Ad Manager-Anzeigen-Tag kann Targeting-Parameter enthalten, die pro Sitzung aktualisiert werden können. Geben Sie in diesem Feld eine Zuordnung an. Sie können beispielsweise das Makro[my_key]
durch den Stringmy_value
ersetzen (siehe REST-Beispiel).
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
: Ihre Google Cloud Projektnummer im Feld Projektnummer auf der Seite IAM-EinstellungenPROJECT_NUMBER
: Der Speicherort, an dem die Sitzung erstellt werden soll. Verwenden Sie eine der unterstützten Regionen.LOCATION Standorte anzeigenus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
: die benutzerdefinierte Kennung für die LivekonfigurationLIVE_CONFIG_ID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "liveConfig": "projects/PROJECT_NUMBER /locations/LOCATION /liveConfigs/LIVE_CONFIG_ID ", "manifestOptions": { "includeRenditions": [ { "bitrateBps": 150000, "codecs": "hvc1.1.4.L126.B0" }, { "bitrateBps": 440000, "codecs": "hvc1.1.4.L126.B0" } ], "bitrateOrder": "DESCENDING" }, "adTracking": "SERVER", "gamSettings": { "targetingParameters": { "my_key": "my_value", }, } } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /liveSessions"
PowerShell (Windows)
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "liveConfig": "projects/PROJECT_NUMBER /locations/LOCATION /liveConfigs/LIVE_CONFIG_ID ", "manifestOptions": { "includeRenditions": [ { "bitrateBps": 150000, "codecs": "hvc1.1.4.L126.B0" }, { "bitrateBps": 440000, "codecs": "hvc1.1.4.L126.B0" } ], "bitrateOrder": "DESCENDING" }, "adTracking": "SERVER", "gamSettings": { "targetingParameters": { "my_key": "my_value", }, } } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /liveSessions" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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" }
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der C#-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der C# API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Go-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Go API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Java-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Java API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Node.js-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Node.js API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der PHP-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der PHP API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Python-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Python API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Ruby-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Ruby API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Die Antwort ist ein Live-Sitzungsobjekt. playUri
ist die URL, über die das Clientgerät den mit Anzeigen zusammengefügten Stream für diese Livestream-Sitzung wiedergibt.
Die Video Stitcher API generiert für jede Anfrage eine eindeutige Sitzungs-ID. Eine Sitzung läuft ab, wenn die playUri
nicht innerhalb der letzten 5 Minuten angefordert wurde.
Wenn Sie eine Sitzung im Namen der Geräte Ihrer Kunden generieren, können Sie die folgenden Parameter mithilfe von HTTP-Headern festlegen:
Parameter | HTTP-Header |
---|---|
CLIENT_IP | x-forwarded-for |
REFERRER_URL | referer |
USER_AGENT | user-agent |
Sie können der vorherigen curl
-Anfrage die folgenden Header hinzufügen:
-H "x-forwarded-for:CLIENT_IP " \ -H "referer:REFERRER_URL " \ -H "user-agent:USER_AGENT " \
Wenn der x-forwarded-for
-Header nicht angegeben ist, verwendet die Video Stitcher API die IP-Adresse des Clients in Anfragen für Anzeigenmetadaten. Die IP-Adresse des Clients stimmt möglicherweise nicht mit der IP-Adresse der Geräte Ihrer Kunden überein, wenn Sitzungen im Namen der Geräte Ihrer Kunden generiert werden.
Sitzung abrufen
Mit der Methode projects.locations.liveSessions.get
kannst du die Live-Sitzung abrufen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
: Ihre Google Cloud Projektnummer im Feld Projektnummer auf der Seite IAM-EinstellungenPROJECT_NUMBER
: Der Speicherort, an dem die Sitzung erstellt werden soll. Verwenden Sie eine der unterstützten Regionen.LOCATION Standorte anzeigenus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
: die Kennung für die Live-SitzungSESSION_ID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /liveSessions/SESSION_ID "
PowerShell (Windows)
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /liveSessions/SESSION_ID " | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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" }
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der C#-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der C# API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Go-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Go API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Java-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Java API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Node.js-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Node.js API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der PHP-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der PHP API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Python-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Python API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Ruby-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Ruby API-Referenzdokumentation für die Video Stitcher API.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Beispiel für eine mit Anzeigen zusammengefügte Playlist
Unten siehst du eine Beispiel-Live-Playlist vor dem Anzeigen-Stitching:
#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
Im Folgenden siehst du ein Beispiel für eine Live-Playlist nach dem Stitching von Anzeigen:
#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
Von Google Ad Manager aktivierte Livesitzungen prüfen
Wenn Sie Details zu Anzeigen-Tags für Sitzungen sehen möchten, verwenden Sie die Überprüfung der Streamingaktivitäten in Ad Manager. Dort finden Sie auch Details zu Anzeigenanfragen.