FAQ audio et vidéo (3) : l'audio et la vidéo ne sont pas synchronisés

Résumé

Cet article présente cinq facteurs du problème de désynchronisation audio-image : l'étape d'encodage et d'encapsulation, l'étape de transmission réseau, l'étape de traitement dans le lecteur, les problèmes de génération de contenu source, ainsi que le transcodage et l'édition. En fonction de ces facteurs, des solutions correspondantes sont proposées, telles que l'utilisation d'outils standardisés, le choix d'un protocole de transmission puissant, la mise en mémoire tampon adaptative, etc. De plus, les solutions du fournisseur de services audio et vidéo tiers Rujigou sont présentées, notamment des codecs optimisés, un ajustement dynamique du débit binaire, une correction d'erreur directe et une retransmission de paquets, etc. Enfin, il est souligné que les développeurs doivent surveiller de près les performances des applications et coopérer avec les fournisseurs de services audio et vidéo pour garantir la meilleure expérience de synchronisation audio et vidéo.

Introduction

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 d'années de précipitation technologique et de garantie de service client dans le domaine de l'interaction en temps réel, nous lancerons une série d'articles « FAQ sur la technologie vidéo en direct » pour partager des problèmes communs et des expériences dans le domaine de l'interaction en temps réel. technologie interactive temporelle et joindre 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 disposition, aidant les développeurs à localiser rapidement les problèmes et à trouver des solutions appropriées.

Cette série continuera à être mise à jour et les questions fréquemment posées suivantes ont été résolues :

  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

Dans l’article précédent, nous avons abordé le problème de la latence élevée lors de la transmission audio et vidéo. Nous introduisons d'abord le concept de délai en détail et les différents liens pouvant entraîner un délai, notamment le délai côté appareil, le délai de transmission réseau et le délai du serveur. Nous proposons une série de dépannages et de solutions, tels que le dépannage des problèmes de réseau, la vérification si le délai attendu de la pile technologique est cohérent et l'utilisation d'UDP pour la transmission audio et vidéo, etc. Grâce à ces méthodes, les lecteurs peuvent mieux comprendre et résoudre le problème des retards élevés dans la transmission audio et vidéo.

Mais après avoir résolu le problème de la latence élevée, nous pourrions être confrontés à d’autres défis. Par exemple, la désynchronisation de l’audio et de la vidéo est un problème épineux que de nombreux développeurs rencontrent souvent. Lorsque les données audio et vidéo ne sont pas entièrement synchronisées, la lecture vidéo est très peu naturelle et le public aura une mauvaise expérience visuelle. Il est donc particulièrement important d’en comprendre les raisons et de maîtriser les solutions correspondantes.

Cet article est le troisième de la série « FAQ sur la technologie interactive en temps réel ». Nous analyserons en profondeur les raisons pour lesquelles l'audio et la vidéo sont désynchronisés, y compris les éventuelles situations de désynchronisation causées par l'équipement matériel, le traitement des codecs, la transmission réseau, etc. Dans le même temps, nous fournirons une série de méthodes pour identifier, dépanner et résoudre le problème de la désynchronisation audio et vidéo, afin de garantir que les utilisateurs puissent bénéficier d'une meilleure expérience lorsqu'ils regardent du contenu audio et vidéo, et fournir développeurs avec les solutions correspondantes.

2. Le concept de base et les performances de l'audio et de la vidéo désynchronisés

Audio-vidéo désynchronisé : également appelé accent désynchronisé ou synchronisation AV, cela signifie que lorsque vous regardez une vidéo, il existe une différence de temps évidente entre l'image et le son, ce qui entraîne une interruption de la expérience visuelle. La performance spécifique est :

  • Premier son et deuxième ombre : Le son apparaît avant l'image, de sorte que le public entend le son mais n'a pas encore vu l'image correspondante.

  • Film avant le son : L'image apparaît avant le son, de sorte que le public voit l'image en premier mais entende le son correspondant plus tard.

3. Horodatage - le principal facteur d'influence de l'audio et de la vidéo désynchronisés

