Chaque fois que je lance Skype, Zoom ou Hangouts, j'attends avec intérêt un nouveau lot de jambages avec vidéo et son. La technologie me déçoit rarement: le croassement, les bruits de fond, la perte de voix, la division vidéo en «carrés», les images figées et d'autres joies de la visioconférence sont hantées par les appels vidéo, si je me souviens bien. L'intérêt est largement professionnel: en plus de la téléphonie programmable pour les téléphones ordinaires, les pages Web et les applications mobiles, chez Voximplant, nous expédions des vidéos aux développeurs. Je veux Full HD, en temps réel, sans frises, dans n'importe quel navigateur et la conférence est d'environ 50 personnes. Fait intéressant, en laboratoire, ça fonctionne comme ça. Mais dans certains parkings sur 3G, la consultation vidéo avec un médecin peut se transformer en stratégie au tour par tour: les paquets sont perdus! La pile technologique moderne ne nous permet pas encore de lutter sur un pied d'égalité avec l'Internet "clignotant", mais des recherches sont en cours. Sous un kat - traduction pour
Salsify adaptée pour Habr: un alliage d'un codec vidéo et d'un protocole réseau qui minimise les problèmes lors de la transmission vidéo en temps réel.
Une équipe de Stanford a mené une expérience: remplacé toute la courtepointe des technologies de vidéoconférence modernes par un protocole de compression et de transmission sur le réseau.
Vidéoconférence: lllllags, ffffffreezes et saccades
Après un certain temps, les problèmes disparaissent d'eux-mêmes. Parfois - avec l'image, laissant un écran noir à la place. Les produits livrables vont de "attendre quelques minutes, la grille clignote" à "la téléopération peut être terminée, le patient est mort". Les scientifiques de Stanford ont abordé le problème de manière spectaculaire, développant à partir de zéro une pile réseau, un codec et un moyen de transférer des données dans le seul but: faire mieux que Skype, FaceTime, Hangouts et Chrome + WebRTC.
L'étudiant diplômé de Stanford Sajjad Foladi, qui dirige l'étude, a présenté les
résultats lors de la conférence de base
NSDI'18 . Les idées qui sous-tendent la solution «from scratch» sont disponibles pour tous les arrivants et peuvent être utilisées dans des solutions commerciales. Bien sûr, si quelqu'un veut remplacer la pile
entière .
«La transmission vidéo sur Internet a évolué au fil des décennies. Désormais, la pile technologique ressemble plus à une courtepointe en patchwork », explique
Keith Winstein, professeur agrégé d'informatique. "Sajjad a montré comment vous pouvez assembler ces pièces d'une manière différente pour obtenir des vidéos de meilleure qualité et moins de latence."
Mais sur le moment de l'introduction de Winstein plus prudent. «Nous pensons maintenant à des changements, afin que la transmission vidéo en temps réel devienne un jour plus fiable. Il sera très utile dans les opérations de télémédecine et de robotique », dit-il. «Mais dans le logiciel utilisé actuellement, tous ces changements sont difficiles à faire.»
Nouvelle approche, nouveau nom
L'équipe de Stanford a appelé son cadre «Salsify» (jardinier de chèvre, une telle «fleur», qui ressemble vaguement à un pissenlit dans sa jeunesse - un commentaire d'un traducteur). Le cadre résout le problème causé par le fait que la «transmission vidéo en temps réel» est désormais réalisée à partir de deux technologies différentes. Il s'agit d'un «codec» qui comprime la vidéo et d'un «protocole réseau» qui transmet de petites données sur le réseau et essaie de deviner quand envoyer les prochaines pièces afin qu'elles ne soient pas rejetées, car le réseau est surchargé et généralement tout est mauvais. Le problème est que ces deux composants ont évolué séparément, souvent par des sociétés différentes, puis ont été combinés dans des produits tels que Skype ou FaceTime.
Foladi est sûr: pour résoudre le problème avec les frises et les retards, le codec et la pile réseau doivent fonctionner ensemble. Après tout, il est important non seulement d'envoyer le paquet sur le réseau à temps. Vous avez besoin des données correctes dans ce package! Et pas un morceau de vidéo il y a 3 secondes, qui sera toujours jeté du côté récepteur comme "trop vieux". Selon le chef de projet, «lorsque le protocole de transport et le codec perdent la synchronisation, les problèmes commencent.» Par conséquent, l'équipe a créé un nouveau codec aussi intégré que possible au protocole de transport. Un algorithme contrôle la compression des trames vidéo, la formation des paquets réseau et leur envoi. Ainsi, le flux vidéo "connaît" l'état du réseau en temps réel et essaie de "l'intégrer" dans la mesure du possible.
Une seule image envoyée hors du temps peut entraîner des à-coups et des frises. Salsify n'enverra jamais de trame si cela peut entraîner des problèmes de réseau
Pour voir et croire
Les chercheurs ont effectué de nombreux tests comparant Salsify à Microsoft Skype, Google Hangouts, Apple FaceTime et Google Chrome + WebRTC. En moyenne, Salsify réduit le retard de quatre fois (!!!), et la qualité d'image est 60% meilleure (selon la méthode de changement de similitude structurelle, SSIM). Une
comparaison côte à côte avec Chrome 65 WebRTC est prête et un
site Web distinct dédié au projet a été créé. Projet
open source : vous pouvez télécharger, étudier, utiliser les meilleures pratiques.
Tout le monde a des problèmes avec la vidéoconférence. C’est très cool de travailler sur un projet qui vise à faire la différence.