LiveStreams

Une ressource liveStream contient des informations sur le flux vidéo que vous transmettez à YouTube. Le flux fournit le contenu qui sera diffusé auprès des utilisateurs YouTube. Une fois créée, une ressource liveStream peut être associée à une ou plusieurs ressources liveBroadcast.

Méthodes

L'API accepte les méthodes suivantes pour les ressources liveStreams:

list
Renvoie une liste de flux vidéo correspondant aux paramètres de requête de l'API. Essayer
insérer
Crée un flux vidéo. Le flux vous permet d'envoyer votre vidéo à YouTube, qui peut alors la diffuser auprès de votre audience. Essayer
mettre à jour
Met à jour un flux vidéo. Si les propriétés que vous souhaitez modifier ne peuvent pas être mises à jour, vous devez créer un autre flux avec les paramètres appropriés. Essayer
supprimer
Supprime un flux vidéo. Essayer

Représentation des ressources

La structure JSON suivante montre le format d'une ressource 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
  }
}

Propriétés

Le tableau suivant définit les propriétés qui apparaissent dans cette ressource:

Propriétés
kind string
Identifie le type de ressource de l'API. La valeur sera youtube#liveStream.
etag etag
ETag de cette ressource.
id string
ID attribué par YouTube pour identifier le flux de manière unique.
snippet object
L'objet snippet contient des informations de base sur le flux, y compris sa chaîne, son titre et sa description.
snippet.publishedAt datetime
Date et heure de création du flux. La valeur est spécifiée au format ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
snippet.channelId string
ID que YouTube utilise pour identifier de manière unique la chaîne qui diffuse le flux.
snippet.title string
Titre du flux. La valeur doit comporter entre 1 et 128 caractères.
snippet.description string
Description du flux. La valeur ne peut pas comporter plus de 10 000 caractères.
snippet.isDefaultStream boolean
Cette propriété sera obsolète le 1er septembre 2020 ou à une date ultérieure. À partir de cette date, YouTube cesse de créer une diffusion par défaut lorsqu'une chaîne est activée pour la diffusion en direct. Pour en savoir plus, consultez l'annonce de l'abandon.
Cette propriété indique si ce flux est le flux par défaut de la chaîne.

Fonctionnement des flux par défaut

Lorsqu'une chaîne YouTube est activée pour le streaming en direct, YouTube crée un flux et une diffusion par défaut pour cette chaîne. La diffusion définit la manière dont le propriétaire de la chaîne envoie la vidéo en direct à YouTube, et la diffusion permet aux spectateurs de voir la diffusion par défaut. Un propriétaire de chaîne peut utiliser les méthodes liveStreams.list et liveBroadcasts.list pour identifier ces ressources.

Le flux par défaut d'une chaîne existe indéfiniment, et n'est pas associé à une heure de début ou de fin, et ne peut pas être supprimé. Le propriétaire de la chaîne n'a besoin que de commencer à envoyer des bits vidéo, et la diffusion se poursuit automatiquement.

À la fin d'une diffusion, YouTube convertit la diffusion en vidéo YouTube et attribue à la vidéo un ID vidéo YouTube. Une fois la conversion terminée, la vidéo est incluse dans la liste des vidéos mises en ligne sur la chaîne. La vidéo n'est pas disponible immédiatement à la fin de la diffusion. La durée du décalage dépend de la durée réelle de la diffusion.
cdn object
L'objet cdn définit les paramètres du réseau de diffusion de contenu (CDN) de la diffusion en direct. Ces paramètres fournissent des informations sur la manière dont vous diffusez votre contenu sur YouTube.
cdn.format string
Cette propriété est obsolète depuis le 18 avril 2016 et ne sera plus disponible à partir du 17 août 2020. Les requêtes utilisant cette propriété à partir de cette date échoueront.

Utilisez plutôt les propriétés cdn.frameRate et cdn.resolution pour spécifier séparément la fréquence d'images et la résolution.
cdn.ingestionType string
Méthode ou protocole utilisé pour transmettre le flux vidéo.

Valeurs valides pour cette propriété :
  • dash
  • hls
  • rtmp (qui inclut RTMPS)
cdn.ingestionInfo object
L'objet ingestionInfo contient les informations que YouTube fournit pour que vous puissiez transmettre votre flux à YouTube.
cdn.ingestionInfo.streamName string
Nom de flux attribué par YouTube au flux vidéo.
cdn.ingestionInfo.ingestionAddress string
URL principale d'ingestion à utiliser pour diffuser la vidéo sur YouTube si vous utilisez RTMP, DASH ou HLS. Vous devez diffuser les vidéos vers cette URL.

Selon l'application ou l'outil que vous utilisez pour encoder votre flux vidéo, vous devrez peut-être saisir l'URL et le nom du flux séparément, ou les concaténer au format suivant :
cdn.ingestionInfo.backupIngestionAddress string
URL de sauvegarde secondaire à utiliser pour diffuser la vidéo en streaming sur YouTube si vous utilisez RTMP, DASH ou HLS. Vous avez la possibilité de diffuser simultanément le contenu que vous envoyez à ingestionAddress vers cette URL.
cdn.ingestionInfo.rtmpsIngestionAddress string
L'URL d'ingestion principale à utiliser pour diffuser une vidéo en streaming sur YouTube si vous utilisez RTMPS Vous devez diffuser les vidéos vers cette URL.

