FAQ audio et vidéo (2) Retard élevé dans la diffusion vidéo en direct

Résumé

La latence élevée est l'un des problèmes courants de la technologie interactive en temps réel. Pour résoudre le problème de latence élevée, il est nécessaire de prendre en compte de manière globale plusieurs facteurs tels que le réseau, l'équipement et les algorithmes d'encodage et de décodage. Les solutions incluent l'optimisation de la latence côté appareil, l'optimisation de la latence de transmission réseau et l'utilisation d'UDP pour la transmission audio et vidéo, etc. Lors du choix d'un protocole de transmission audio et vidéo, il est nécessaire de prendre en compte de manière exhaustive les besoins réels et les conditions du réseau, et de choisir le protocole le plus approprié.
Cet article présente les raisons et les solutions d'une latence élevée, dans l'espoir d'aider les développeurs audio et vidéo.

avant-propos

Pour les développeurs audio et vidéo, il est indispensable de maîtriser les compétences techniques et les méthodes de dépannage. Les méthodes techniques de dépannage peuvent également aider les développeurs à mieux comprendre les principes et les mécanismes de fonctionnement de la technologie audio et vidéo, afin de mieux comprendre l'audio et la vidéo. profondément.Divers problèmes rencontrés dans le développement.

C'est-à-dire que sur la base de l'accumulation de technologies dans le domaine de l'interaction en temps réel et de la garantie du service client depuis de nombreuses années, nous lancerons une série d'articles « FAQ sur la technologie audio et vidéo » pour partager des problèmes et des expériences communs dans le domaine. de la technologie audio et vidéo, tout en joignant des connaissances commerciales générales pour des problèmes spécifiques ainsi que des solutions communes et des expériences de cas, j'espère que cette série pourra devenir un livret audio et vidéo général à votre portée, aidant les développeurs à localiser rapidement les problèmes et à trouver solutions adaptées.

Cette série sera mise à jour de temps en temps et les questions fréquemment posées suivantes ont été triées :

  1. Vidéo bloquée
  2. latence élevée
  3. Audio et image désynchronisés
  4. Écran vidéo flou, écran vert
  5. écran noir vidéo
  6. Zoom sur la vidéo ou barres noires
  7. ouvrez d'abord lentement
  8. Contrôle des flux audio et vidéo
  9. vidéo floue
  10. Impossible d'ouvrir la caméra
  11. écho audio
  12. le volume est trop faible
  13. bruit audio
  14. silencieux
  15. Changement de volume du microphone

Cet article est le deuxième article de la série ** « FAQ sur les technologies audio et vidéo ». Dans cet article, nous examinerons de plus près comment gérer et dépanner la « latence élevée »**, l'un des problèmes les plus courants dans la technologie interactive en temps réel.

Nous présenterons d'abord ce qu'est une « latence élevée », puis énumérerons les causes possibles du problème, et enfin fournirons quelques solutions et suggestions, et présenterons également quelques exemples de SDK audio et vidéo tiers, c'est-à-dire audio et vidéo en temps réel. RTC, nous pensons que ces informations seront très utiles aux développeurs qui recherchent une solution de contournement.

Premièrement, la définition d'un retard élevé

Les appels vidéo et les diffusions en direct sont deux scénarios d'application différents, et il existe des différences évidentes en termes de tolérance aux retards, principalement parce que leurs scénarios d'application et les attentes des utilisateurs sont différents. Les appels vidéo recherchent la fluidité de l'interaction en temps réel, tandis que les diffusions en direct accordent davantage d'attention à la continuité et à la large distribution du contenu.

Appel vidéo (communication en temps réel) : les appels vidéo recherchent la fluidité de l'interaction en temps réel et le délai maximum tolérable : on pense généralement qu'un délai compris entre 150 millisecondes et 300 millisecondes est acceptable, car dans cette plage, les humains le font généralement. Je n'ai évidemment pas l'impression d'appeler en retard. Dans des scénarios tels que les réunions d'affaires, la télémédecine ou l'enseignement à distance, une latence élevée peut sérieusement affecter les performances et l'expérience utilisateur.

