Présentation
Ce guide est destiné aux développeurs d'applications clientes API qui utilisent les ressources liveStream
et liveBroadcast
par défaut des chaînes YouTube pour diffuser du contenu en direct. Il vise à vous aider à vous assurer que votre application gère correctement l'arrêt des diffusions et des flux par défaut. Il vous concerne si l'une des affirmations suivantes s'applique à votre application :
- Il vérifie la valeur de la propriété
isDefaultBroadcast
de la ressourceliveBroadcast
. - Il vérifie la valeur de la propriété
isDefaultStream
de la ressourceliveStream
. Elle appelle la méthode
liveBroadcasts.list
et définit la valeur du paramètrebroadcastType
surpersistent
. À compter de la date d'abandon :- Si la valeur du paramètre
broadcastType
estpersistent
, la méthodeliveBroadcasts.list
ne renverra aucun résultat. - Si la valeur du paramètre
broadcastType
estall
, la méthodeliveBroadcasts.list
ne renverra pas les diffusions persistantes qui existaient avant cette heure.
- Si la valeur du paramètre
Si votre application est concernée, veuillez consulter la section Mettre à jour votre application, qui explique les modifications de procédure que votre application devra peut-être apporter en raison de cette obsolescence. Cette section identifie des étapes spécifiques du guide Cycle de vie d'une diffusion que votre client API ne suit peut-être pas habituellement s'il utilise actuellement la diffusion et le flux par défaut.
Quelle est la situation ?
Depuis 2015, YouTube crée automatiquement un flux et une diffusion par défaut pour une chaîne lorsque le streaming en direct est activé. Le flux par défaut existait indéfiniment et ne pouvait pas être supprimé. De même, la diffusion par défaut était considérée comme persistante. Il a toujours existé, n'avait pas d'heure de début ni de fin associée et n'était pas lié à un événement particulier.
À partir de la date d'abandon mentionnée ci-dessus, YouTube ne créera plus de diffusions ni de diffusions en direct par défaut. Cette modification affecte les applications clientes qui s'appuient sur ces ressources pour diffuser des contenus en direct. Cela affectera également les applications dont l'interface utilisateur est personnalisée pour faire la différence entre ces ressources par défaut et les autres diffusions et flux créés par les propriétaires de chaînes.
Au lieu de s'appuyer sur les ressources par défaut, les clients de l'API doivent créer et gérer les ressources liveBroadcast
et liveStream
, et les associer.
Mettre à jour votre application
Pour passer rapidement en revue la terminologie, une diffusion représente un événement qui peut être regardé sur YouTube en temps réel, et un flux est le mécanisme permettant d'envoyer le contenu vidéo proprement dit à YouTube. Une diffusion peut et doit être associée à un seul flux.
Migrer depuis les diffusions par défaut
Avant cette obsolescence, les clients de l'API pouvaient choisir d'utiliser la diffusion par défaut d'une chaîne ou de créer une diffusion spécifique à un événement. La diffusion par défaut était une ressource persistante qui pouvait être réutilisée pour plusieurs événements, tandis qu'une ressource de diffusion spécifique à un événement est une ressource à usage unique qui correspond exactement à une vidéo YouTube.
Votre application cliente utilise la diffusion par défaut si elle appelle la méthode liveBroadcasts.list
et effectue l'une des opérations suivantes :
- Il définit la valeur du paramètre
broadcastType
surpersistent
. Cette requête ne récupère que la diffusion par défaut. - Il définit la valeur du paramètre
broadcastType
surall
, puis identifie la ressourceliveBroadcast
dans la réponse de l'API pour laquelle la valeur de la propriétéisDefaultBroadcast
esttrue
.
Après l'arrêt de cette fonctionnalité, YouTube n'acceptera plus que les diffusions spécifiques à un événement.
Cela signifie qu'au lieu de s'appuyer sur la diffusion par défaut, les applications clientes doivent créer des ressources liveBroadcast
pour chaque événement de diffusion individuel.
Pour créer une ressource liveBroadcast
, appelez la méthode liveBroadcasts.insert
.
Ce processus est expliqué à l'étape 1.1 du guide "Cycle de vie d'une diffusion".
Si ce n'est pas déjà le cas, votre interface utilisateur doit également fournir aux utilisateurs des mécanismes leur permettant de distinguer et de sélectionner les diffusions à venir spécifiques à un événement.
Migrer depuis les flux par défaut
Un flux vous permet de transmettre du contenu audiovisuel à YouTube et définit les paramètres de diffusion de votre contenu sur YouTube. 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.
Même si votre application ne peut pas utiliser le flux par défaut, elle peut créer un flux réutilisable pour chaque diffusion. Pour créer une ressource liveStream
, appelez la méthode liveStreams.insert
en suivant les instructions de l'étape 1.2 du guide "Cycle de vie d'une diffusion". Par défaut, les flux nouvellement créés sont réutilisables. Toutefois, si vous préférez, vous pouvez définir la propriété contentDetails.isReusable
sur false
pour créer des flux à usage unique et établir une relation un-à-un entre les diffusions et les flux.
La liste suivante contient les quatre propriétés que vous pouvez définir lorsque vous créez un flux, en plus du titre du flux et de la description du flux. La liste indique les valeurs que les flux par défaut utilisent pour chaque propriété. Il s'agit probablement des paramètres que vous souhaiterez utiliser dans une application cliente si vous migrez depuis l'utilisation de flux par défaut.
cdn.frameRate
–variable
cdn.ingestionType
–rtmp
cdn.resolution
–variable
contentDetails.isReusable
–true
Associer des diffusions à des flux
Chaque ressource liveBroadcast
doit être associée à un seul flux avant que la diffusion en direct sur YouTube puisse réellement commencer. (La diffusion n'est liée à aucun flux au moment de sa création.)
Le processus d'association était géré automatiquement pour la diffusion par défaut, qui était inextricablement liée au flux par défaut. Toutefois, après la date d'arrêt, les applications clientes devront gérer ce processus pour toutes les diffusions.
Pour associer une diffusion à un flux, appelez la méthode liveBroadcasts.bind
comme expliqué à l'étape 1.3 du guide "Cycle de vie d'une diffusion".
- Si vous utilisez un flux réutilisable, vous pouvez le créer une seule fois, puis associer chaque diffusion à ce flux.
- Si vous n'utilisez pas de flux réutilisable, vous devez créer une diffusion et un flux, puis les associer.
Tester votre diffusion
Lorsque vous n'utilisez pas la diffusion par défaut, vous avez la possibilité de tester votre diffusion. Pour effectuer un test, vous devez intégrer un lecteur qui vous permet de prévisualiser la vidéo de la diffusion telle qu'elle apparaîtra aux spectateurs YouTube, mais la diffusion n'est pas visible par les autres spectateurs.
Si votre client API utilisait auparavant la diffusion et le flux par défaut, et que vous souhaitez ajouter une phase de test à votre processus de streaming, consultez l'étape 3 du guide "Cycle de vie d'une diffusion".
Si vous souhaitez tester votre diffusion, lorsque vous insérez une diffusion, vous devez définir la propriété contentDetails.monitorStream.enableMonitorStream sur true
et la propriété contentDetails.enableAutoStart sur false
. Il s'agit des valeurs par défaut pour les deux propriétés.
Utiliser les fonctionnalités de démarrage et d'arrêt automatiques
La diffusion par défaut démarrait automatiquement chaque fois que vous lanciez la diffusion d'une vidéo sur le flux par défaut. De même, la diffusion par défaut s'est terminée lorsque vous avez arrêté de diffuser la vidéo. Chaque session de streaming utilisant ces ressources par défaut est ensuite devenue une vidéo sur votre chaîne.
Alors que les fonctionnalités de démarrage et d'arrêt automatiques étaient le comportement par défaut pour les diffusions par défaut, elles sont facultatives et doivent être activées pour les autres diffusions. Si vous souhaitez utiliser ces fonctionnalités, vous devez définir les valeurs des propriétés contentDetails.enableAutoStart et contentDetails.enableAutoStop sur true
lorsque vous insérez une diffusion. Ces fonctionnalités sont indépendantes. Vous pouvez donc choisir d'en utiliser une et pas l'autre.
Si vous n'activez pas les fonctionnalités de démarrage et d'arrêt automatiques pour les nouvelles diffusions, votre client API doit appeler la méthode liveBroadcasts.transition pour mettre à jour l'état d'une diffusion lorsque vous commencez et terminez la diffusion de la vidéo. Dans le guide "Cycle de vie d'une diffusion", consultez les étapes 4.3 et 5.2 pour savoir comment gérer ces transitions au début et à la fin d'une diffusion.