Maison >interface Web >js tutoriel >WebRTC SFU : le guide complet.
SFU est une architecture basée sur un serveur qui est utilisée dans Webrtc pour effectuer des appels vidéo multipartites, des appels audio et des transferts de données.
La SFU agit comme intermédiaire entre les appareils qui reçoit les flux multimédias de plusieurs appareils, puis décide quels flux doivent être envoyés à quels appareils.
WebRTC est un projet open source, grâce auquel vous pouvez activer le transfert audio, vidéo et de données en temps réel entre appareils
WebRTC fonctionne dans les navigateurs Web ainsi que dans les applications, WebRTC est pris en charge par presque tous les navigateurs modernes et est une norme pour la communication vidéo et audio
voici un guide étape par étape sur le fonctionnement d'un SFU
Chaque participant établit d'abord une connexion avec la SFU. Ce processus implique un serveur de signalisation où les descriptions de session sont échangées.
la description de la session contient des informations importantes, qui sont utilisées pour établir une session.
2. Capture de flux multimédia
Côté client, les flux multimédias sont capturés à partir des appareils des participants, comme l'audio du microphone, la vidéo de la caméra, etc. À l'étape suivante, ces flux sont envoyés au SFU
Cela se fait en utilisant le protocole RTP ou le protocole SRTP si vous avez besoin d'un cryptage
2. Réception par SFU
Le SFU ou l'unité de transfert sélectif reçoit les flux individuels de chaque appareil connecté et maintient un flux entrant séparé pour chaque appareil.
Dans SFU, par rapport au MCU, tous les flux sont séparés les uns des autres et il n'y a pas de mixage
2. Renvoi sélectif
La SFU reçoit un flux séparé de chaque appareil connecté à la SFU, puis la SFU maintient un flux séparé pour chaque participant
Avant de transmettre le flux aux utilisateurs, la SFU effectue certaines adaptations du flux, telles que le choix de différents codecs vidéo de qualité et la sélection entre différents flux de diffusion simultanée.
Ceux-ci sont basés sur les capacités du processeur et de la bande passante du client de réception
2*. Transfert de flux*
La SFU transmet le flux demandé par chaque client.
Les appareils clients peuvent recevoir plusieurs flux de la SFU ou même un seul flux de données vidéo et audio
Le média est envoyé dans des paquets RTP ou SRTP, et parce que différents appareils clients peuvent avoir des limitations de processeur et de bande passante différentes.
Le SFU optimise le flux des paquets de flux de telle sorte que le flux circule de manière fluide et que la qualité vidéo soit fluide sur les appareils
Décodage : chaque client reçoit un flux RTP du SFU, le client décode ensuite le flux et le restitue à l'écran
Synchronisation : la synchronisation audio et vidéo est importante et elle est gérée au niveau du client. Le client utilise les horodatages et les numéros de séquence du flux RTP pour synchroniser la lecture vidéo et audio en douceur
Dans cette section, examinons les distinctions entre SFU qui est une unité de transfert sélectif, Peer to Peer ou P2p et MCU qui est une unité de contrôle multipoint
transfert sélectif : le SFU reçoit plusieurs flux et transfère sélectivement le flux vers les appareils sans modifier le contenu du flux
Basé sur serveur : Le SFU s'appuie sur un serveur mais le serveur est utilisé pour le routage des flux et rien d'autre.
Avantages :
Évolutivité : le SFU est hautement évolutif et réduit la charge sur les appareils clients uniques en gérant le flux envoyé à n'importe quel appareil client
Faible besoin de traitement : parce que le SFU transmet simplement le flux et n'effectue aucun traitement sur le flux, réduisant ainsi la latence et les besoins en traitement du processeur
Flexibilité du flux :
Les appareils clients peuvent recevoir plusieurs flux ou un seul flux ou aucun flux du tout, tout dépend du flux que l'appareil client demande et doit l'afficher à l'écran
Inconvénients :
Bande passante intensive : les SFU sont gourmandes en bande passante côté serveur car chaque flux est reçu par le serveur et la SFU doit disposer du processeur et de la bande passante nécessaires pour gérer tous les flux
Dans l'architecture P2p chaque participant se connecte directement à un autre participant sans avoir besoin d'un serveur intermédiaire
mais souvent un serveur STUN ou un serveur TURN est requis pour la traversée NAT et pour relayer les flux autour de NAT
Si vous recherchez un serveur Turn, vous pouvez envisager le Fournisseur de services de serveur TURN mesuré
Metered est un fournisseur de serveur TURN mondial avec un serveur TURN partout dans le monde, qui se connecte à l'utilisateur le plus proche du serveur TURN pour une latence minimale et de meilleures performances
Inconvénients :
Chaque appareil de participant doit gérer plusieurs flux s'il y a plusieurs appareils dans une réunion.
Ce qui consomme beaucoup de CPU et de bande passante sur tous les appareils clients. Pour cela vous pouvez envisager le Metered SFU
Le MCU mélange tous les flux entrants et crée un seul flux ou quelques flux parmi plusieurs flux, puis l'envoie à tous les clients
Le MCU nécessite beaucoup de calculs et de ressources CPU sur le serveur, il crée également de la latence lors de la transmission des flux mais il a un avantage, il peut réduire considérablement les besoins en calcul et en bande passante sur les appareils clients
Alors que dans le passé, les appareils mobiles étaient assez lents et que l'infrastructure réseau était également mauvaise, à cette époque, le MCU avait beaucoup de sens
Mais de nos jours, avec les progrès technologiques, cela offre peut-être une mauvaise expérience avec une latence accrue et une diffusion vidéo lente.
Voici quelques-uns des avantages de SFU dans WebRTC
L'avantage le plus important de SFU dans WebRTC est l'évolutivité. Vous pouvez également mettre à l'échelle les appels vidéo P2P, mais il est difficile de créer un maillage et de le mettre à l'échelle
Lorsque vous effectuez un appel vidéo avec plusieurs appareils clients au format peer 2 peer, chaque client doit envoyer son flux à tous les autres clients et vice versa.
En raison de cela, les besoins en bande passante et en CPU sont exponentiellement plus grands pour chaque client
Certains clients qui n'ont pas de capacité de bande passante très élevée et de calcul CPU ont du mal avec les appels vidéo
La SFU peut prendre des décisions intelligentes concernant les flux à envoyer à quels clients, économisant ainsi la qualité de la vidéo
Le SFU peut adapter le flux en fonction de la bande passante et de la capacité CPU des appareils récepteurs.
Si l'appareil client a une bande passante inférieure, le SFU peut envoyer des flux de faible qualité à cet appareil particulier afin que la vidéo se déroule correctement sans mise en mémoire tampon
La SFU gère la majorité des traitements de données nécessaires à la gestion des flux, les appareils clients eux-mêmes sont libérés de tout le gros du travail
Ceci est utile pour les appareils mobiles et les appareils dotés d'une faible puissance de traitement, c'est-à-dire la puissance du processeur
Les appareils clients n'ont pas besoin d'encoder et de décoder les multiples flux qui arrivent au SFU pour traitement, mais le SFU le fait pour eux
Ainsi, ces appareils consomment moins de batterie et nécessitent moins de temps CPU
La réduction du traitement du processeur conduit à une interface plus fluide, des appareils plus froids et une meilleure expérience utilisateur globale
SFU offre une plus grande flexibilité dans la façon dont vous souhaitez gérer les flux multimédias et comment vous souhaitez que la vidéo soit affichée sur les appareils clients des participants
Le client ou les participants à la réunion peuvent choisir les flux qu'ils souhaitent télécharger et également comment ils souhaitent afficher le flux sur leurs écrans
Ils ont également la possibilité de télécharger différentes qualités de flux ou de le rendre automatique de sorte que le SFU choisisse le meilleur flux en fonction de la capacité de bande passante de l'appareil client et de la capacité du processeur
SFU ou Selective Forwarding Unit prend en charge une variété de fonctionnalités avancées telles que
diffusion simultanée (possibilité d'envoyer plusieurs qualités d'un seul flux vidéo), codec vidéo évolutif et bien d'autres
Tous les flux passant par la SFU sont cryptés de bout en bout, ce qui signifie que personne, pas même la SFU, ne sait quels flux y transitent
Les protocoles de cryptage tels que DTLS et SRTP sont utilisés pour le cryptage de bout en bout
La SFU peut enregistrer les interactions mais ne peut pas non plus intercepter les flux à des fins de conformité.
API : Gestion du serveur TURN avec une API puissante. Vous pouvez faire des choses comme ajouter/supprimer des informations d'identification via l'API, récupérer par utilisateur/informations d'identification et métriques utilisateur via l'API, activer/désactiver les informations d'identification via l'API, récupérer les données d'utilisation par date via l'API.
Ciblage de géolocalisation globale : Dirige automatiquement le trafic vers les serveurs les plus proches, pour une latence la plus faible possible et des performances de la plus haute qualité. moins de 50 ms de latence partout dans le monde
Serveurs dans toutes les régions du monde : Toronto, Miami, San Francisco, Amsterdam, Londres, Francfort, Bangalore, Singapour, Sydney, Séoul, Dallas, New York
Faible latence : moins de 50 ms de latence, partout dans le monde.
Rentable : tarification à l'utilisation avec réductions sur la bande passante et le volume disponibles.
Administration facile : Obtenez des journaux d'utilisation, des e-mails lorsque les comptes atteignent les limites de seuil, des enregistrements de facturation et une assistance par e-mail et par téléphone.
Conforme aux normes : Conforme aux RFC 5389, 5769, 5780, 5766, 6062, 6156, 5245, 5768, 6336, 6544, 5928 sur UDP, TCP, TLS et DTLS.
Multi‑Tenancy : Créez plusieurs informations d'identification et séparez l'utilisation par client ou par différentes applications. Obtenez des journaux d'utilisation, des enregistrements de facturation et des alertes de seuil.
Fiabilité d'entreprise : Disponibilité de 99,999 % avec SLA.
Échelle d'entreprise : Sans limite de trafic simultané ou de trafic total. Les serveurs TURN mesurés offrent une évolutivité d'entreprise
5 Go/mois gratuits : Obtenez 5 Go chaque mois d'utilisation gratuite du serveur TURN avec le forfait gratuit
Fonctionne sur les ports 80 et 443
Prend en charge TURNS + SSL pour autoriser les connexions via des pare-feu d'inspection approfondie des paquets.
Prend en charge TCP et UDP
STUN gratuit et illimité
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!