Diffusion en direct : Délai maximum tolérable : les exigences de délai pour la diffusion en direct varient en fonction des scénarios et des exigences d'application spécifiques. Les téléspectateurs sont plus attentifs à la continuité et à la clarté du contenu lorsqu'ils regardent une émission en direct. D'une manière générale, un délai compris entre 3 et 30 secondes peut être considéré comme acceptable. Par rapport à la communication en temps réel, la diffusion en direct est plus tolérante aux retards. Mais ce problème n’est pas résolu et certains scénarios nécessitant des exigences en temps réel plus élevées peuvent nécessiter une latence plus faible. Par exemple, les émissions en direct, les diffusions en direct d'e-sports et d'autres scènes nécessitant des performances en temps réel plus élevées,

2. Problèmes de latence élevée

Une latence élevée signifie que dans l'interaction en temps réel, en raison de facteurs tels que la transmission réseau et les performances de l'appareil, le retard des données audio et vidéo dans le processus de transmission est trop élevé, ce qui affecte la visualisation et l'expérience de l'utilisateur. Dans le développement audio et vidéo, la latence élevée fait généralement référence à la latence de l'audio et de la vidéo.
L’impact de scénarios spécifiques :

  • Un retard notable dans la communication, tel que la lecture audio ou vidéo n'est pas synchronisée avec ce qui s'est réellement passé.
  • Dans le jeu, il existe un écart évident entre les actions du joueur et la réaction du jeu.
  • Lors de la diffusion en direct, il y a un décalage horaire évident entre le présentateur et le public.

3. La génération et la raison du retard élevé

L'ensemble du processus de transmission audio et vidéo : collecte audio et vidéo-traitement de l'encodage-transmission réseau-traitement du serveur-traitement du décodage-lecture audio et vidéo.
Le processus de transmission audio et vidéo peut être divisé en trois modules principaux suivants, qui peuvent tous entraîner des retards :
1. Retard côté appareil : y compris le délai d'acquisition, le délai de traitement, le délai d'encodage et le délai de lecture.

  • Délai d'acquisition : le délai généré lors du processus d'acquisition des données sources audio et vidéo à partir de périphériques matériels (tels que des microphones et des caméras) et converties en signaux numériques.
  • Délai de traitement : Le délai généré lors de divers traitements (tels que la réduction du bruit, le contrôle du gain, l'annulation de l'écho, etc.) des données audio et vidéo.
  • Délai du codec : Le délai généré pendant le processus d'encodage (conversion vers un format pouvant être transmis) et de décodage (conversion vers un format pouvant être lu) des données audio et vidéo.
  • Délai de lecture : le délai généré lors de la lecture finale des données audio et vidéo, y compris le délai de rendu vidéo et le délai de lecture audio.
  1. Délai de transmission réseau : le délai généré lors de la transmission des données audio et vidéo de l'expéditeur au récepteur via le réseau, comprenant les parties suivantes :
  • Délai du client au serveur : Le délai d'envoi des données audio et vidéo du client au serveur dépend des conditions du réseau, de la bande passante, de la distance physique, etc.
  • Délai de traitement interne du serveur : le délai généré lors de la réception, du traitement et du transfert des données par le serveur.
  • Délai du serveur au client : Le délai d'envoi des données du serveur au client dépend également des conditions du réseau, de la bande passante, de la distance physique, etc.
  1. Délai entre les serveurs : Dans un environnement multi-serveurs ou Edge Computing, les données audio et vidéo seront également retardées lors de la transmission entre les serveurs.

5. Solutions à latence élevée

Dans l’ensemble du processus de transmission audio et vidéo, résoudre le problème des retards élevés est une tâche globale qui doit être optimisée et améliorée sous tous ses aspects. Ci-dessous, je vais donner quelques suggestions pour résoudre le problème de latence élevée.

Pour résoudre le problème de latence élevée dans l’ensemble du processus de transmission audio et vidéo, il est nécessaire d’optimiser plusieurs aspects tels que l’équipement, la transmission réseau et la configuration de la pile technologique. Pour les scénarios de transmission audio et vidéo avec des exigences élevées en temps réel, il est recommandé d'utiliser le protocole UDP pour la transmission et, lors de la conception et de la sélection d'une pile technologique, de tenir compte de l'adéquation entre le délai attendu et les performances réelles. Les étapes de traitement sont les suivantes :

1. Vérifiez s'il s'agit d'un problème de réseau
2. Optimisez le délai côté appareil
3. Optimisez le délai de transmission réseau 4.
Vérifiez le délai attendu de la pile technologique
5. Utilisez UDP pour la transmission audio et vidéo.

