Auf dieser Seite wird erläutert, wie Sie ein Sprite Sheet generieren, das Frames aus einem von Ihnen transcodierten Video enthält. Diese Frames, auch Thumbnails genannt, sind nützlich, um Inhalte zu organisieren und in der Vorschau anzuzeigen. Verwenden Sie in der Vorlage JobConfig
das Array spriteSheets
, um das Sprite Sheet zu erstellen.
Zum Erstellen des Sprite Sheets gibt es zwei Möglichkeiten:
- Generieren Sie eine bestimmte Anzahl von Thumbnails, die gleichmäßig über die gesamte Videozeitachse verteilt sind.
- Generieren Sie regelmäßig ein Thumbnail-Bild, das heißt alle n Sekunden, über die gesamte Videozeitachse.
Eine Reihe von Miniaturansichten generieren
Die folgende Konfiguration generiert ein 10-x-10-Sprite-Sprite bei großen Bildern und ein 10-x-10-Sprite-Schicht mit kleinen Bildern mit jeweils 100 Thumbnails. Für Sprite Sheets muss mindestens ein VideoStream
-Element im Job vorhanden sein
Konfiguration.
Sie können diese Konfiguration einer Jobvorlage hinzufügen oder sie in eine Ad-hoc-Jobkonfiguration einbinden:
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID, die unter IAM-Einstellungen aufgeführt ist.LOCATION
: Der Standort, an dem der Job ausgeführt werden soll. Verwenden Sie in einer der unterstützten RegionenStandorte anzeigenus-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
STORAGE_BUCKET_NAME
: Der Name des Cloud Storage-Buckets, den Sie erstellt haben.STORAGE_INPUT_VIDEO
: Der Name des Videos in Ihrem Cloud Storage-Bucket, den Sie transcodieren, z. B.my-vid.mp4
. In diesem Feld sollten alle Ordner berücksichtigt werden, die Sie im Bucket erstellt haben (z. B.input/my-vid.mp4
).STORAGE_OUTPUT_FOLDER
: Der Name des Cloud Storage-Ordners, in dem die codierten Videoausgaben gespeichert werden sollen.
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID", "config": { ... }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30 }
gcloud
- Erstellen Sie eine
request.json
-Datei, in der die Jobfelder definiert sind. Marke den folgenden Ersatz für dengcloud
Befehl:- STORAGE_BUCKET_NAME: Der Name des von Ihnen erstellten Cloud Storage-Buckets.
- STORAGE_INPUT_VIDEO: Die
Name des Videos in Ihrem Cloud Storage-Bucket,
wie z. B.
my-vid.mp4
. Dieses Feld sollte müssen alle Ordner berücksichtigt werden, die Sie im Bucket erstellt haben (z. B.input/my-vid.mp4
. - LOCATION: Der Standort, an dem
ausgeführt werden. Verwenden Sie einen Standort aus der folgenden Liste.
Standorte anzeigen
us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
- STORAGE_OUTPUT_FOLDER: Der Name des Cloud Storage-Ordners, in dem die codierten Videoausgaben gespeichert werden sollen.
{ "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME/STORAGE_INPUT_VIDEO" } ], "elementaryStreams": [ { "key": "video-stream0", "videoStream": { "h264": { "heightPixels": 360, "widthPixels": 640, "bitrateBps": 550000, "frameRate": 60 } } }, { "key": "audio-stream0", "audioStream": { "codec": "aac", "bitrateBps": 64000 } } ], "muxStreams": [ { "key": "sd", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME/STORAGE_OUTPUT_FOLDER/" }, "spriteSheets": [ { "filePrefix": "small-sprite-sheet", "spriteHeightPixels": 32, "spriteWidthPixels": 64, "columnCount": 10, "rowCount": 10, "totalCount": 100 }, { "filePrefix": "large-sprite-sheet", "spriteHeightPixels": 72, "spriteWidthPixels": 128, "columnCount": 10, "rowCount": 10, "totalCount": 100 } ] } }
- Führen Sie dazu diesen Befehl aus:
Die Antwort sieht ungefähr so aus:gcloud transcoder jobs create --location=LOCATION --file="request.json"
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID", "config": { ... }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30 }
C#
Folgen Sie der Einrichtungsanleitung für C# in der Transcoder API-Kurzanleitung: Clientbibliotheken verwenden, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Transcoder API C# API Referenzdokumentation.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Folgen Sie der Einrichtungsanleitung für Go in der Transcoder API-Kurzanleitung: Clientbibliotheken verwenden, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Transcoder API Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Folgen Sie der Einrichtungsanleitung für Java in der Transcoder API-Kurzanleitung: Clientbibliotheken verwenden, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Transcoder API Java API.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Folgen Sie der Einrichtungsanleitung für Node.js in der Transcoder API-Kurzanleitung: Clientbibliotheken verwenden, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Transcoder API Node.js API Referenzdokumentation.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für PHP in der Transcoder API-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Transcoder API PHP API.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Transcoder API-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Transcoder API Python API.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Ruby in der Transcoder API-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der Transcoder API Ruby API Referenzdokumentation.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Verwenden Sie diese Konfiguration für das Beispielvideo, um die folgenden Sprite Sheets zu generieren:
Abbildung 1: Kleines Bild Sprite Sheet (100 Thumbnails)
Abbildung 2: Großes Bild Sprite Sheet (100 Thumbnails)
Regelmäßig Miniaturansichten erstellen
Die folgende Konfiguration generiert ein Sprite Sheet mit kleinen Bildern und ein Sprite Sheet mit großen Bildern. Jedes Sprite Sheet enthält Miniaturansichten, die alle 7 Sekunden im Eingabevideo generiert wurden. Für Sprite Sheets muss mindestens ein VideoStream
-Element im Job vorhanden sein
Konfiguration.
Sie können diese Konfiguration einer Jobvorlage hinzufügen oder sie in eine Ad-hoc-Jobkonfiguration einbinden:
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID, die unter IAM-Einstellungen aufgeführt ist.LOCATION
: Der Standort, an dem der Job ausgeführt werden soll. Verwenden Sie eine der unterstützten Regionen.Standorte anzeigenus-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
STORAGE_BUCKET_NAME
: Der Name des Cloud Storage-Buckets, den Sie erstellt haben.STORAGE_INPUT_VIDEO
: Der Name des Videos in Ihrem Cloud Storage-Bucket, den Sie transcodieren, z. B.my-vid.mp4
. In diesem Feld sollten alle Ordner berücksichtigt werden, die Sie im Bucket erstellt haben (z. B.input/my-vid.mp4
).STORAGE_OUTPUT_FOLDER
: Der Name des Cloud Storage-Ordners, in dem die codierten Videoausgaben gespeichert werden sollen.
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID", "config": { ... }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30 }
gcloud
- Erstellen Sie eine
request.json
-Datei, in der die Jobfelder definiert sind. Ersetzen Sie die folgenden Werte im Befehlgcloud
:- STORAGE_BUCKET_NAME: Der Name des von Ihnen erstellten Cloud Storage-Buckets.
- STORAGE_INPUT_VIDEO: Die
Name des Videos in Ihrem Cloud Storage-Bucket,
wie z. B.
my-vid.mp4
. Dieses Feld sollte müssen alle Ordner berücksichtigt werden, die Sie im Bucket erstellt haben (z. B.input/my-vid.mp4
. - LOCATION: Der Standort, an dem
ausgeführt werden. Verwenden Sie einen Standort aus der folgenden Liste.
Standorte anzeigen
us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
- STORAGE_OUTPUT_FOLDER: Der Name des Cloud Storage-Ordners, in dem die codierten Videoausgaben gespeichert werden sollen.
{ "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME/STORAGE_INPUT_VIDEO" } ], "elementaryStreams": [ { "key": "video-stream0", "videoStream": { "h264": { "heightPixels": 360, "widthPixels": 640, "bitrateBps": 550000, "frameRate": 60 } } }, { "key": "audio-stream0", "audioStream": { "codec": "aac", "bitrateBps": 64000 } } ], "muxStreams": [ { "key": "sd", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME/STORAGE_OUTPUT_FOLDER/" }, "spriteSheets": [ { "filePrefix": "small-sprite-sheet", "spriteHeightPixels": 32, "spriteWidthPixels": 64, "interval": "7s" }, { "filePrefix": "large-sprite-sheet", "spriteHeightPixels": 72, "spriteWidthPixels": 128, "interval": "7s" } ] } }
- Führen Sie dazu diesen Befehl aus:
Die Antwort sieht ungefähr so aus:gcloud transcoder jobs create --location=LOCATION --file="request.json"
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID", "config": { ... }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30 }
C#
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für C# in der Transcoder API-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der Transcoder API C# API Referenzdokumentation.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Go in der Transcoder API-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Transcoder API Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Java in der Transcoder API-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der Transcoder API Java API Referenzdokumentation.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Node.js in der Transcoder API-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der Transcoder API Node.js API Referenzdokumentation.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Folgen Sie der Einrichtungsanleitung für PHP in der Transcoder API-Kurzanleitung: Clientbibliotheken verwenden, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Transcoder API PHP API.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Folgen Sie der Einrichtungsanleitung für Python in der Transcoder API-Kurzanleitung: Clientbibliotheken verwenden, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Transcoder API Python API Referenzdokumentation.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Ruby in der Transcoder API-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der Transcoder API Ruby API Referenzdokumentation.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Transcoder API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Verwenden Sie diese Konfiguration für das Beispielvideo, um die folgenden Sprite Sheets zu generieren:
Abbildung 3: Kleines Bild Sprite Sheet (1 Thumbnail alle 7 Sekunden)
Abbildung 4: Großes Bild Sprite Sheet (1 Thumbnail alle 7 Sekunden)
Acht Miniaturansichten werden aus dem Beispielvideo erzeugt, das 60 Sekunden lang ist.