Le rôle du bâton : l'horodatage joue le rôle d'un « bâton » dans le traitement audio et vidéo, qui détermine quand et comment lire l'audio et la vidéo. L'exactitude et la continuité des horodatages de traitement sont la clé pour garantir la synchronisation de l'audio et de la vidéo et pour offrir aux utilisateurs une expérience audio et vidéo transparente et de haute qualité. Des horodatages inexacts ou discontinus peuvent entraîner toute une série de problèmes de lecture, le plus évident et le plus inquiétant étant un son et une image désynchronisés.

La base pour résoudre d'autres problèmes : Les horodatages sont la clé pour résoudre d'autres problèmes liés à la désynchronisation audio et vidéo. Par exemple, le retard ou la perte de paquets dus aux fluctuations du réseau peut être résolu en utilisant des horodatages pour la réorganisation ou la compensation des paquets. Des horodatages corrects et continus fournissent les informations nécessaires à ces opérations.

Interaction avec d'autres technologies : L'horodatage est à la base de nombreuses technologies audio et vidéo, telles que le buffering, la correction d'erreurs directe, le streaming adaptatif, etc. Ils s’appuient tous sur des horodatages précis et continus pour optimiser et synchroniser la transmission et la lecture des flux audio et vidéo.

L'horodatage, généralement appelé « PTS » (Presentation Time Stamp), est une marque attachée à un échantillon audio ou vidéo pour indiquer quand l'échantillon doit être présenté ou lu. Cela signifie que le lecteur peut synchroniser et lire correctement les images audio et vidéo en fonction des horodatages, que les données soient transmises en temps réel ou non.

Dans le domaine de l’audio et de la vidéo, l’horodatage est une notion cruciale. Le contenu audio et vidéo s'appuie sur des horodatages pour assurer la synchronisation lors de la création, de la transmission et de la lecture. Un horodatage est un marqueur associé à chaque image (audio ou vidéo) pour indiquer quand cette image doit être lue. Idéalement, les horodatages audio et vidéo doivent correspondre étroitement afin que lors de la lecture, le son et l'image soient synchronisés. S'il n'est pas géré correctement, cela peut entraîner une désynchronisation vidéo et audio, des pertes d'images ou d'autres problèmes connexes.

4. Raisons de la désynchronisation du son et de l'image

Le cœur du problème de synchronisation audio-vidéo réside dans « l’horodatage ». Lorsque l'audio et la vidéo sont désynchronisés, la logique interne derrière cela est la suivante : dans un certain lien de traitement, de transmission ou de lecture audio et vidéo, la correspondance d'horodatage entre l'audio et la vidéo est détruite. Cela peut être dû à diverses raisons telles que la latence du réseau, la latence du codec, les politiques de traitement du lecteur, les problèmes de contenu source, etc.

Voici les principales raisons pour lesquelles l'horodatage entraîne une désynchronisation de l'audio et de la vidéo :

  1. Horodatages inexacts : si l'audio et la vidéo ne sont pas horodatés avec précision pendant l'enregistrement, la capture, l'encodage ou le conditionnement, ils ne seront pas synchronisés lors de la lecture.

  2. Traitement de l'horodatage : Lors de la transmission ou du streaming, notamment lors des communications audio et vidéo en temps réel ou de la diffusion en direct, les fluctuations du réseau peuvent entraîner un retard ou une perte de certains paquets de données. Lorsque ces paquets contiennent des informations d’horodatage critiques, cela peut entraîner une désynchronisation de l’audio et de la vidéo.

  3. Comment le lecteur le gère : Le lecteur doit décoder et restituer les images audio et vidéo en fonction des horodatages. Si le lecteur ne peut pas analyser ou utiliser ces horodatages correctement, ou ne parvient pas à maintenir la cohérence des horodatages lors de la gestion de la mise en mémoire tampon, de la perte de paquets, etc., cela entraînera également une désynchronisation de l'audio et de la vidéo.

  4. En bref, la clé pour assurer la synchronisation de l’audio et de la vidéo est de générer, maintenir et utiliser correctement les horodatages dans toute la chaîne de traitement audio et vidéo. Tout facteur qui brise la cohérence de l'horodatage peut entraîner une désynchronisation de l'audio et de la vidéo.

L'audio et la vidéo asynchrones sont essentiellement causés par une inadéquation dans les horodatages des images audio et vidéo, qui peut se produire à n'importe quelle étape du cycle de vie du contenu audio et vidéo, depuis la création, la transmission jusqu'à la lecture. Pour corriger cette désynchronisation, il faut généralement effectuer une opération d'étalonnage ou de synchronisation sur le lien concerné pour garantir que les horodatages des images audio et vidéo correspondent à nouveau.