Ci-dessous, nous détaillerons chaque étape une par une et fournirons des exemples pertinents pour aider les lecteurs à mieux comprendre et appliquer ces étapes. Nous examinerons également les scénarios d'application pratiques de ces étapes pour aider les développeurs à mieux comprendre comment appliquer ces étapes à des problèmes réels.

6. Vérifiez s'il s'agit d'un problème de réseau

Lorsqu'il s'agit de problèmes de latence audio et vidéo, la première étape consiste à déterminer si le problème est lié au réseau. La qualité du réseau, la distance physique et la congestion du réseau peuvent tous entraîner des retards importants. Divers outils de test de réseau tels que Ping, Traceroute, iPerf et Wireshark peuvent être utilisés pour tester le délai du réseau et le taux de perte de paquets afin de déterminer s'il existe un problème de réseau.

Les raisons liées au réseau sont l'une des principales raisons d'une latence élevée. Les solutions incluent les aspects suivants :

  • Qualité du réseau : En cas de mauvaises conditions de réseau, certaines technologies peuvent être utilisées pour améliorer la qualité du réseau, comme l'utilisation de la QoS (Qualité de Service) et l'amélioration de la stabilité des connexions réseau.
  • Distanciation physique : choisissez un serveur le plus proche possible de l'utilisateur, réduisez le délai causé par la distance physique et améliorez la stabilité de la connexion réseau.
  • Congestion du réseau : En cas de congestion du réseau, vous pouvez utiliser des algorithmes de contrôle de la congestion, tels que le contrôle de la congestion dans TCP, ou utiliser des technologies telles que CDN pour disperser le trafic réseau.
    Dans le même temps, surveillez l'utilisation de la bande passante du réseau pour garantir une bande passante suffisante et éviter la congestion du réseau entraînant une augmentation des délais.

7. Vérifier le retard attendu de la pile technologique

Si nous déterminons que le réseau est en bon état, l'étape suivante consiste à vérifier le retard dans le processus de transmission audio et vidéo que vous utilisez réellement, qui est théoriquement lié à la technologie que vous utilisez (comme les schémas de codecs audio et vidéo spécifiques, protocoles de transmission réseau, configurations de serveur, etc.) Si le délai attendu correspond à ce qui précède.

Pour vérifier si le délai de transmission audio et vidéo correspond aux attentes techniques, plusieurs étapes sont à suivre :

  1. Obtenez la latence attendue de la pile technologique : en lisant les documents techniques, livres blancs ou rapports de recherche pertinents, obtenez la latence attendue du schéma de codecs, du protocole de transmission réseau et des autres technologies que vous utilisez. Il s'agit généralement d'une plage et non d'une valeur exacte, car le délai réel sera affecté par de nombreux facteurs (tels que les conditions du réseau, les performances de l'appareil, etc.).
  2. Mesurez le retard réel : Utilisez des outils d'analyse audio et vidéo professionnels, tels que Wireshark, FFmpeg, OBS, etc. pour obtenir le retard réel de la transmission audio et vidéo. Ces outils peuvent fournir des informations détaillées sur les flux audio et vidéo, telles que les horodatages des paquets de données, les heures d'envoi et de réception, etc., qui peuvent être utilisées pour calculer le délai réel de transmission audio et vidéo.
  3. Comparer et analyser : comparez les latences réelles mesurées avec les latences techniquement attendues. Si la latence réelle est nettement supérieure à la latence attendue, il peut y avoir un problème. Analysez les raisons possibles. Il se peut que l'état du réseau ne soit pas bon, ce qui entraîne la perte ou le retard des paquets de données ; il se peut également que le réglage du codec soit incorrect, par exemple le niveau de codage est trop élevé, ce qui dépasse le capacité de traitement de l'appareil ; ou problème de configuration du serveur, tel que la bande passante réseau du serveur est insuffisante pour répondre aux exigences de transmission des données audio et vidéo.
  4. Ajustement et optimisation : Ajuster et optimiser les problèmes possibles en fonction des résultats de l'analyse. S'il s'agit d'un problème de réseau, vous pouvez envisager d'optimiser l'environnement réseau ou d'utiliser un périphérique réseau plus puissant ; s'il s'agit d'un problème de codec, vous pouvez ajuster les paramètres du codec, réduire le niveau d'encodage ou passer à une solution de codec plus efficace. ; s'il s'agit d'un problème de serveur, vous pouvez augmenter la bande passante réseau du serveur, ou optimiser la configuration du serveur.

