Le Push SDK d'Alibaba Cloud est un kit de développement logiciel (SDK) destiné à l'ingestion de flux depuis des clients. Ce SDK s'appuie sur le puissant réseau de diffusion de contenu (CDN) d'Alibaba Cloud et sur ses technologies de communication audio et vidéo en temps réel. Il propose des API faciles à utiliser, une expérience fluide adaptée aux variations du réseau, une optimisation de la latence sur plusieurs nœuds ainsi que des fonctionnalités avancées de retouche en temps réel pour les diffusions en direct audio et vidéo. Cette rubrique présente le Push SDK, ses fonctionnalités, ses principaux avantages, ses cas d'utilisation et son flux de travail.
Présentation du produit
Le Push SDK d'Alibaba Cloud est un outil de développement permettant l'ingestion de flux depuis des clients. Il repose sur le puissant CDN d'Alibaba Cloud et sur ses technologies de communication audio et vidéo en temps réel. Le SDK offre des API simples d'utilisation, une expérience de lecture fluide et adaptative au réseau, une optimisation de la latence via plusieurs nœuds, des fonctionnalités puissantes de retouche en temps réel, ainsi que d'autres services dédiés à la diffusion en direct audio et vidéo. Le Push SDK est gratuit. Il réduit la complexité de la conception architecturale et les coûts de maintenance, vous permettant ainsi de vous concentrer sur votre logique métier et l'expérience utilisateur. Pour plus d'informations, consultez la page du Push SDK.
Le Push SDK d'Alibaba Cloud intègre les effets de retouche intelligente de Queen. Il fournit des fonctionnalités de retouche avancées utilisant la reconnaissance faciale, telles que l'affinement du visage, le redimensionnement du visage, l'agrandissement des yeux et le blanchiment de la peau.
Pour intégrer la fonctionnalité de retouche intelligente de Queen, vous devez demander une licence. Pour plus d'informations sur le produit et la procédure de demande, consultez la rubrique Retouche intelligente.
Cas d'utilisation
Cas d'utilisation 1 : Diffusion en direct dans le secteur de l'éducation
Description du scénario : La diffusion en direct éducative met l'accent sur l'interaction entre les enseignants et les élèves. Dans une classe en direct, vous pouvez utiliser les Messages interactifs d'Alibaba Cloud pour permettre des interactions textuelles en temps réel. Le Push SDK permet aux enseignants de répondre rapidement et efficacement aux questions des élèves. Le SDK propose également des fonctionnalités d'enregistrement et de transcodage dans le cloud. Les élèves peuvent ainsi revoir les enregistrements vidéo des cours à tout moment pour réviser le contenu et améliorer leur apprentissage.
Instructions d'utilisation : Activez ApsaraVideo Live et activez les fonctionnalités d'enregistrement et de transcodage. Intégrez le Push SDK et le SDK Messages interactifs pour mettre en place des classes en direct ou des services de questions-réponses. Utilisez le SDK ApsaraVideo Player sur le client de lecture pour regarder les diffusions en direct ou revoir les cours vidéo dans un contexte éducatif à faible latence et hautement interactif.
Cas d'utilisation 2 : Diffusion en direct de divertissement
Description : La diffusion en direct de divertissement est devenue populaire grâce à l'utilisation généralisée des téléphones mobiles. Les effets de retouche et les filtres sont essentiels pour les streamers. Ces derniers interagissent avec leur audience via le chat en temps réel, les likes et les cadeaux virtuels afin d'accroître leur popularité et l'engagement. Toutefois, la barrière à l'entrée pour la diffusion en direct de divertissement sur mobile est faible. Le contenu doit être strictement modéré pour des raisons de sécurité, notamment pour lutter contre la pornographie et le terrorisme. Vous pouvez utiliser la fonctionnalité de détection de contenu pornographique pour la diffusion en direct afin de réduire les coûts de modération.
Instructions d'utilisation : Activez ApsaraVideo Live et activez les fonctionnalités d'enregistrement et de détection de contenu pornographique. Intégrez le Push SDK et activez la fonctionnalité de retouche pour l'ingestion de flux. Intégrez les Messages interactifs dans vos scénarios de chat interactif. Cela permet aux utilisateurs d'envoyer des informations, telles que du texte et des images, dans le panneau de discussion pendant une diffusion en direct. Vous pouvez également utiliser cette fonctionnalité pour créer un système de cadeaux personnalisé en combinant la messagerie instantanée (IM) avec un service de paiement. Sur le client de lecture, utilisez le SDK ApsaraVideo Player pour regarder les diffusions en direct ou les rediffusions.
Cas d'utilisation 3 : Diffusion en direct de jeux vidéo
Description du scénario : La diffusion en direct de jeux mobiles est réalisée à l'aide de la technologie d'enregistrement d'écran, qui fusionne l'image du jeu avec le flux de la caméra. Le Push SDK est ensuite utilisé pour ingérer le flux fusionné, ce qui nécessite que le SDK prenne en charge la fonctionnalité d'enregistrement d'écran. L'interaction entre les streamers et les spectateurs est similaire à celle de la diffusion en direct de divertissement. Vous pouvez utiliser le SDK Messages interactifs d'Alibaba Cloud pour implémenter des fonctionnalités interactives telles que le chat, les likes et les cadeaux. Pour revoir les moments forts du jeu, vous pouvez utiliser le service d'enregistrement de flux en direct.
Instructions d'utilisation : Activez ApsaraVideo Live et activez le service d'enregistrement de flux en direct. Intégrez le Push SDK et utilisez sa fonctionnalité d'enregistrement de flux en direct. Intégrez les Messages interactifs dans vos scénarios de chat interactif. Cela permet aux utilisateurs d'envoyer des informations, telles que du texte et des images, dans le panneau de discussion pendant les diffusions en direct. Vous pouvez également utiliser cette fonctionnalité pour créer un système de cadeaux personnalisé en combinant la messagerie instantanée (IM) avec un service de paiement. Intégrez le SDK ApsaraVideo Player pour permettre une lecture instantanée et une synchronisation dynamique des images lors du visionnage des diffusions en direct ou des rediffusions des moments forts.
Les flux interactifs peuvent utiliser la solution ARTC + bypass push. Pour plus d'informations, consultez la rubrique Présentation de la co-diffusion.
Principaux avantages
-
Intégration simple et facile
Le SDK propose des API et des codes d'erreur unifiés pour Android et iOS. Il offre également des API synchrones et asynchrones pour répondre aux besoins d'intégration de différentes architectures de développement. Une documentation complète des API et des démos sont disponibles pour référence.
-
Solution tout-en-un
Le SDK fournit une solution complète de diffusion vidéo en direct couvrant la capture vidéo, le rendu, l'ingestion de flux, le transcodage, la distribution et la lecture. L'ingestion de flux à débit adaptatif sur le client, le transcodage Narrowband HD dans le cloud et la lecture instantanée sur le client du spectateur fonctionnent ensemble de manière transparente pour offrir un service de haute qualité de bout en bout.
-
Hautes performances et faible latence
Le SDK offre des performances leaders sur le marché, avec un faible taux de saccades lors de l'ingestion, une faible consommation de CPU et de mémoire, une faible consommation d'énergie et une génération minimale de chaleur. Plus de 2 500 nœuds de diffusion en direct à travers le monde garantissent une faible latence dans toutes les régions.
-
Ingestion de flux WebRTC
Le SDK propose l'ingestion de flux Web Real-Time Communication (WebRTC) basée sur le protocole UDP. La console prend en charge l'activation autonome des domaines d'ingestion WebRTC. L'ingestion de flux WebRTC offre une meilleure résistance aux saccades lorsque la qualité du réseau amont est médiocre.
Concepts de base
Contrôle du débit binaire : Algorithme d'encodage optimisé utilisé pour contrôler le débit binaire d'un flux vidéo. Pour un même format d'encodage vidéo, un débit binaire plus élevé contient plus d'informations et produit une image plus nette, et inversement.
Saut d'images : Lors de l'envoi d'images vidéo, si la qualité du réseau est mauvaise et provoque un encombrement sévère des images, vous pouvez supprimer des images pour réduire la latence d'ingestion.
Retour audio (monitoring in-ear) : Permet à un streamer d'entendre sa propre voix en temps réel via un casque. Par exemple, lorsqu'un streamer chante avec un casque, il doit contrôler sa justesse. Dans ce cas, il doit activer le retour audio, car le son transmis par le réseau jusqu'à ses oreilles est très différent du son transmis par l'air. Le streamer a besoin d'entendre l'audio tel que le spectateur l'entend.
Mixage audio : Combine les sons provenant de plusieurs sources en une seule piste audio stéréo ou mono. Le Push SDK prend en charge le mixage de la musique et de la voix humaine.
Fonctionnalités
Fonctionnalité | Description |
Ingestion de flux RTMP | Prend en charge l'ingestion de flux via le protocole Real-Time Messaging Protocol (RTMP). Prend en charge l'extraction de flux via RTMP, FLV, HLS et ARTC. Prend en charge des résolutions allant de 180p à 720p. Nous vous recommandons d'utiliser la résolution 540p. Remarque Le Push SDK d'Alibaba Cloud ne prend pas en charge l'ingestion de flux via le protocole Real Time Streaming Protocol (RTSP). Pour implémenter l'ingestion de flux RTSP, utilisez un outil tiers, tel que FFmpeg, pour convertir le flux RTSP vers le protocole RTMP. |
Ingestion de flux WebRTC | Prend en charge l'ingestion de flux via le protocole ARTC basé sur UDP. |
Diffusion en direct avec enregistrement d'écran | iOS prend en charge l'enregistrement d'écran pour la diffusion en direct à l'aide de ReplayKit. Android prend en charge le mixage de flux entre la caméra et l'enregistrement d'écran pour la diffusion en direct. Prend en charge Narrowband HD, qui offre une meilleure qualité d'image à débit binaire équivalent. |
Insertion d'informations SEI | Prend en charge l'insertion de messages SEI dans les flux en direct. Vous pouvez analyser les messages SEI sur le lecteur pour implémenter diverses fonctionnalités métier. |
Filigranes animés | Prend en charge l'ajout ou la suppression de filigranes avec des effets d'animation en temps réel pendant une diffusion en direct. |
Ingestion de flux audio et vidéo externes | Prend en charge l'ingestion de flux de données audio et vidéo externes pour la diffusion en direct. |
Ingestion d'image d'arrière-plan | Prend en charge l'ingestion d'une image spécifiée lorsque l'application passe en arrière-plan. Prend également en charge le remplacement du flux vidéo par une image lorsque la connexion réseau est médiocre. |
Encodage audio et vidéo | Prend en charge l'encodage vidéo H.264 (logiciel et matériel) et l'encodage audio AAC (logiciel et matériel). |
Retouche en temps réel | Prend en charge la retouche avancée basée sur la reconnaissance faciale, y compris le lissage de la peau, le blanchiment de la peau, l'affinement du visage, le redimensionnement du visage et l'agrandissement des yeux. |
Débit binaire adaptatif | Prend en charge l'ajustement automatique du débit binaire d'ingestion en fonction des conditions du réseau. Prend en charge plusieurs modes pour rendre la diffusion en direct plus fluide. |
Résolution adaptative | Prend en charge l'ajustement automatique de la résolution d'ingestion en fonction des conditions du réseau. Cette fonctionnalité est disponible uniquement en modes définition standard et basse définition. |
Ingestion de flux en arrière-plan | Prend en charge l'ingestion continue de flux après le passage de l'application en arrière-plan. L'ingestion de flux se poursuit lorsque l'application revient au premier plan. |
Ingestion de flux stéréo | Prend en charge l'ingestion de flux stéréo. Vous pouvez configurer l'ingestion de flux en mono ou en stéréo. |
Plusieurs filigranes | Prend en charge l'ajout de plusieurs filigranes (jusqu'à trois). Vous pouvez définir la position et la taille des filigranes. |
Ingestion de flux en mode paysage | Prend en charge le démarrage de l'ingestion de flux dans trois orientations : portrait, paysage gauche et paysage droit. |
Paramètres de collecte | Prend en charge la configuration de plusieurs paramètres de collecte, tels que la résolution, la fréquence d'images, la fréquence d'échantillonnage audio, le GOP et le débit binaire, pour répondre aux besoins de différents scénarios. |
Ingestion de flux en miroir | Prend en charge des paramètres distincts pour l'effet miroir de l'aperçu de la caméra et du flux ingéré. La fonctionnalité miroir doit être activée par défaut pour la caméra frontale. |
Ingestion de flux audio uniquement | Prend en charge la collecte et l'ingestion du flux audio uniquement. Cela permet d'économiser de la bande passante et du trafic dans les scénarios audio uniquement. |
Ingestion de flux muet | Prend en charge la mise en sourdine du microphone pendant l'ingestion de flux pour pousser uniquement la vidéo. |
Mise au point automatique | Prend en charge l'activation ou la désactivation de la mise au point automatique. Vous pouvez également utiliser la mise au point manuelle. |
Zoom de la caméra | Prend en charge le zoom de l'aperçu de la caméra jusqu'au rapport de zoom maximal pris en charge par la caméra. |
Changement de caméra et flash | Prend en charge le basculement entre les caméras avant et arrière ainsi que l'activation ou la désactivation du flash (caméra arrière uniquement). |
Musique d'arrière-plan | Prend en charge la lecture de musique d'arrière-plan, y compris les fonctions de démarrage, d'arrêt, de pause, de reprise et de lecture en boucle. |
Mixage audio | Prend en charge le mixage de la musique et de la voix humaine. Vous pouvez ajuster séparément le volume de la musique et de la voix. |
Retour audio (monitoring in-ear) | Prend en charge le retour audio. Par exemple, lorsqu'un streamer chante avec un casque, il peut entendre sa propre voix en temps réel. Cette fonctionnalité est adaptée aux scénarios de karaoké. |
Réduction du bruit | Prend en charge la réduction du bruit causé par les sons ambiants et les interférences du téléphone mobile. |
Flux de travail du SDK
Flux de travail du Push SDK de base
L'application cliente demande une URL d'ingestion au serveur d'application.
Le serveur d'application construit l'URL d'ingestion selon des règles prédéfinies et la renvoie à l'application.
L'application transmet l'URL d'ingestion au Push SDK et utilise le SDK pour démarrer l'ingestion du flux.
Le Push SDK pousse le flux en direct vers le CDN.
Support au développement
Si vous avez des questions ou des suggestions lors de l'utilisation du Push SDK, vous pouvez trouver une assistance technique dans la rubrique Dépannage autonome des problèmes liés au Push SDK.