Voici quelques suggestions et stratégies de résolution basées sur les facteurs ci-dessus :

Phase d'encodage et de packaging :

  • Outils standardisés : l'utilisation d'outils de codage et de packaging éprouvés et largement reconnus réduit le risque d'erreurs d'horodatage.
  • Sélection du format d'encapsulation : comprendre et sélectionner un format d'encapsulation approprié pour le scénario d'application. Par exemple, pour le streaming, HLS pourrait être plus approprié

Transmission réseau :

  • Protocoles de transport puissants : utilisez des protocoles tels que RTMP ou WebRTC, qui prennent en charge la synchronisation audio et vidéo.
  • Correction d'erreur directe : appliquez la technologie de correction d'erreur directe pour réduire la perte de paquets causée par des problèmes de réseau.
  • Streaming adaptatif : ajuste le débit binaire et la qualité en fonction des conditions du réseau, réduisant ainsi la perte et la latence des paquets.

Gestion des joueurs :

  • Choisissez un joueur mature : les joueurs matures ont tendance à avoir une tolérance aux pannes plus forte pour le traitement de l'horodatage.

  • Tampon adaptatif : ajustez dynamiquement la longueur du tampon pour garantir une lecture fluide tout en réduisant les problèmes de synchronisation.

  • Vérification de l'accélération matérielle : assurez-vous que l'accélérateur matériel utilisé est compatible avec le lecteur et gère correctement l'ordre des horodatages.

Problèmes de contenu source :

  • Calibrez l'appareil d'enregistrement : assurez-vous que la caméra et le microphone sont synchronisés lors de l'enregistrement.

  • Surveiller les enregistrements : surveillez les enregistrements en temps réel pour détecter et résoudre rapidement tout problème de désynchronisation.

Transcodage et édition :

  • Montage non destructif : choisissez un logiciel de montage capable de traiter l'audio et la vidéo de manière non destructive, en évitant de modifier l'horodatage d'origine.

  • Outils de transcodage standards : Comme pour les étapes d’encodage et de packaging, choisissez un outil de transcodage éprouvé.

S'assurer que l'audio et la vidéo sont synchronisés est une tâche complexe impliquant plusieurs étapes tout au long de la chaîne de traitement audio et vidéo. Cependant, les problèmes de désynchronisation peuvent être minimisés ou éliminés en comprenant la source probable du problème et en employant des stratégies techniques appropriées.

Cinq, solution audio et vidéo désynchronisée

Ci-dessous, nous analyserons les facteurs qui affectent la synchronisation de l'audio et de la vidéo à chaque étape, et fournirons quelques suggestions et solutions basées sur différents facteurs. L'exactitude et la continuité de l'horodatage sont la clé.

Raison 1 : problèmes asynchrones audio et vidéo générés lors des étapes d’encodage et d’encapsulation

cause:

  • Génération inexacte d'horodatages : lors de l'enregistrement, de l'encodage ou du packaging, si le périphérique ou le logiciel source ne génère pas correctement les horodatages, cela peut entraîner des problèmes de synchronisation.

  • Format d'encapsulation : différents formats d'encapsulation tels que MP4, MKV, TS, etc. peuvent avoir différentes manières de gérer les horodatages et, s'ils sont inappropriés, peuvent introduire une asynchronie.

solution:

  • Outils standardisés : l'utilisation d'outils de codage et de packaging éprouvés et largement reconnus réduit le risque d'erreurs d'horodatage. Comme FFmpeg, les outils codecs de fabricants audio et vidéo tiers : construction instantanée.

  • Sélection du format d'encapsulation : comprendre et sélectionner un format d'encapsulation approprié pour le scénario d'application. Pour le streaming, par exemple, MPEG-DASH ou HLS pourraient être plus appropriés.

Raison 2 : l'audio et la vidéo sont désynchronisés lors de la transmission réseau