Les étapes 1 et 2 ci-dessus sont relativement simples et seuls les documents techniques et outils de mesure pertinents sont nécessaires, je ne les répéterai donc pas ici. Les étapes 3 et 4 sont les points centraux de cette session, et nous développerons la déclaration.

8. Comparaison et analyse de la latence attendue

Expliquons ce processus avec un exemple concret. Supposons que vous implémentiez un système de communication audio et vidéo en temps réel et que vous choisissiez d'utiliser le codage vidéo H.264 et le codage audio Opus, ainsi que le protocole de transmission réseau RTP/UDP.

En lisant la documentation et les ressources de ces technologies, vous trouverez peut-être des données sur leurs latences attendues dans différentes conditions réseau et matérielles. Par exemple, le codage H.264 peut avoir un délai de codec de 50 millisecondes, le codage Opus peut avoir un délai de codec de 20 millisecondes et la transmission réseau RTP/UDP peut avoir un délai de réseau de 50 millisecondes. Ensuite, vous pouvez vous attendre à ce que dans des conditions réseau et matérielles idéales, le retard total de votre système de communication audio et vidéo soit d'environ 100 millisecondes.

Ensuite, vous pouvez utiliser certains outils et méthodes de test, tels que Ping, iPerf, Wireshark, etc. mentionnés ci-dessus, pour mesurer le retard de votre système en fonctionnement réel. Si votre latence réelle se situe dans la plage de latence attendue de 100 ms, vous pouvez alors supposer que votre système de communication audiovisuelle fonctionne comme prévu pour la pile technologique utilisée. À l'inverse, si votre délai réel est bien supérieur aux 100 millisecondes attendues, vous devrez peut-être analyser et optimiser davantage votre système, par exemple vérifier votre environnement réseau, optimiser les paramètres de votre codec, ajuster vos paramètres de transmission réseau, etc. latence.

Neuf, ajustement et optimisation des délais

La latence attendue de la transmission audio et vidéo dépend en général de la pile technologique choisie, notamment des codecs, des protocoles de transport, de l'architecture du réseau, etc. Différentes piles technologiques affectent la latence à des degrés différents. Par conséquent, lorsque vous traitez des problèmes de latence, il est important de connaître et de vérifier la latence attendue pour la pile technologique que vous utilisez.

  1. Codec : Les performances du codec audio et vidéo affecteront directement le délai du codec. Par exemple, certains codecs complexes, tels que AV1, peuvent fournir une vidéo de haute qualité, mais le processus du codec peut introduire un retard plus important. À l’inverse, certains codecs plus simples tels que H.264 peuvent avoir une latence de codec plus faible. Par conséquent, vérifier la latence attendue du codec peut aider à comprendre si la situation actuelle en matière de latence est celle attendue.
  2. Protocole de transmission : Comme mentionné ci-dessus, TCP et UDP sont deux protocoles de transmission réseau couramment utilisés, et leur impact sur le délai est également différent. TCP assure une transmission de données fiable, mais peut introduire des retards importants car il doit garantir l'arrivée dans l'ordre de tous les paquets de données et la détection des erreurs. UDP ne garantit pas l'arrivée dans l'ordre ou la transmission fiable des paquets de données, il a donc généralement un délai plus faible. Si la pile technologique que vous utilisez inclut TCP, vous devrez peut-être accepter des latences attendues plus élevées qu'UDP.
  3. Architecture réseau : L'architecture réseau de la transmission audio et vidéo, telle que la transmission point à point, le transfert de serveur cloud, etc., affectera également le délai. La transmission point à point offre généralement une latence plus faible, mais peut être affectée par diverses conditions du réseau. Bien que les données transférées via le serveur cloud puissent fournir une transmission plus stable, cela peut augmenter le délai. Vérifier la latence attendue dans cette section peut vous aider à comprendre si vous devez ajuster l'architecture réseau pour optimiser la latence.

10. Optimiser le délai côté appareil

