Cette rubrique explique comment ingérer un flux en direct à l'aide d'Open Broadcaster Software (OBS) et du Push SDK.
Prérequis
Générez une URL d'ingestion. Pour plus d'informations, reportez-vous à la section Générer des URL de flux en direct.
Notes d'utilisation
ApsaraVideo Live n'accepte qu'un seul flux par URL d'ingestion à la fois et rejette tout flux ultérieur envoyé vers cette URL.
Si vous rencontrez une exception lors de l'ingestion d'un flux en direct, utilisez l'outil de dépannage pour diagnostiquer les problèmes d'ingestion courants et obtenir des solutions. Pour plus d'informations, consultez la section Dépannage.
Pour éviter que de rares échecs d'ingestion dus à des problèmes système n'affectent votre service de streaming en direct, nous vous recommandons de mettre en œuvre des politiques de haute disponibilité, telles que des tentatives de réingestion et des alertes d'erreur, lorsque vous utilisez un outil d'ingestion tiers. Vous pouvez également configurer des rappels d'ingestion pour surveiller l'état de l'ingestion. Ne distribuez l'URL de streaming qu'une fois l'ingestion réussie. Pour plus d'informations, consultez la section Rappel d'événement.
Un domaine d'ingestion ne limite pas le débit binaire d'ingestion. Toutefois, nous vous recommandons de maintenir le débit binaire d'un flux unique inférieur à 4 Mbps.
Ingestion à l'aide d'OBS
OBS est disponible pour Windows, macOS et Linux. Cette rubrique utilise OBS Studio V27.2.3 pour Windows comme exemple. Les étapes sont similaires pour les autres versions et systèmes d'exploitation.
Téléchargez OBS Studio depuis le Site officiel et installez-le.
Démarrez OBS Studio.
Dans la barre de menus, choisissez File > Settings.
-
Sur la page Settings, cliquez sur Stream et configurez les paramètres suivants :
Parameter
Description
Service
Sélectionnez Custom.
Server
Saisissez l'URL d'ingestion authentifiée générée. Exemple :
rtmp://demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************.Stream Key
Laissez le champ Stream Key vide.
Dans la fenêtre principale d'OBS Studio, ajoutez une source dans la section Sources, puis cliquez sur Start Streaming.
Accédez à la page Stream Management. Sous l'onglet Active Streams, vous pouvez consulter et gérer vos flux actifs.
Ingestion à l'aide de la démo du Push SDK
-
Scannez le code QR avec votre appareil mobile pour installer la démo du Push SDK.
RemarqueSur iOS, si un message « Untrusted Enterprise Developer » s'affiche, accédez à Settings > General > Device Management, puis recherchez et approuvez le profil Taobao.
Démarrez la démo du Push SDK.
-
Sélectionnez Camera Pushing ou Screen Sharing.
RemarquePour l'ingestion de vidéos locales, la démo prend uniquement en charge le format YUV original.
Saisissez votre URL d'ingestion authentifiée (par exemple,
rtmp://demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************) et configurez les autres paramètres selon vos besoins.Cliquez sur Start Pushing pour commencer à ingérer le flux depuis votre appareil mobile.
Accédez à la page Stream Management. Sous l'onglet Active Streams, vous pouvez consulter et gérer vos flux actifs.
Ingestion à l'aide du Push SDK
Push SDK for iOS
Intégrez le Push SDK for iOS. Pour plus d'informations, consultez la section Intégration du SDK.
-
Configurez les paramètres d'ingestion du flux et ingérez le flux. Pour plus d'informations, consultez la section Utilisation des fonctionnalités.
Pour savoir comment gérer les exceptions lors de la configuration et de l'ingestion, consultez la section Gérer les erreurs, les exceptions et les cas particuliers.
Push SDK for Android
Intégrez le Push SDK for Android. Pour plus d'informations, consultez la section Intégration du SDK.
-
Configurez les paramètres d'ingestion du flux et ingérez le flux. Pour plus d'informations, consultez la section Utilisation des fonctionnalités.
Pour savoir comment gérer les exceptions lors de la configuration et de l'ingestion, consultez la section Gérer les erreurs, les exceptions et les cas particuliers.
Push SDK for Flutter
Intégrez le Push SDK for Flutter. Pour plus d'informations, consultez la section Intégration du SDK.
Configurez les paramètres d'ingestion du flux et ingérez le flux. Pour plus d'informations, consultez la section Utilisation des fonctionnalités.
Push SDK for Web
Intégrez le Push SDK for Web. Pour plus d'informations, consultez la section Démarrage rapide du Push SDK for Web.
FAQ
Que faire si l'ingestion du flux OBS est correctement configurée mais que la lecture ne diffuse aucune vidéo ?
Vérifiez que le nom de domaine d'ingestion, le nom de l'application (
appName) et le nom du flux (streamName) sont correctement configurés dans OBS.Accédez à la page Stream management dans la console pour vérifier si le flux est disponible sous l'onglet Active Stream.
Si le flux n'est pas disponible, résolvez les problèmes liés à l'état d'ingestion local d'OBS et à la connectivité réseau. Assurez-vous que l'ingestion a réussi avant de tester la lecture.
La lecture du flux en direct présente des saccades vidéo mais un son normal sur les appareils iOS. Que dois-je faire ?
Ce problème est généralement causé par une incompatibilité entre les paramètres d'encodage vidéo et les capacités de décodage des appareils iOS. Ajustez la configuration d'ingestion du flux, telle que le codec vidéo, le débit binaire et le GOP, afin de garantir la compatibilité avec iOS.
Puis-je diffuser directement depuis Douyin vers ApsaraVideo Live ?
Douyin ne prend pas en charge l'ingestion directe de flux vers ApsaraVideo Live. Pour envoyer du contenu de flux en direct vers ApsaraVideo Live, utilisez un client d'ingestion indépendant tel qu'OBS ou un outil d'ingestion personnalisé. Poussez le flux en direct vers l'URL d'ingestion générée par ApsaraVideo Live en utilisant un protocole pris en charge tel que RTMP, ARTC ou SRT.
Comment diffuser depuis une caméra RTSP vers ApsaraVideo Live ?
Les caméras RTSP diffusent généralement des flux RTSP. ApsaraVideo Live prend uniquement en charge les protocoles d'ingestion RTMP, ARTC et SRT et n'accepte pas directement les flux RTSP. Pour ingérer un flux depuis une caméra RTSP vers ApsaraVideo Live, utilisez l'une des méthodes suivantes :
Contactez le fabricant de l'appareil pour vérifier si le logiciel de gestion ou la passerelle prend en charge la conversion des flux RTSP vers le protocole RTMP ou SRT.
Utilisez un outil d'ingestion tiers qui prend en charge la conversion de protocole pour relayer le flux RTSP vers ApsaraVideo Live via RTMP ou SRT.
Quand les paramètres d'encodage modifiés sur le client d'ingestion prennent-ils effet ? Comment ajuster la qualité du flux ?
Après avoir modifié les paramètres d'encodage tels que le GOP sur le client d'ingestion, arrêtez l'ingestion du flux actuel et redémarrez-la. Les nouveaux paramètres ne prennent effet qu'après le redémarrage de l'ingestion du flux ; ainsi, une modification apportée pendant l'ingestion d'un flux en direct n'est pas appliquée immédiatement.
Ajustez la qualité du flux selon la méthode correspondant à votre mode d'ingestion :
Si vous utilisez la démo du Push SDK ou une application packagée, ajustez directement la résolution sur l'interface d'ingestion.
Si vous intégrez le Push SDK dans votre propre application, définissez
setQualityModesurresolution_firstdans votre code pour prioriser une résolution élevée, augmentez la résolution et le débit binaire cible, et activez le débit binaire adaptatif.
Après la fermeture du navigateur, le canal en direct reste-t-il en ligne lorsque j'utilise Web Real-Time Communication (WebRTC) ou l'ingestion de flux basée sur un navigateur ? En quoi l'ingestion de flux basée sur un navigateur diffère-t-elle de l'ingestion OBS ?
Web Real-Time Communication (WebRTC) et l'ingestion de flux basée sur un navigateur dépendent d'une connexion en temps réel entre le navigateur et le service de streaming en direct. Après la fermeture du navigateur, l'ingestion du flux s'arrête immédiatement et le canal en direct dans ApsaraVideo Live ne reste pas en ligne. Pour maintenir le canal en direct en ligne, utilisez un outil d'ingestion autonome tel qu'OBS.
Par rapport à l'ingestion de flux basée sur un navigateur, l'ingestion OBS présente les avantages suivants :
Elle prend en charge l'encodage matériel tel que NVENC, QSV et VideoToolbox, ce qui améliore l'efficacité de l'encodage.
Elle offre un contrôle précis des images clés et des débits binaires, ce qui réduit la latence et stabilise l'ingestion du flux.
Elle prend en charge le protocole SRT, qui résiste à la perte de paquets et permet une politique de reconnexion personnalisée.
Elle planifie les ressources plus efficacement et évite les saccades causées par le garbage collection du navigateur.
Étapes suivantes
Une fois l'ingestion du flux en direct démarrée, vous pouvez commencer la lecture du flux en direct. Pour plus d'informations, consultez la section Lecture de flux en direct.
Pour gérer vos flux ingérés, reportez-vous à la section Gérer les flux.