Auf dieser Seite wird beschrieben, wie du eine Channelressource mit zwei Eingabestreams erstellst, wobei einer der Eingabestreams als Sicherung für den anderen dienen kann.
Wenn der automatische Failover aktiviert ist und die Verbindung zum primären Eingabestream aufgrund von Netzwerkproblemen getrennt wird, wechselt der Kanal automatisch zum Sicherungseingabestream als Eingabequelle. Sobald der primäre Eingabestream wieder online ist, wechselt der Kanal automatisch wieder zum primären Eingabestream als Eingabequelle. Die Funktion für das automatische Failover ist optional.
Der primäre und der sekundäre Eingabestream müssen identisch sein, damit der sekundäre Eingabestream den primären vollständig ersetzt.
Du kannst den Eingabestream auch manuell über ein Kanalereignis wechseln.
Google Cloud-Projekt und Authentifizierung einrichten
Wenn Sie noch kein Google Cloud-Projekt und keine Anmeldedaten erstellt haben, lesen Sie den Abschnitt Vorbereitung.Primären Eingabeendpunkt erstellen
Verwenden Sie zum Erstellen des primären Eingabeendpunkts die Methode projects.locations.inputs.create
.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
: Ihre Google Cloud Projektnummer. Sie finden sie auf der Seite IAM-Einstellungen im Feld Projektnummer.PROJECT_NUMBER
: Der Speicherort, an dem der Eingabeendpunkt erstellt werden soll. Verwenden Sie eine der unterstützten Regionen.LOCATION Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
: Eine benutzerdefinierte Kennung für den neuen zu erstellenden Eingabeendpunkt, an den Sie Ihren Eingabestream senden. Dieser Wert muss 1–63 Zeichen lang sein, mitINPUT_ID [a-z0-9]
beginnen und enden und darf zwischen den Zeichen Bindestriche (-) enthalten. Beispiel:my-input
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' { "type": "RTMP_PUSH" } 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://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /inputs?inputId=INPUT_ID "
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:
@' { "type": "RTMP_PUSH" } '@ | 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://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /inputs?inputId=INPUT_ID " | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /operations/OPERATION_ID ", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime":CREATE_TIME , "target": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID ", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für C#.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Go.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Java.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Node.js.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für PHP.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Python.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Ruby.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Eingabeendpunkt für die Sicherung erstellen
Verwenden Sie zum Erstellen des Back-End-Eingabeendpunkts noch einmal die Methode projects.locations.inputs.create
. Verwenden Sie eine andere Eingabe-ID als die des primären Eingabeendpunkts.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
: Ihre Google Cloud Projektnummer. Sie finden sie auf der Seite IAM-Einstellungen im Feld Projektnummer.PROJECT_NUMBER
: Der Speicherort, an dem der Eingabeendpunkt erstellt werden soll. Verwenden Sie eine der unterstützten Regionen.LOCATION Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
: Eine benutzerdefinierte Kennung für den zu erstellenden Sicherungseingangsendpunkt, der verwendet wird, wenn die Verbindung zum primären Eingabestream aufgrund von Netzwerkproblemen getrennt wird. Dieser Wert muss 1–63 Zeichen lang sein, mitBACKUP_INPUT_ID [a-z0-9]
beginnen und enden und darf zwischen den Zeichen Bindestriche (-) enthalten.
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' { "type": "RTMP_PUSH" } 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://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /inputs?inputId=BACKUP_INPUT_ID "
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:
@' { "type": "RTMP_PUSH" } '@ | 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://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /inputs?inputId=BACKUP_INPUT_ID " | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /operations/OPERATION_ID ", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime":CREATE_TIME , "target": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/BACKUP_INPUT_ID ", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für C#.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Go.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Java.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Node.js.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für PHP.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Python.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Ruby.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Kanal erstellen
Verwenden Sie zum Erstellen des Kanals die Methode projects.locations.channels.create
. In diesem Beispiel ist automaticFailover
für den ersten Eingabeanhang konfiguriert.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
: Ihre Google Cloud Projektnummer. Sie finden sie auf der Seite IAM-Einstellungen im Feld Projektnummer.PROJECT_NUMBER
: Der Speicherort, an dem der Kanal erstellt werden soll. Verwenden Sie eine der unterstützten Regionen.LOCATION Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
: Eine benutzerdefinierte Kennung für den zu erstellenden Kanal. Dieser Wert muss 1–63 Zeichen lang sein, mitCHANNEL_ID [a-z0-9]
beginnen und enden und darf zwischen den Zeichen Bindestriche (-) enthalten.
: die benutzerdefinierte Kennung für den primären EingabeendpunktINPUT_ID
: die benutzerdefinierte Kennung für den SicherungseingabeendpunktBACKUP_INPUT_ID
: der Name des von Ihnen erstellten Cloud Storage-BucketsBUCKET_NAME
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' { "inputAttachments": [ { "key": "input-primary", "input": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID ", "automaticFailover": { "inputKeys": ["input-backup"] } }, { "key": "input-backup", "input": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/BACKUP_INPUT_ID " } ], "output": { "uri": "gs://BUCKET_NAME " }, "elementaryStreams": [ { "key": "es_video", "videoStream": { "h264": { "profile": "high", "widthPixels": 1280, "heightPixels": 720, "bitrateBps": 3000000, "frameRate": 30 } } }, { "key": "es_audio", "audioStream": { "codec": "aac", "channelCount": 2, "bitrateBps": 160000 } } ], "muxStreams": [ { "key": "mux_video", "elementaryStreams": [ "es_video" ], "segmentSettings": { "segmentDuration": "2s" } }, { "key": "mux_audio", "elementaryStreams": [ "es_audio" ], "segmentSettings": { "segmentDuration": "2s" } } ], "manifests": [ { "key": "manifest_dash", "fileName": "main.mpd", "type": "DASH", "muxStreams": [ "mux_video", "mux_audio" ], "maxSegmentCount": 5 } ] } 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://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels?channelId=CHANNEL_ID "
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:
@' { "inputAttachments": [ { "key": "input-primary", "input": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID ", "automaticFailover": { "inputKeys": ["input-backup"] } }, { "key": "input-backup", "input": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/BACKUP_INPUT_ID " } ], "output": { "uri": "gs://BUCKET_NAME " }, "elementaryStreams": [ { "key": "es_video", "videoStream": { "h264": { "profile": "high", "widthPixels": 1280, "heightPixels": 720, "bitrateBps": 3000000, "frameRate": 30 } } }, { "key": "es_audio", "audioStream": { "codec": "aac", "channelCount": 2, "bitrateBps": 160000 } } ], "muxStreams": [ { "key": "mux_video", "elementaryStreams": [ "es_video" ], "segmentSettings": { "segmentDuration": "2s" } }, { "key": "mux_audio", "elementaryStreams": [ "es_audio" ], "segmentSettings": { "segmentDuration": "2s" } } ], "manifests": [ { "key": "manifest_dash", "fileName": "main.mpd", "type": "DASH", "muxStreams": [ "mux_video", "mux_audio" ], "maxSegmentCount": 5 } ] } '@ | 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://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels?channelId=CHANNEL_ID " | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /operations/OPERATION_ID ", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime":CREATE_TIME , "target": "projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID ", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für C#.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Go.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Java.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Node.js.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für PHP.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Python.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Informationen zum Installieren und Verwenden der Clientbibliothek für die Live Stream API finden Sie unter Live Stream API-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Live Stream API für Ruby.
Richten Sie zur Authentifizierung bei der Live Stream API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Eingabe manuell wechseln
Wenn Sie die Eingabe manuell von der primären zur sekundären Eingabe umschalten möchten (z. B. von my-primary-input
zu my-backup-input
), erstellen Sie ein Kanalereignis.
Nach einer manuellen Umstellung können Sie my-primary-input
nach Bedarf trennen und wieder verbinden. Der Kanal wechselt bei der erneuten Verbindung nicht zu diesem Eingang, wie es bei den standardmäßigen automatischen Failover-Einstellungen der Fall wäre.
So kehren Sie zu my-primary-input
zurück:
- Erstellen Sie ein neues
inputSwitch
-Ereignis, bei deminputKey
aufmy-primary-input
festgelegt ist. Bei diesem Ereignis wird ohne Wiederherstellung der automatischen Failover-Einstellungen zur primären Eingabe zurückgekehrt. - Aktualisiere den Kanal, um das automatische Failover zu aktivieren. Weitere Informationen finden Sie unter Ereignis „Schaltereingabe“.