Dans l'ensemble du processus de transmission audio et vidéo, le retard côté appareil se produit principalement au début (collecte, encodage) et aux étapes finales (décodage, lecture) de la transmission audio et vidéo. Le délai côté appareil est généralement affecté par des facteurs tels que les performances de l'appareil, l'efficacité du codec et les performances du lecteur.
Le périphérique est également une raison importante pour une latence élevée. Pour la latence sur le périphérique, les performances matérielles et logicielles peuvent être optimisées. Y compris les aspects suivants :

  • Performances des équipements d'acquisition : optimisez les équipements matériels ou utilisez des équipements plus performants pour réduire le délai d'acquisition.
  • Performances du codec : utilisez des algorithmes de codec plus efficaces ou utilisez l'accélération matérielle pour réduire les retards du codec.
  • Performances de traitement : optimisez les algorithmes de traitement, comme l'utilisation d'algorithmes de réduction du bruit plus efficaces, l'optimisation des algorithmes de contrôle de gain, etc., pour réduire les retards de traitement. Ou utilisez un meilleur matériel pour réduire les délais de traitement.
  • Performances de l'appareil de lecture : utilisez des appareils plus performants ou optimisez les algorithmes et les logiciels de lecture pour réduire les retards de lecture.

En général, le problème de retard côté périphérique est un facteur important affectant l'effet de transmission audio et vidéo et nécessite une enquête et une optimisation minutieuses. En optimisant les périphériques matériels, les codecs, les algorithmes de traitement et les lecteurs, il est possible de réduire efficacement le retard côté périphérique et d'améliorer l'effet de la transmission audio et vidéo.

11. Optimiser le délai de transmission du réseau

Retard de traitement du serveur : côté serveur, le processus de réception, de mise en mémoire tampon, de traitement et de transfert des données audio et vidéo peut entraîner des retards. La stratégie de mise en mémoire tampon, la stratégie de transfert, etc. du serveur affecteront également la vitesse à laquelle le serveur traite les données audio et vidéo, affectant ainsi le délai.
Le délai entre les serveurs présente les aspects suivants : délai client à serveur, délai de traitement interne du serveur, délai serveur à client et délai serveur à serveur.

La méthode d'optimisation est la suivante :

  • Performances du serveur : Pour le problème de délai entre les serveurs, le délai de traitement peut être réduit en améliorant les performances matérielles du serveur, ou en optimisant le logiciel et l'algorithme du serveur.
  • Stratégie du serveur : Pour le problème de retard du traitement interne du serveur, la stratégie du serveur peut être optimisée, y compris la stratégie de tampon, la stratégie d'équilibrage de charge, la stratégie de transfert, etc., pour améliorer l'efficacité du traitement et de la transmission et réduire les retards.
  • Optimisation de l'emplacement physique du serveur : retardez les problèmes d'un client à un serveur ou d'un serveur à un autre, utilisez l'informatique de pointe pour distribuer les tâches informatiques aux serveurs de périphérie plus proches des utilisateurs, ou utilisez des technologies telles que le réseau de distribution de contenu (CDN) pour distribuer les données au plus près. à l'utilisateur que possible pour réduire la distance physique entre les serveurs et réduire la distance de transmission des données dans le réseau, réduisant ainsi les délais.

Dans la transmission audio et vidéo, le délai du serveur peut être amélioré en optimisant les chemins réseau, les performances du serveur, en utilisant les protocoles CDN et UDP, en appliquant l'informatique de pointe, l'équilibrage de la charge du serveur, en utilisant une technologie de codec plus efficace et en améliorant les capacités de traitement simultané du serveur. .

Parmi les stratégies ci-dessus, il est difficile de spécifier une seule stratégie la plus critique, car chaque stratégie joue un rôle important dans des scénarios et des problèmes spécifiques. Le choix de la stratégie la plus critique dépend de la situation et des besoins réels. Cependant, l’utilisation d’UDP pour la transmission audio et vidéo est considérée comme l’une des stratégies les plus efficaces en matière de transmission audio et vidéo.

12. Utilisez UDP pour la transmission audio et vidéo

UDP (User Datagram Protocol) : UDP est un protocole sans connexion. Lors de l'envoi de données, il n'est pas nécessaire d'établir une connexion et peut être envoyé directement. Cette méthode est souvent plus efficace lorsqu'il s'agit de transmission de données en temps réel, telles que des données audio et vidéo.