cause:

  • Perte de paquets de données : dans le cas d'un réseau instable, des paquets de données audio ou vidéo peuvent être perdus, entraînant des informations d'horodatage discontinues reçues par le lecteur.

  • Retards dans les paquets : les fluctuations ou la congestion du réseau peuvent entraîner un retard des paquets audio ou vidéo, entraînant des horodatages discontinus lors de leur lecture.

  • Mécanisme de retransmission : pour compenser la perte de paquets, certains protocoles peuvent renvoyer des paquets, ce qui peut entraîner des horodatages désordonnés ou en double.

solution:

  • Protocole de transmission puissant : utilisez des protocoles open source tels que RTMP ou WebRTC, qui prennent en charge la synchronisation audio et vidéo.

  • Correction d'erreur directe : appliquez la technologie de correction d'erreur directe pour réduire la perte de paquets causée par des problèmes de réseau.

  • Streaming adaptatif : ajuste le débit binaire et la qualité en fonction des conditions du réseau, réduisant ainsi la perte et la latence des paquets.

Raison 3 : Problèmes de désynchronisation audio et vidéo causés par l'étape de traitement dans le lecteur

cause:

  • Stratégie de mise en mémoire tampon : afin de fournir une expérience de lecture fluide, le lecteur peut mettre en cache une certaine quantité de données audio et vidéo, ce qui peut affecter la synchronisation de l'audio et de la vidéo.

  • Analyse d'horodatage incorrect : lorsque le lecteur analyse l'horodatage du flux audio et vidéo, des erreurs peuvent survenir en raison de l'encodage, de l'encapsulation ou d'autres problèmes.

  • Accélération matérielle : certains décodeurs à accélération matérielle peuvent ne pas suivre entièrement la logique de traitement d'horodatage standard lors du traitement des flux audio et vidéo, ce qui entraîne une désynchronisation.

solution:

  • Choisissez un joueur mature : les joueurs matures ont tendance à avoir une tolérance aux pannes plus forte pour le traitement de l'horodatage.

  • Tampon adaptatif : ajustez dynamiquement la longueur du tampon pour garantir une lecture fluide tout en réduisant les problèmes de synchronisation.

  • Vérification de l'accélération matérielle : assurez-vous que l'accélérateur matériel utilisé est compatible avec le lecteur et gère correctement les horodatages.

Raison 4 : L'audio et la vidéo générés par le contenu source sont désynchronisés

cause:

  • Désynchronisation pendant l'enregistrement : si les sources audio et vidéo elles-mêmes sont désynchronisées pendant le processus d'enregistrement, même si l'horodatage est précis, l'audio et la vidéo seront toujours désynchronisées pendant la lecture.

solution:

  • Calibrez l'appareil d'enregistrement : assurez-vous que la caméra et le microphone sont synchronisés lors de l'enregistrement.

  • Surveiller les enregistrements : surveillez les enregistrements en temps réel pour détecter et résoudre rapidement tout problème de désynchronisation.

Raison 5 : transcodage et édition

cause:

  • Lors du processus de post-édition ou de transcodage, si les pistes audio et vidéo sont séparées et traitées séparément, cela peut entraîner des horodatages incohérents.

  • Les outils de transcodage ou les logiciels d'édition peuvent modifier ou régénérer l'horodatage d'origine, ce qui peut introduire des problèmes de désynchronisation s'il n'est pas géré correctement.

solution:

  • Montage non destructif : choisissez un logiciel de montage capable de traiter l'audio et la vidéo de manière non destructive, en évitant de modifier l'horodatage d'origine.

  • Outils de transcodage standards : Comme pour les étapes d’encodage et de packaging, choisissez un outil de transcodage éprouvé.

Compte tenu des facteurs ci-dessus, le maintien de la synchronisation de l’audio et de la vidéo nécessite une gestion et une maintenance continues et précises des horodatages tout au long de la chaîne de traitement audio et vidéo.

6. Solutions pour les fabricants audio et vidéo - le problème de la désynchronisation audio et vidéo

