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 de YouTube. Une fois créée, une ressource liveStream peut être liée à une ou plusieurs ressources liveBroadcast.

Méthodes

L'API prend en charge les méthodes suivantes pour les ressources liveStreams :

liste
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 ensuite la diffuser auprès de votre audience. Essayer
update
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 flux avec les paramètres appropriés. Essayer
supprimer
Supprime un flux vidéo. Essayer

Représentation de la ressource

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 la ressource API. La valeur sera youtube#liveStream.
etag etag
Etag de cette ressource.
id string
ID attribué par YouTube pour identifier de manière unique la diffusion.
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 utilisé par YouTube pour identifier de manière unique la chaîne qui transmet 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 doit pas comporter plus de 10 000 caractères.
snippet.isDefaultStream boolean
Cette propriété sera abandonnée à partir du 1er septembre 2020. À partir de ce moment-là, YouTube cessera de créer une diffusion et une diffusion par défaut lorsqu'une chaîne sera activée pour le streaming 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 du canal.

Fonctionnement des diffusions par défaut

Lorsqu'une chaîne YouTube est activée pour le streaming en direct, YouTube crée une diffusion et une diffusion par défaut pour la chaîne. La diffusion en direct définit la façon dont le propriétaire de la chaîne envoie des vidéos en direct sur YouTube. La diffusion permet aux spectateurs de voir la diffusion par défaut. Le propriétaire d'une 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, n'a pas d'heure de début ni de fin associée et ne peut pas être supprimé. Le propriétaire de la chaîne n'a qu'à commencer à envoyer des bits vidéo pour que la diffusion se poursuive automatiquement.

À la fin d'une diffusion, YouTube convertit la diffusion terminée en vidéo YouTube et lui attribue 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 de la chaîne. La vidéo n'est pas disponible immédiatement après la fin de la diffusion, et la durée du délai est liée à 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 vos contenus sur YouTube.
cdn.format string
Cette propriété est obsolète depuis le 18 avril 2016 et ne sera plus prise en charge à partir du 17 août 2020. Les requêtes qui utilisent toujours cette propriété à cette date échoueront.

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

Valeurs valides pour cette propriété :
  • dash
  • hls
  • rtmp (y compris RTMPS)
cdn.ingestionInfo object
L'objet ingestionInfo contient des informations fournies par YouTube dont vous avez besoin pour transmettre votre flux à YouTube.
cdn.ingestionInfo.streamName string
Nom du flux que YouTube attribue au flux vidéo.
cdn.ingestionInfo.ingestionAddress string
URL d'ingestion principale que vous devez utiliser pour diffuser des vidéos sur YouTube si vous utilisez RTMP, DASH ou HLS. Vous devez diffuser la vidéo sur 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.backupIngestionAddress string
URL d'ingestion de sauvegarde que vous devez utiliser pour diffuser des vidéos sur YouTube si vous utilisez RTMP, DASH ou HLS. Vous pouvez diffuser simultanément le contenu que vous envoyez au ingestionAddress vers cette URL.
cdn.ingestionInfo.rtmpsIngestionAddress string
URL d'ingestion principale que vous devez utiliser pour diffuser des vidéos sur YouTube si vous utilisez RTMPS. Vous devez diffuser la vidéo sur 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 concatenar au format suivant :
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.rtmpsBackupIngestionAddress string
URL d'ingestion de sauvegarde que vous devez utiliser pour diffuser des vidéos sur YouTube si vous utilisez RTMPS.
cdn.resolution string
Résolution des données vidéo entrantes.

Valeurs valides pour cette propriété :
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable : utilisez ce paramètre pour indiquer que YouTube doit détecter automatiquement la résolution de votre vidéo lue 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.

Valeurs valides pour cette propriété :
  • 30fps
  • 60fps
  • variable : utilisez ce paramètre pour indiquer que YouTube doit détecter automatiquement la fréquence d'images de votre vidéo lue 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.

Valeurs valides pour cette propriété :
  • 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 ne comporte pas de paramètres CDN valides.
  • error : une erreur a été détectée 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 : la diffusion dispose de paramètres CDN valides.
status.healthStatus object
Cet objet contient des informations sur l'état de santé de la diffusion en direct, qui peuvent être utilisées pour identifier, diagnostiquer et résoudre les problèmes de streaming.
status.healthStatus.status string
Code d'état de ce flux.

Valeurs valides pour cette propriété :
  • good : aucun problème de configuration dont la gravité est warning ou pire.
  • ok : aucun problème de configuration dont la gravité est error.
  • bad : la diffusion présente des problèmes dont la gravité est error.
  • noData : les serveurs backend de streaming en direct de YouTube ne disposent d'aucune information sur l'état du streaming.
status.healthStatus.lastUpdateTimeSeconds unsigned long
Dernière fois que l'état d'intégrité du flux a été mis à jour. La valeur reflète un code temporel UNIX exprimé en secondes.
status.healthStatus.configurationIssues[] list
Cet objet contient une liste de problèmes de configuration affectant le flux.
status.healthStatus.configurationIssues[].type string
Identifie le type d'erreur affectant le flux.
status.healthStatus.configurationIssues[].severity string
Indique la gravité du problème pour le flux.

Les valeurs valides pour cette propriété sont les suivantes :
  • info : la vidéo est diffusée auprès des spectateurs sans affecter les performances.
  • warning : la vidéo est diffusée auprès des 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 des 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 Dans la mesure du possible, la description fournit des informations sur la façon de résoudre le problème. Le document Problèmes de configuration des ressources LiveStream liste tous les types de problèmes de configuration et leurs descriptions associées.
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 à laquelle les sous-titres de ce flux sont envoyés.
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 heures différentes.

Si vous définissez cette valeur sur false, le flux ne pourra pas être réutilisé, ce qui signifie qu'il ne peut être lié qu'à une seule diffusion. Les flux non réutilisables diffèrent des flux réutilisables comme suit :
  • Un flux non réutilisable ne peut être lié qu'à une seule diffusion.
  • Un flux non réutilisable peut être supprimé par un processus automatisé à la fin de la diffusion.
  • La méthode liveStreams.list ne liste pas les flux non réutilisables si vous l'appelez 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 à utiliser le paramètre id pour identifier le flux.