Les scénarios de transmission audio et vidéo ont généralement des exigences strictes en matière de temps réel et de faible latence, et UDP (User Datagram Protocol) présente des avantages évidents pour répondre à ces exigences, en particulier en cas de faible latence. UDP présente les avantages suivants :

  1. Temps réel : Dans la transmission audio et vidéo, le temps réel est très important, en particulier dans les scénarios de communication en temps réel, tels que la vidéoconférence, la diffusion en direct en temps réel, les jeux en ligne, etc. En tant que protocole de transmission sans connexion, UDP peut envoyer directement des paquets de données sans établissement de liaison ni établissement de connexion avant la transmission, ce qui peut réduire le délai de transmission et garantir l'arrivée en temps opportun des données audio et vidéo, obtenant ainsi de meilleures performances en temps réel.
  2. Faible latence : La transmission audio et vidéo présente des exigences de latence très élevées, en particulier dans les applications hautement interactives. En tant que protocole de transmission orienté connexion, TCP doit établir une connexion, effectuer une confirmation des données et des mécanismes de retransmission avant la transmission des données. Ces opérations supplémentaires augmenteront le délai de transmission. UDP ne nécessite pas ces opérations supplémentaires et peut transmettre les données plus rapidement, réduisant ainsi les délais et garantissant une transmission rapide des données audio et vidéo.
  3. Transmission/efficacité de la bande passante : l'en-tête UDP est relativement petit et il n'y a pas de mécanisme complexe de gestion des connexions et de contrôle de la congestion de TCP, ce qui rend l'UDP plus efficace dans la transmission. Dans la transmission audio et vidéo, il est généralement nécessaire de transmettre efficacement une grande quantité de données, et l'efficacité de la transmission UDP peut mieux répondre à cette demande.
  4. Flexibilité : Le protocole UDP est relativement simple, sans le mécanisme complexe de gestion des connexions de TCP, afin que les développeurs puissent contrôler plus librement le processus de transmission des données audio et vidéo, et l'optimiser et le personnaliser en fonction des besoins réels.
  5. Anti-perte de paquets : Dans la communication en temps réel, l'impact de la perte occasionnelle de quelques paquets sur l'expérience utilisateur est généralement tolérable. UDP est un protocole de transport peu fiable, il ne dispose d'aucun mécanisme de retransmission des données. Une fois qu'un paquet est perdu, UDP ne le renvoie pas, mais le supprime simplement. Car dans une communication en temps réel, une retransmission excessive peut entraîner un retard plus important, et dans des flux audio et vidéo continus, la perte de quelques paquets de données n'aura pas beaucoup d'impact sur l'expérience globale.

Bien que l'UDP présente des avantages en temps réel et une faible latence, il présente également certains inconvénients à noter. UDP est un protocole de transport peu fiable qui entraîne une perte de paquets et un désordre.
Par conséquent, lorsqu'ils utilisent UDP pour la transmission audio et vidéo, les développeurs doivent mettre en œuvre certains mécanismes supplémentaires, tels que la correction des erreurs directes, la stratégie de retransmission, la récupération des pertes de paquets, etc., pour garantir la fiabilité de la transmission et l'intégrité des données.
De plus, la transmission UDP a des exigences élevées en matière de stabilité du réseau. Si l'environnement réseau est médiocre ou s'il y a un grave problème de perte de paquets, la qualité de la transmission audio et vidéo peut être affectée.
Par conséquent, lors du choix d'UDP comme protocole de transmission audio et vidéo, il est nécessaire de prendre en compte de manière exhaustive les besoins réels et les conditions du réseau et de prendre une décision appropriée.

Lors du choix d’un protocole de transmission audio et vidéo, il est nécessaire de prendre en compte de manière exhaustive les besoins réels et les conditions du réseau. Si le temps réel et une faible latence sont les principales considérations et que la fiabilité de la transmission des données peut être assurée au moyen de la couche application, alors l'utilisation d'UDP est un meilleur choix.
Toutefois, si les exigences en matière d’intégrité et de fiabilité des données sont élevées et qu’un délai légèrement accru peut être toléré, alors TCP constitue également un choix réalisable. La décision finale doit être prise en fonction de scénarios et de besoins spécifiques.

Le problème du retard de transmission audio et vidéo est un problème complexe, et il est nécessaire de choisir une stratégie d'optimisation appropriée en fonction de la situation spécifique. Les fabricants audio et vidéo disposent d'un ensemble de solutions matures pour une latence élevée. Si vous utilisez des services SDK audio et vidéo tiers, vous pouvez directement utiliser leurs services d'optimisation. En prenant comme exemple Instant Reality, leur solution à haute latence repose sur l'optimisation en profondeur des processus de traitement audio et vidéo, ainsi que sur la gestion efficace des protocoles de transmission réseau et des ressources du serveur.

