Un recurso liveStream contiene información sobre la transmisión de video que envías a YouTube. La transmisión proporciona el contenido que se transmitirá a los usuarios de YouTube. Una vez creado, un recurso liveStream se puede vincular a uno o más recursos liveBroadcast.
Métodos
La API admite los siguientes métodos para los recursos liveStreams:
- list
- Devuelve una lista de transmisiones de video que coinciden con los parámetros de solicitud de la API. Pruébala ahora.
- insertar
- Crea una transmisión de video. La transmisión te permite enviar tu video a YouTube, que luego puede transmitirlo a tu público. Pruébala ahora.
- actualización
- Actualiza una transmisión de video. Si no se pueden actualizar las propiedades que deseas cambiar, debes crear una transmisión nueva con la configuración adecuada. Pruébala ahora.
- borrar
- Borra una transmisión de video. Pruébala ahora.
Representación de recursos
En la siguiente estructura JSON, se muestra el formato de un recurso liveStreams:
{
"kind": "youtube#liveStream",
"etag": etag,
"id": string,
"snippet": {
"publishedAt": datetime,
"channelId": string,
"title": string,
"description": string,
"isDefaultStream": boolean
},
"cdn": {
"ingestionType": string,
"ingestionInfo": {
"streamName": string,
"ingestionAddress": string,
"backupIngestionAddress": string
},
"resolution": string,
"frameRate": string
},
"status": {
"streamStatus": string,
"healthStatus": {
"status": string,
"lastUpdateTimeSeconds": unsigned long,
"configurationIssues": [
{
"type": string,
"severity": string,
"reason": string,
"description": string
}
]
}
},
"contentDetails": {
"closedCaptionsIngestionUrl": string,
"isReusable": boolean
}
}Propiedades
La siguiente tabla define las propiedades que aparecen en este recurso:
| Propiedades | |
|---|---|
kind |
stringIdentifica el tipo de recurso de la API. El valor será youtube#liveStream. |
etag |
etagEs la etiqueta de Etag de este recurso. |
id |
stringEs el ID que YouTube asigna para identificar de forma única la transmisión. |
snippet |
objectEl objeto snippet contiene detalles básicos sobre la transmisión, incluido su canal, título y descripción. |
snippet.publishedAt |
datetimeEs la fecha y hora en que se creó la transmisión. El valor se especifica en formato ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ). |
snippet.channelId |
stringEs el ID que YouTube usa para identificar de forma exclusiva el canal que transmite la transmisión. |
snippet.title |
stringEs el título de la transmisión. El valor debe tener entre 1 y 128 caracteres. |
snippet.description |
stringEs la descripción de la transmisión. El valor no puede tener más de 10,000 caracteres. |
snippet.isDefaultStream |
boolean
Esta propiedad dejará de estar disponible a partir del 1 de septiembre de 2020. En ese momento, YouTube dejará de crear transmisiones y transmisiones predeterminadas cuando un canal esté habilitado para transmitir en vivo. Consulta el anuncio de baja para obtener más detalles.
Esta propiedad indica si esta transmisión es la predeterminada del canal.Cómo funcionan las transmisiones predeterminadas Cuando un canal de YouTube está habilitado para transmitir en vivo, YouTube crea una transmisión predeterminada y una transmisión predeterminada para el canal. La transmisión define cómo el propietario del canal envía videos en vivo a YouTube, y la transmisión es la forma en que los usuarios pueden ver la transmisión predeterminada. El propietario de un canal puede usar los métodos liveStreams.list y liveBroadcasts.list para identificar estos recursos.La transmisión predeterminada de un canal existe de forma indefinida, no tiene una hora de inicio ni de finalización asociada y no se puede borrar. El propietario del canal solo debe comenzar a enviar bits de video para que la transmisión continúe automáticamente. Cuando finaliza una transmisión, YouTube convierte la transmisión completa en un video de YouTube y le asigna un ID de video de YouTube. Una vez que se complete la conversión, el video se incluirá en la lista de videos subidos del canal. El video no está disponible inmediatamente después de que finaliza la transmisión, y la duración de la demora se relaciona con la duración real de la transmisión. |
cdn |
objectEl objeto cdn define la configuración de la red de distribución de contenidos (CDN) de la transmisión en vivo. Esta configuración proporciona detalles sobre la forma en que transmites tu contenido a YouTube. |
cdn.format |
stringEsta propiedad dejó de estar disponible desde el 18 de abril de 2016 y ya no se admitirá a partir del 17 de agosto de 2020. Las solicitudes que aún usen esta propiedad a partir de esa fecha fallarán. En su lugar, usa las propiedades cdn.frameRate y
cdn.resolution para especificar la frecuencia de fotogramas y la resolución por separado.
|
cdn.ingestionType |
stringEs el método o protocolo que se usa para transmitir la transmisión de video. Los valores válidos para esta propiedad son los siguientes:
|
cdn.ingestionInfo |
objectEl objeto ingestionInfo contiene información que YouTube proporciona y que necesitas para transmitir tu transmisión a YouTube. |
cdn.ingestionInfo.streamName |
stringEs el nombre de la transmisión que YouTube asigna a la transmisión de video. |
cdn.ingestionInfo.ingestionAddress |
stringEs la URL de transferencia principal que debes usar para transmitir videos a YouTube si usas RTMP, DASH o HLS. Debes transmitir el video a esta URL. Según la aplicación o herramienta que uses para codificar la transmisión de video, es posible que debas ingresar la URL y el nombre de la transmisión por separado, o bien que debas concatenarlos en el siguiente formato: STREAM_URL/STREAM_NAME |
cdn.ingestionInfo.backupIngestionAddress |
stringEs la URL de transferencia de copia de seguridad que debes usar para transmitir videos a YouTube si usas RTMP, DASH o HLS. Tienes la opción de transmitir simultáneamente el contenido que envías a ingestionAddress a esta URL. |
cdn.ingestionInfo.rtmpsIngestionAddress |
stringEs la URL de transferencia principal que debes usar para transmitir videos a YouTube si usas RTMPS. Debes transmitir video a esta URL. Según la aplicación o herramienta que uses para codificar la transmisión de video, es posible que debas ingresar la URL y el nombre de la transmisión por separado o que debas concatenarlos en el siguiente formato: STREAM_URL/STREAM_NAME |
cdn.ingestionInfo.rtmpsBackupIngestionAddress |
stringEs la URL de transferencia de respaldo que debes usar para transmitir videos a YouTube si usas RTMPS. |
cdn.resolution |
stringEs la resolución de los datos de video entrantes. Los valores válidos para esta propiedad son los siguientes:
|
cdn.frameRate |
stringEs la velocidad de fotogramas de los datos de video entrantes. Los valores válidos para esta propiedad son los siguientes:
|
status |
objectEl objeto status contiene información sobre el estado de la transmisión en vivo. |
status.streamStatus |
stringEs el estado de la transmisión. Los valores válidos para esta propiedad son los siguientes:
|
status.healthStatus |
objectEste objeto contiene información sobre el estado de la transmisión en vivo, que se puede usar para identificar, diagnosticar y resolver problemas de transmisión. |
status.healthStatus.status |
stringEs el código de estado de esta transmisión. Los valores válidos para esta propiedad son los siguientes:
|
status.healthStatus.lastUpdateTimeSeconds |
unsigned longEs la última vez que se actualizó el estado del flujo. El valor refleja una marca de tiempo UNIX en segundos. |
status.healthStatus.configurationIssues[] |
listEste objeto contiene una lista de problemas de configuración que afectan la transmisión. |
status.healthStatus.configurationIssues[].type |
stringIdentifica el tipo de error que afecta la transmisión. |
status.healthStatus.configurationIssues[].severity |
stringIndica la gravedad del problema para la transmisión. Los valores válidos para esta propiedad son los siguientes:
|
status.healthStatus.configurationIssues[].reason |
stringEs una breve descripción del problema. En el documento Problemas de configuración de los recursos de transmisiones en vivo, se identifica el motivo asociado con cada tipo de problema de configuración. |
status.healthStatus.configurationIssues[].description |
stringUna descripción detallada del problema. Cuando sea posible, la descripción proporciona información para resolver el problema. En el documento Problemas de configuración de los recursos de transmisiones en vivo, se enumeran todos los tipos de problemas de configuración y sus descripciones asociadas. |
contentDetails |
objectEl objeto content_details contiene información sobre la transmisión, incluida la URL de transferencia de subtítulos. |
contentDetails.closedCaptionsIngestionUrl |
stringEs la URL de transferencia a la que se envían los subtítulos de esta transmisión. |
contentDetails.isReusable |
booleanIndica si la transmisión se puede volver a usar, lo que significa que se puede vincular a varias transmisiones. Es común que los transmisores reutilicen la misma transmisión para muchas transmisiones diferentes si estas ocurren en diferentes momentos. Si estableces este valor en false, la transmisión no se podrá volver a usar, lo que significa que solo se puede vincular a una transmisión. Los flujos no reutilizables difieren de los reutilizables de las siguientes maneras:
|