Guía de inicio rápido para una transmisión en vivo de MPEG-DASH
En esta página, se muestra cómo crear un trabajo básico de transmisión en vivo en MPEG-DASH con la configuración predeterminada de la API de Live Stream y curl
, PowerShell o las bibliotecas cliente.
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Live Stream API:
gcloud services enable livestream.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/livestream.editor, roles/storage.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Live Stream API:
gcloud services enable livestream.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/livestream.editor, roles/storage.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
Cree un bucket de Cloud Storage
Crea un bucket de Cloud Storage para almacenar el manifiesto y los archivos de segmentos de la transmisión en vivo.
Consola de Google Cloud
- In the Google Cloud console, go to the Cloud Storage Buckets page.
- Click Create bucket.
- On the Create a bucket page, enter your bucket information. To go to the next
step, click Continue.
- For Name your bucket, enter a name that meets the bucket naming requirements.
-
For Choose where to store your data, do the following:
- Select a Location type option.
- Select a Location option.
- For Choose a default storage class for your data, select the following: Standard.
- For Choose how to control access to objects, select an Access control option.
- For Advanced settings (optional), specify an encryption method, a retention policy, or bucket labels.
- Click Create.
Línea de comandos
-
Create a Cloud Storage bucket:
gcloud storage buckets create gs://BUCKET_NAME
BUCKET_NAME
with a bucket name
that meets the bucket naming requirements.
Instala un codificador
Para usar la API, necesitas un codificador para generar transmisiones de entrada que procese la API.
Instala ffmpeg
, ya que en esta página se explica cómo usar ffmpeg
para generar flujos de entrada. Puedes instalarlo en
Cloud Shell con el siguiente comando.
sudo apt install ffmpeg
Crea un extremo de entrada
Para iniciar una transmisión en vivo, primero debes usar el método projects.locations.inputs.create
para crear un extremo de entrada. Enviarás el flujo de entrada a este extremo.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se creará el extremo de entrada. Usa una de las regiones compatibles.Cómo mostrar ubicacionesus-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
INPUT_ID
: Es un identificador definido por el usuario para el nuevo extremo de entrada que se creará (al que envías tu flujo de entrada). Este valor debe tener entre 1 y 63 caracteres, comenzar y terminar con[a-z0-9]
, y puede contener guiones (-) entre los caracteres. Por ejemplo,my-input
.
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/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 }
C#
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de C# de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Go de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Java de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Node.js de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de PHP de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Python de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Ruby de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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.
Copia el OPERATION_ID que se muestra para usarlo en la siguiente sección.
Verifica el resultado
Usa el método projects.locations.operations.get
para verificar si se creó el extremo de entrada. Si la respuesta contiene "done: false"
, repite el comando hasta que la respuesta contenga "done: true"
.
La creación del primer extremo de entrada en una región puede tardar hasta 10 minutos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se encuentra el extremo de entrada. Usa una de las regiones compatibles.Cómo mostrar ubicacionesus-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
OPERATION_ID
: Es el identificador de la operación.
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/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.Input", "name": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "type": "RTMP_PUSH", "uri": INPUT_STREAM_URI, # For example, "rtmp://1.2.3.4/live/b8ebdd94-c8d9-4d88-a16e-b963c43a953b", "tier": "HD" } }
Busca el campo uri
y copia el INPUT_STREAM_URI que se muestra para usarlo más adelante en la sección Envía el flujo de entrada.
Crea un canal
Para transcodificar el flujo de entrada en un flujo de salida, debes crear un recurso de canal.
Para crear un canal, usa el método projects.locations.channels.create
. En el siguiente ejemplo, se crea un canal que genera una transmisión en vivo MPEG-DASH que consta de una sola versión de alta definición (1280 x 720).
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se creará el canal. Usa una de las regiones compatibles.Cómo mostrar ubicacionesus-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
CHANNEL_ID
: Es un identificador definido por el usuario para el canal que se creará. Este valor debe tener entre 1 y 63 caracteres, comenzar y terminar con[a-z0-9]
, y puede contener guiones (-) entre los caracteres.INPUT_ID
: Es el identificador definido por el usuario para el extremo de entrada.BUCKET_NAME
: Es el nombre del bucket de Cloud Storage que creaste para contener el manifiesto y los archivos de segmentos de la transmisión en vivo.
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/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 }
Obtén el canal
Puedes verificar el resultado de la operación de creación del canal con el nuevo ID de operación.
Una vez creado el canal, usa el método projects.locations.channels.get
para consultar su estado.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se encuentra tu canal. Usa una de las regiones admitidas.Cómo mostrar ubicacionesus-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
CHANNEL_ID
: Es un identificador definido por el usuario para el canal.
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/channels/CHANNEL_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "inputAttachments": [ { "key": "INPUT_ID", "input": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID" } ], "activeInput": "INPUT_ID", "output": { "uri": "gs://BUCKET_NAME" }, "elementaryStreams": [ { "videoStream": { "h264": { "widthPixels": 1280, "heightPixels": 720, "frameRate": 30, "bitrateBps": 3000000, "gopDuration": "2s", "vbvSizeBits": 3000000, "vbvFullnessBits": 2700000, "entropyCoder": "cabac", "profile": "high" } }, "key": "es_video" }, { "audioStream": { "codec": "aac", "bitrateBps": 160000, "channelCount": 2, "channelLayout": ["fl", "fr"], "sampleRateHertz": 48000 }, "key": "es_audio" } ], "muxStreams": [ { "key": "mux_video", "container": "fmp4", "elementaryStreams": ["es_video"], "segmentSettings": { "segmentDuration": "2s" } }, { "key": "mux_audio", "container": "fmp4", "elementaryStreams": ["es_audio"], "segmentSettings": { "segmentDuration": "2s" } } ], "manifests": [ { "key": "manifest_dash", "fileName": "main.mpd", "type": "DASH", "muxStreams": [ "mux_video", "mux_audio" ], "maxSegmentCount": 5, "segmentKeepDuration": "60s" } ], "streamingState": "STOPPED" }
C#
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de C# de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Go de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Java de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Node.js de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de PHP de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Python de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Ruby de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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.
La respuesta completa contiene el siguiente campo. (Algunos de los ejemplos de código anteriores solo muestran ciertos campos en la respuesta, pero se pueden modificar para mostrar la respuesta completa).
{
...
"streamingState": "STOPPED"
...
}
Esta respuesta indica que ahora puedes iniciar el canal.
Inicia el canal
Usa el método projects.locations.channels.start
para iniciar el canal. Se debe iniciar un canal para que pueda aceptar flujos de entrada o generar un flujo de salida.
El inicio del primer canal en una región tarda unos 10 minutos.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se encuentra tu canal. Usa una de las regiones admitidas.Cómo mostrar ubicacionesus-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
CHANNEL_ID
: Es un identificador definido por el usuario para el canal.
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/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": "start", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de C# de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Go de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Java de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Node.js de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de PHP de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Python de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Ruby de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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.
Envía el flujo de entrada
Para determinar si el canal se inició, obtén la información del canal como lo hiciste anteriormente. La respuesta debe contener lo siguiente:
{
...
"streamingState": "AWAITING_INPUT"
...
}
Ahora que el canal está listo, envía una transmisión de entrada de prueba al extremo de entrada para generar la transmisión en vivo.
Abre una nueva ventana de la terminal. Ejecuta el siguiente comando con el INPUT_STREAM_URI de la sección Verifica el resultado:
ffmpeg -re -f lavfi -i "testsrc=size=1280x720 [out0]; sine=frequency=500 [out1]" \
-acodec aac -vcodec h264 -f flv INPUT_STREAM_URI
Verifica que el canal esté transmitiendo
Para verificar el estado de la operación de transmisión en vivo, obtén la información del canal como lo hiciste antes. La respuesta debe contener lo siguiente:
{
...
"streamingState": "STREAMING"
...
}
Verifica el contenido del bucket de Cloud Storage
Abre el bucket de Cloud Storage. Verifica que contenga los siguientes archivos y directorios:
main.mpd
mux_audio/
- Varios archivos
segment-segment-number.m4s
- Un solo archivo
segment-initialization_segment_0000000000.m4s
- Varios archivos
mux_video/
- Varios archivos
segment-segment-number.m4s
- Un solo archivo
segment-initialization_segment_0000000000.m4s
- Varios archivos
Reproduce la transmisión en vivo generada
Para reproducir el archivo multimedia generado en Shaka Player, sigue estos pasos:
- Configura el bucket de Cloud Storage para que sea legible de forma pública.
- Para habilitar el uso compartido de recursos multiorigen (CORS) en un depósito de Cloud Storage, haz lo siguiente:
- Crea un archivo JSON que contenga la siguiente información:
[ { "origin": ["https://shaka-player-demo.appspot.com/"], "responseHeader": ["Content-Type", "Range"], "method": ["GET", "HEAD"], "maxAgeSeconds": 3600 } ]
-
Ejecuta el siguiente comando después de reemplazar
JSON_FILE_NAME
por el nombre del archivo JSON que creaste en el paso anterior:gcloud storage buckets update gs://BUCKET_NAME --cors-file=JSON_FILE_NAME.json
- Crea un archivo JSON que contenga la siguiente información:
- En el bucket de Cloud Storage, busca el archivo
main.mpd
generado. Haz clic en Copiar URL en la columna Acceso público del archivo. - Navega a Shaka Player, un reproductor en línea de transmisión en vivo.
- Haz clic en Contenido personalizado en la barra de navegación superior.
- Haz clic en el botón +.
Pega la URL pública del archivo en la casilla URL del manifiesto.
Escribe un nombre en el cuadro Nombre.
Haz clic en Guardar.
Haz clic en Reproducir.
Deberías ver que un patrón de prueba se reproduce como la transmisión en vivo.
Agrega un marcador de pausa publicitaria a la transmisión en vivo
Usa el método projects.locations.channels.events.create
para agregar un marcador de pausa publicitaria a la transmisión en vivo.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se encuentra tu canal. Usa una de las regiones admitidas.Cómo mostrar ubicacionesus-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
CHANNEL_ID
: Es un identificador definido por el usuario para el canal.EVENT_ID
: Es un identificador definido por el usuario para el evento.
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/channels/CHANNEL_ID/events/EVENT_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "adBreak": { "duration": "100s" }, "executeNow": true, "state": "PENDING" }
C#
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de C# de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Go de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Java de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Node.js de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de PHP de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Python de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Ruby de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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.
Verifica que exista el marcador de pausa publicitaria
Cuando se inserta el marcador de anuncio en la transmisión en vivo, aparece un evento etiquetado como<SpliceInfoSection>
en el manifiesto DASH para la duración del anuncio especificada (100 s).
Ejecuta el siguiente comando para ver el contenido del manifiesto DASH generado:
gcloud storage cat gs://BUCKET_NAME/main.mpd
Es posible que debas ejecutar el comando gcloud storage cat
varias veces hasta que aparezca la sección <SpliceInfoSection>
:
<EventStream timescale="10000000" schemeIdUri="urn:scte:scte35:2013:xml">
<Event duration="100000000" id="809">
<SpliceInfoSection xmlns="urn:scte:scte35:2013:xml">
<SpliceInsert outOfNetworkIndicator="true" spliceImmediateFlag="true">
<BreakDuration autoReturn="true" duration="100000000"/>
</SpliceInsert>
</SpliceInfoSection>
</Event>
</EventStream>
Realiza una limpieza
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
Detener el canal
Usa el método projects.locations.channels.stop
para detener el canal. Debes detener el canal para poder borrarlo.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se encuentra tu canal. Usa una de las regiones admitidas.Cómo mostrar ubicacionesus-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
CHANNEL_ID
: Es un identificador definido por el usuario para el canal.
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/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": "stop", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de C# de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Go de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Java de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Node.js de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de PHP de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Python de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Ruby de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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 OPERATION_ID para comprobar el estado de la operación hasta que obtengas "done":true
en el resultado.
Detener el flujo de entrada
Si usaste ffmpeg
para enviar el flujo de entrada, la conexión se interrumpirá automáticamente después de que detengas el canal.
Si usaste otros codificadores con mecanismos de reintento, es posible que debas detener manualmente el flujo de entrada.
Borra el evento
Usa el método projects.locations.channels.events.delete
para borrar el evento de pausa publicitaria. Debes borrar los eventos del canal antes de borrarlo.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se encuentra tu canal. Usa una de las regiones admitidas.Cómo mostrar ubicacionesus-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
CHANNEL_ID
: Es un identificador definido por el usuario para el canal.EVENT_ID
: Es un identificador definido por el usuario para el evento.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{}
C#
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de C# de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Go de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Java de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Node.js de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de PHP de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Python de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Ruby de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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.
Borra el canal
Usa el método projects.locations.channels.delete
para borrar el canal. Debes borrar el canal para poder borrar
el extremo de entrada que usa el canal.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se encuentra tu canal. Usa una de las regiones admitidas.Cómo mostrar ubicacionesus-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
CHANNEL_ID
: Es un identificador definido por el usuario para el canal.
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/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": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de C# de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Go de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Java de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Node.js de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de PHP de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Python de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Ruby de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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 OPERATION_ID para comprobar el estado de la operación hasta que obtengas "done":true
en el resultado.
Borra el extremo de entrada
Usa el método projects.locations.inputs.delete
para borrar el extremo de entrada.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se encuentra el extremo de entrada. Usa una de las regiones compatibles.Cómo mostrar ubicacionesus-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
INPUT_ID
: Es el identificador definido por el usuario para el extremo de entrada.
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/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": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de C# de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Go de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Java de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Node.js de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de PHP de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Python de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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
Si quieres obtener información para instalar y usar la biblioteca cliente de la API de Live Stream, consulta Bibliotecas cliente de la API de Live Stream. Para obtener más información, consulta la documentación de referencia de la API de Ruby de la API de Live Stream.
Para autenticarte en la API de Live Stream, 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.
Borra el bucket de Cloud Storage
Ten en cuenta que todos los archivos y carpetas del bucket que genera la API de Live Stream se borran una vez que detengas el canal.
En la consola de Google Cloud, ve a la página Navegador de Cloud Storage.
Selecciona la casilla de verificación que se encuentra junto al bucket que creaste.
Haz clic en Borrar.
En la ventana emergente que aparece, haz clic en Borrar para borrar de forma permanente el depósito y su contenido.
Cómo revocar tus credenciales
-
Optional: Revoke the authentication credentials that you created, and delete the local credential file.
gcloud auth application-default revoke
-
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke
¿Qué sigue?
- Prueba las instrucciones de la guía de inicio rápido para una transmisión en vivo de HLS.
- Obtén información para configurar un flujo de entrada de copia de seguridad.