13. SDK audio et vidéo tiers - solution « haute latence »

L'utilisation d'un SDK audio et vidéo tiers peut grandement simplifier le processus de développement et réduire la difficulté du développement. Et ces SDK sont généralement testés dans un environnement réel à grande échelle, ce qui peut fournir des performances plus fiables. Instant SDK est un produit bien connu dans l'industrie audio et vidéo, qui peut fournir aux développeurs de l'audio et de la vidéo en temps réel, des messages en temps réel, un tableau blanc interactif et d'autres services. Il contient une technologie de codec audio et vidéo optimisée, un protocole de transmission réseau , contrôle qualité QoS et autres modules.

Site officiel de Zego Technology ( https://www.zego.im/ ))

insérer la description de l'image ici

Lorsque vous rencontrez le problème du retard de transmission audio et vidéo élevé, vous pouvez utiliser le SDK instantané pour le résoudre sous les angles suivants :

  1. Utiliser le module QoS du SDK Jigou : Jigou SDK dispose d'un module QoS (Qualité de service) intégré, qui peut ajuster dynamiquement les paramètres de transmission en fonction des conditions du réseau, notamment le débit binaire, la fréquence d'images, la résolution, etc., pour garantir la fluidité. et qualité de transmission audio et vidéo, faible latence.
  2. Utilisez la fonction d'optimisation de la transmission réseau d'Instant SDK : Instant SDK utilise le protocole UDP optimisé pour la transmission audio et vidéo, y compris la récupération des pertes de paquets, le contrôle de la congestion du réseau et d'autres fonctions, ce qui peut réduire le délai de transmission audio et vidéo tout en garantissant la qualité de la transmission. .
  3. Optimiser le processus d'encodage et de décodage : le SDK intègre des algorithmes d'encodage et de décodage audio et vidéo optimisés, qui peuvent réduire autant que possible le retard d'encodage et de décodage tout en garantissant la qualité de l'audio et de la vidéo.
  4. Utiliser les ressources du serveur instantané : instant fournit des ressources de serveur multi-nœuds globales, qui peuvent assurer la transmission rapide des données audio et vidéo entre les serveurs, réduisant ainsi le délai entre les serveurs.

Toutes les mesures d'optimisation ci-dessus peuvent être contrôlées et configurées via l' interface RTC audio et vidéo en temps réel ( https://www.zego.im/product/realtime-video )
, et vous pouvez choisir de manière flexible en fonction de vos scénarios d'application et de vos besoins. quelles fonctionnalités et stratégies utiliser.

Grâce aux différentes mesures d'optimisation mentionnées ci-dessus, le SDK audio et vidéo Gouwai peut réaliser une transmission audio et vidéo à faible latence dans la plupart des cas. Bien entendu, si vous rencontrez des problèmes particuliers lors de l’utilisation, ils fournissent généralement une assistance technique professionnelle pour vous aider à les résoudre. De manière générale, en utilisant Zego SDK ( https://www.zego.im ) , vous pouvez vous concentrer davantage sur votre logique métier et confier l'optimisation de la transmission audio et vidéo à un SDK professionnel.

Ce qui précède fournit des fabricants audio et vidéo ainsi que des solutions générales, qui peuvent devoir être ajustées en fonction de conditions spécifiques lors d'une mise en œuvre spécifique. Pour les étapes ci-dessus, nous les expliquerons une par une ci-dessous.

épilogue

Cet article explore le problème de la latence élevée dans la transmission audio et vidéo et propose des solutions. Afin d'optimiser les délais de transmission côté appareil et réseau, il est recommandé d'améliorer les périphériques matériels, les codecs, les algorithmes de traitement et les lecteurs, et d'envisager d'optimiser le traitement du serveur et les stratégies de localisation physique. Dans la transmission audio et vidéo, l'utilisation du protocole UDP peut réduire efficacement le délai du serveur, mais il convient de prêter attention à son manque de fiabilité. Par conséquent, lors du choix d’un protocole de transmission audio et vidéo, il est nécessaire de prendre en compte de manière exhaustive les besoins réels et les conditions du réseau.

Je suppose que tu aimes

Origine blog.csdn.net/ZEGO123/article/details/132473009
conseillé
Classement