Selon l'application ou l'outil que vous utilisez pour encoder votre flux vidéo, vous devrez peut-être saisir l'URL et le nom du flux séparément, ou les concaténer au format suivant :
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.rtmpsBackupIngestionAddress string
URL de sauvegarde à utiliser pour diffuser de la vidéo en streaming sur YouTube si vous utilisez RTMPS.
cdn.resolution string
Résolution des données vidéo entrantes.

Les valeurs valides pour cette propriété sont les suivantes :
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable: utilisez ce paramètre pour indiquer à YouTube de détecter automatiquement la résolution de la vidéo diffusée en streaming. Vous devez également définir cdn.frameRate sur variable.
    Consultez le centre d'aide YouTube pour connaître les paramètres d'encodage recommandés.
cdn.frameRate string
Fréquence d'images des données vidéo entrantes.

Les valeurs valides pour cette propriété sont les suivantes :
  • 30fps
  • 60fps
  • variable: utilisez ce paramètre pour indiquer à YouTube de détecter automatiquement la fréquence d'images de votre vidéo diffusée en streaming. Vous devez également définir cdn.resolution sur variable.
    Consultez le centre d'aide YouTube pour connaître les paramètres d'encodage recommandés.
status object
L'objet status contient des informations sur l'état de la diffusion en direct.
status.streamStatus string
État du flux.

Les valeurs valides pour cette propriété sont les suivantes :
  • active : le flux est actif, ce qui signifie que l'utilisateur reçoit des données via le flux.
  • created : le flux a été créé, mais ses paramètres CDN ne sont pas valides.
  • error : une condition d'erreur existe dans le flux.
  • inactive : le flux est inactif, ce qui signifie que l'utilisateur ne reçoit pas de données via le flux.
  • ready : le flux comporte des paramètres CDN valides.
status.healthStatus object
Cet objet contient des informations sur l'état de la diffusion en direct, qui permet d'identifier, de diagnostiquer et de résoudre les problèmes de streaming.
status.healthStatus.status string
Code d'état de ce flux.

Les valeurs valides pour cette propriété sont les suivantes :
  • good – Il n'existe aucun problème de configuration selon lequel la gravité est warning ou pire.
  • ok : aucun problème de configuration n'est associé à la severity error.
  • bad : le flux présente certains problèmes dont la gravité est error.
  • noData : les serveurs backend de diffusion en direct de YouTube ne disposent d'aucune information sur l'état de la diffusion.
status.healthStatus.lastUpdateTimeSeconds unsigned long
Dernière fois que l'état du flux a été mis à jour. La valeur reflète un horodatage UNIX exprimé en secondes.
status.healthStatus.configurationIssues[] list
Cet objet contient la liste des problèmes de configuration qui affectent le flux.
status.healthStatus.configurationIssues[].type string
Identifie le type d'erreur qui affecte le flux.
status.healthStatus.configurationIssues[].severity string
Indique l'importance du problème dans le flux.

Les valeurs valides pour cette propriété sont les suivantes :
  • info : la vidéo est diffusée aux spectateurs sans impact négatif sur les performances.
  • warning : la vidéo est diffusée aux spectateurs, mais les performances ne sont pas optimales.
  • error : la vidéo ne peut pas être diffusée auprès des spectateurs.
status.healthStatus.configurationIssues[].reason string
Brève description du problème. Le document Problèmes de configuration pour les ressources LiveStream identifie la raison associée à chaque type de problème de configuration.
status.healthStatus.configurationIssues[].description string
Description détaillée du problème. Si possible, la description indique comment résoudre le problème. Le document Problèmes de configuration pour les ressources LiveStream répertorie tous les types de problèmes de configuration et leur description.
contentDetails object
L'objet content_details contient des informations sur le flux, y compris l'URL d'ingestion des sous-titres.
contentDetails.closedCaptionsIngestionUrl string
URL d'ingestion vers laquelle sont envoyés les sous-titres de ce flux.
contentDetails.isReusable boolean
Indique si le flux est réutilisable, ce qui signifie qu'il peut être associé à plusieurs diffusions. Il est courant que les diffuseurs réutilisent le même flux pour de nombreuses diffusions différentes si celles-ci ont lieu à des moments différents.

Si vous définissez cette valeur sur false, le flux ne sera pas réutilisable, ce qui signifie qu'il ne peut être associé qu'à une seule diffusion. Voici les différences entre les flux non réutilisables et les flux réutilisables:
  • Un flux non réutilisable ne peut être associé qu'à une seule diffusion.
  • Un flux non réutilisable peut être supprimé par un processus automatisé une fois la diffusion terminée.
  • La méthode liveStreams.list ne répertorie pas les flux non réutilisables si vous appelez la méthode et définissez le paramètre mine sur true. Le seul moyen d'utiliser cette méthode pour récupérer la ressource d'un flux non réutilisable consiste à identifier le flux à l'aide du paramètre id.