Esta página explica cómo generar una hoja de Sprite que contenga marcos de una
video que transcodifiques. Estos marcos de tamaño reducido, también conocidos como miniaturas, son útiles para organizar y obtener vistas previas del contenido. Para generar la hoja de Sprite, usa
el
spriteSheets
en la plantilla JobConfig
.
Tienes dos opciones para generar la hoja de sprites:
- Genera una cantidad determinada de imágenes en miniatura distribuidos de manera uniforme en la línea de tiempo del video de entrada.
- Genera una imagen de miniatura de forma periódica, es decir, cada n segundos, en el cronograma del video de entrada.
Genera una cantidad determinada de imágenes en miniatura
La siguiente configuración genera una hoja de sprites de 10 × 10 de imágenes grandes y una hoja de sprites de 10 × 10 de imágenes pequeñas, cada una con 100 miniaturas. Ten en cuenta que las hojas de sprites requieren al menos un VideoStream
en la configuración del trabajo.
Puedes agregar esta configuración a una plantilla de trabajo o incluirla en una configuración de trabajo ad-hoc:
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.LOCATION
: Es la ubicación en la que se ejecutará tu trabajo. Usa una de las regiones compatibles.Mostrar ubicacionesus-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
: Es el nombre del bucket de Cloud Storage que creaste.STORAGE_INPUT_VIDEO
: Es el nombre del video en tu bucket de Cloud Storage que se transcodificará, comomy-vid.mp4
. Este campo debe tener en cuenta todas las carpetas que hayas creado en la bucket (por ejemplo,input/my-vid.mp4
).STORAGE_OUTPUT_FOLDER
: Es el nombre de la carpeta de Cloud Storage en la que deseas guardar los resultados del video codificado.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID", "config": { ... }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30 }
gcloud
- Crea un archivo
request.json
que defina los campos del trabajo. Realiza los siguientes reemplazos para el comandogcloud
:- STORAGE_BUCKET_NAME: El nombre del bucket de Cloud Storage que creaste.
- STORAGE_INPUT_VIDEO: Es el nombre del video en tu bucket de Cloud Storage que transcodificarás, como
my-vid.mp4
. Este campo debe representar todas las carpetas que creaste en el bucket (por ejemplo,input/my-vid.mp4
). - LOCATION: Es la ubicación en la que se ejecutará tu trabajo. Usa una ubicación de la siguiente lista.
Cómo mostrar ubicaciones
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: Es el nombre de la carpeta de Cloud Storage en la que deseas guardar los resultados del video codificado.
{ "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 } ] } }
- Ejecuta el siguiente comando:
Deberías ver una respuesta similar a la siguiente: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#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# que se encuentran en el Guía de inicio rápido de la API de Transcoder con bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de C# de la API de Transcoder.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go que se encuentran en el Guía de inicio rápido de la API de Transcoder con bibliotecas cliente. Para obtener más información, consulta la API de Go de la API de Transcoder documentación de referencia.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java que se encuentran en el Guía de inicio rápido de la API de Transcoder con bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Java de la API de Transcoder.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js que se encuentran en la Guía de inicio rápido de la API de Transcoder para usar bibliotecas cliente. Para obtener más información, consulta la API de Node.js de la API de Transcoder documentación de referencia.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP que se encuentran en el Guía de inicio rápido de la API de Transcoder con bibliotecas cliente. Para obtener más información, consulta la API de PHP de la API de Transcoder documentación de referencia.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python que se encuentran en la Guía de inicio rápido de la API de Transcoder para usar bibliotecas cliente. Para obtener más información, consulta la API de Python de la API de Transcoder documentación de referencia.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby que se encuentran en el Guía de inicio rápido de la API de Transcoder con bibliotecas cliente. Para obtener más información, consulta la API de Ruby de la API de Transcoder documentación de referencia.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Usa esta configuración en el video de muestra para generar las siguientes hojas de objeto:
Figura 1: Spritesheet de imágenes pequeñas (100 miniaturas)
Figura 2: Hoja de objeto de imagen grande (100 miniaturas)
Genera una imagen en miniatura periódicamente
La siguiente configuración genera una hoja de Sprite con imágenes pequeñas
y una hoja de objeto con imágenes grandes. Cada hoja de Sprite contiene
miniaturas generadas cada 7 segundos a partir del video de entrada. Ten en cuenta que las hojas de sprites requieren al menos un VideoStream
en la configuración del trabajo.
Puedes agregar esta configuración a un plantilla de trabajo o incluirla en una Configuración de trabajo ad hoc:
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.LOCATION
: Es la ubicación en la que se ejecutará tu trabajo. Usa una de las regiones compatibles.Mostrar ubicacionesus-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
: Es el nombre del bucket de Cloud Storage que creaste.STORAGE_INPUT_VIDEO
: Es el nombre del video en tu bucket de Cloud Storage que se transcodificará, comomy-vid.mp4
. Este campo debe tener en cuenta todas las carpetas que hayas creado en la bucket (por ejemplo,input/my-vid.mp4
).STORAGE_OUTPUT_FOLDER
: Es el nombre de la carpeta de Cloud Storage en la que deseas guardar los resultados del video codificado.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID", "config": { ... }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30 }
gcloud
- Crea un archivo
request.json
que defina los campos de trabajo. Realiza los siguientes reemplazos para el comandogcloud
:- STORAGE_BUCKET_NAME: El nombre del bucket de Cloud Storage que creaste.
- STORAGE_INPUT_VIDEO: Es el nombre del video en tu bucket de Cloud Storage que transcodificarás, como
my-vid.mp4
. Este campo debe representar todas las carpetas que creaste en el bucket (por ejemplo,input/my-vid.mp4
). - LOCATION: Es la ubicación en la que se ejecutará tu trabajo. Usa una ubicación de la siguiente lista.
Cómo mostrar ubicaciones
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: Es el nombre de la carpeta de Cloud Storage en la que deseas guardar los resultados del video codificado.
{ "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" } ] } }
- Ejecuta el siguiente comando:
Deberías ver una respuesta similar a la siguiente: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#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# que se encuentran en el Guía de inicio rápido de la API de Transcoder con bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de C# de la API de Transcoder.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go que se encuentran en la Guía de inicio rápido de la API de Transcoder para usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Go de la API de Transcoder.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java que se encuentran en la Guía de inicio rápido de la API de Transcoder para usar bibliotecas cliente. Para obtener más información, consulta la API de Java de la API de Transcoder documentación de referencia.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js que se encuentran en la Guía de inicio rápido de la API de Transcoder para usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Node.js de la API de Transcoder.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP que se encuentran en la Guía de inicio rápido de la API de Transcoder para usar bibliotecas cliente. Para obtener más información, consulta la API de PHP de la API de Transcoder documentación de referencia.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python que se encuentran en la Guía de inicio rápido de la API de Transcoder para usar bibliotecas cliente. Para obtener más información, consulta la API de Python de la API de Transcoder documentación de referencia.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby que se encuentran en el Guía de inicio rápido de la API de Transcoder con bibliotecas cliente. Para obtener más información, consulta la API de Ruby de la API de Transcoder documentación de referencia.
Para autenticarte en la API de Transcoder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Usa esta configuración en el video de ejemplo para generar las siguientes hojas de sprites:
Figura 3: Spritesheet de imagen pequeña (1 miniatura cada 7 segundos)
Figura 4: Spritesheet de imagen grande (1 miniatura cada 7 segundos)
Se generan ocho miniaturas a partir del video de muestra, que dura 60 segundos.