Lorsque nous utilisons des services audio et vidéo tiers, tels que ZEGO ( https://www.zego.im/ ) , pour créer des applications audio et vidéo, de nombreux problèmes liés à la synchronisation audio et vidéo ont en fait été traités ou optimisés par le service. Les services tiers disposent généralement d'équipes et de technologies dédiées pour traiter de tels problèmes, et ont mis en œuvre plusieurs stratégies de résolution dans leurs SDK et plates-formes. La stratégie principale du SDK Audio-Vidéo est de maintenir la transmission de l'horodatage correcte. Ce qui suit est une introduction aux fabricants audio et vidéo tels qu'Instant pour résoudre le problème de la désynchronisation de l'audio et de la vidéo. Par exemple, les étapes de l'opération sont les suivantes :

1 Dépannage

  1. Si vous utilisez une capture vidéo personnalisée, veuillez vérifier si l'horodatage de la capture vidéo personnalisée est correct, en particulier vérifiez si l'unité de l'horodatage est correcte (le SDK utilise l'horodatage standard Unix et l'unité est la milliseconde). En interne, ZEGO SDK synchronisera l'audio et la vidéo en fonction de l'horodatage de collecte que vous avez fourni.

  2. Si une caméra virtuelle est utilisée pour capturer (comme XX Live Assistant), il peut y avoir trop de retard dans l'acquisition de la caméra virtuelle, et ZEGO SDK ne peut pas obtenir ce délai, et il peut y avoir un problème de sortie audio et vidéo. synchroniser. Pour cette situation, vous pouvez contacter le support technique ZEGO sur le site officiel de ZEGO. Le support technique peut apporter des corrections via une configuration avancée du moteur après analyse et confirmation.

2 Surveiller la qualité avec Starmap

Utilisez  la carte des étoiles ( https://console.zego.im/ ) dans la console de gestion ZEGO  ( https://console.zego.im/ ) pour suivre la qualité des appels audio et vidéo. C'est-à-dire que la plate-forme ZEGO Star Map fournit une surveillance complète de la qualité audio et vidéo, y compris des modules de base tels que le diagnostic de l'emplacement des problèmes, un aperçu de la qualité et de l'expérience, l'analyse des opérations commerciales, la surveillance et les alarmes en temps réel, etc., et fournit des données de marché riches pour aider les développeurs à surveiller les activités dans plusieurs dimensions.

3 stratégies techniques

ZEGO ( https://www.zego.im/ ), en tant que société fournissant une technologie audio et vidéo en temps réel, dispose de nombreuses stratégies techniques avancées pour fournir une transmission audio et vidéo de haute qualité.

  1. Codecs optimisés : Nagoo et d'autres fabricants audio et vidéo intègrent ou optimisent généralement des codecs standard de l'industrie pour garantir une génération et un décodage précis des horodatages.

  2. Ajustement dynamique du débit binaire : en réponse aux conditions changeantes du réseau, le SDK intégré ajustera dynamiquement le débit binaire pour assurer la continuité des données audio et vidéo et minimiser la perte ou le retard des paquets.

  3. Correction d'erreurs directes et retransmission de paquets : Afin de compenser la perte de données lors de la transmission réseau, des services tels que Jigou ont mis en œuvre des mécanismes de correction d'erreurs directes et de retransmission de paquets de données, qui aident à restaurer la synchronisation audio et vidéo.

  4. Codage hiérarchique et stratégie de grand et petit flux : le codage en couches structuré et la stratégie de grand et petit flux, l'expéditeur envoie des flux avec différentes résolutions et sélectionne dynamiquement le flux à lire en fonction des conditions du réseau, garantissant la fluidité de la vidéo et aidant également la synchronisation de l'audio et de la vidéo.

  5. Routage intelligent et transmission multi-chemins : Afin de minimiser les retards du réseau et la perte de paquets, il est possible d'utiliser son service cloud pour le routage intelligent ou la transmission multi-chemins.

7. Conclusion

En utilisant des services audio et vidéo tiers tels qu'Instant Go, les développeurs peuvent grandement simplifier le problème de la synchronisation audio et vidéo. Ces services mettent en œuvre diverses stratégies et optimisations sur leurs technologies et plateformes, offrant ainsi aux utilisateurs finaux une expérience audio et vidéo premium. Cependant, malgré ces solutions avancées, les développeurs doivent toujours surveiller de près les performances de leurs applications et coopérer avec les fournisseurs de services audio et vidéo pour garantir la meilleure expérience de synchronisation audio et vidéo.

Le dépannage et les solutions au  problème de désynchronisation audio et vidéo sont présentés ici. Dans le prochain article, nous aborderons le  sujet du flou vidéo et de l'écran vert  .

Je suppose que tu aimes

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