{"id":30842,"date":"2019-10-31T21:37:44","date_gmt":"2019-10-31T18:37:44","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb\/"},"modified":"2021-02-01T11:37:06","modified_gmt":"2021-02-01T09:37:06","slug":"ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","title":{"rendered":"De Skype \u00e0 WebRTC : comment nous avons organis\u00e9 la communication vid\u00e9o via le web","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"De Skype \u00e0 WebRTC : comment nous avons organis\u00e9 la communication vid\u00e9o via le web\" src=\"\/wp-content\/uploads\/2019\/04\/92ea7848049d68c0b41b821bc8b83d54.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>La visioconf\u00e9rence est le principal moyen de communication entre l'enseignant et l'\u00e9tudiant sur la plateforme Vimbox. Nous avons longtemps abandonn\u00e9 Skype, test\u00e9 plusieurs solutions tierces et finalement nous nous sommes arr\u00eat\u00e9s sur l'association WebRTC - Janus-gateway. Pendant un certain temps, tout allait bien, mais certains probl\u00e8mes n\u00e9gatifs continuaient \u00e0 survenir. Finalement, une direction distincte pour la vid\u00e9o a \u00e9t\u00e9 cr\u00e9\u00e9e.<\/p>\n<p>J'ai demand\u00e9 \u00e0 Kirill Rogovoy, le responsable de la nouvelle direction, de parler de l'\u00e9volution de la visioconf\u00e9rence chez Skyeng, des probl\u00e8mes d\u00e9tect\u00e9s, des solutions et des astuces que nous avons finalement adopt\u00e9es. Nous esp\u00e9rons que cet article sera utile pour les entreprises qui mettent \u00e9galement en place des vid\u00e9os via une application web.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"nemnogo-istorii\">Un peu d'histoire<\/h2>\n<p>\u00c0 l'\u00e9t\u00e9 2017, le responsable du d\u00e9veloppement de Skyeng, Sergey Safonov, a pris la parole lors de la Backend Conf pour raconter comment nous avons \"abandonner Skype et introduit WebRTC\". Ceux qui le souhaitent peuvent voir l'enregistrement de sa pr\u00e9sentation \u00e0 <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/0BiE1Rt-bak\">le lien<\/a><\/noindex> (~45 min), et ici je vais en r\u00e9sumer l'essence.<\/p>\n<p>Pour l'\u00e9cole Skyeng, la visioconf\u00e9rence a toujours \u00e9t\u00e9 le moyen de communication prioritaire entre l'enseignant et l'\u00e9l\u00e8ve. Au d\u00e9but, nous utilisions \"Skype\", mais il ne r\u00e9pondait absolument pas \u00e0 nos besoins pour un certain nombre de raisons, principalement en raison de l'absence de journaux et de l'impossibilit\u00e9 d'int\u00e9gration directement dans l'application web. Nous avons donc men\u00e9 divers exp\u00e9rimentations.<\/p>\n<p>En fait, nos exigences pour la visioconf\u00e9rence \u00e9taient \u00e0 peu pr\u00e8s les suivantes :<br \/>\n\u2014 stabilit\u00e9 ;<br \/>\n\u2014 co\u00fbt bas par cours ;<br \/>\n\u2014 enregistrement des cours ;<br \/>\n\u2014 suivi de qui parle combien (il est important pour nous que les \u00e9l\u00e8ves parlent plus que l'enseignant pendant les cours) ;<br \/>\n\u2014 mise \u00e0 l'\u00e9chelle lin\u00e9aire ;<br \/>\n\u2014 possibilit\u00e9 d'utiliser \u00e0 la fois UDP et TCP.<\/p>\n<p>Nous avons d'abord essay\u00e9 d'int\u00e9grer Tokbox en 2013. Tout allait bien, mais cela revenait tr\u00e8s cher - 113 roubles par le\u00e7on - et r\u00e9duisait les b\u00e9n\u00e9fices.<\/p>\n<p>Ensuite, en 2015, nous avons int\u00e9gr\u00e9 Voximplant. Ce service offrait la fonction n\u00e9cessaire pour suivre qui parle combien, et de plus, la solution \u00e9tait beaucoup moins co\u00fbteuse : avec l'enregistrement seulement audio, cela co\u00fbtait 20 roubles par cours. Cependant, il ne fonctionnait qu'avec UDP et ne pouvait pas passer \u00e0 TCP. N\u00e9anmoins, environ 40 % des \u00e9l\u00e8ves l'utilisaient finalement.<\/p>\n<p>Au bout d'un an, nous avons commenc\u00e9 \u00e0 attirer des clients corporatifs avec des exigences sp\u00e9cifiques. Par exemple, tout doit fonctionner via le navigateur, la soci\u00e9t\u00e9 n'ouvre que http et https ; c'est-\u00e0-dire pas de \u00ab Skype \u00bb ni de UDP. Les clients corporatifs = argent, donc nous sommes revenus \u00e0 Tokbox, mais le probl\u00e8me du prix est rest\u00e9.<\/p>\n<h2 id=\"reshenie----webrtc-i-janus\">La solution \u2014 WebRTC et Janus<\/h2>\n<p>Nous avons d\u00e9cid\u00e9 d'utiliser <noindex><a rel=\"nofollow\" href=\"https:\/\/webrtc.org\/\">la plateforme de vid\u00e9oconf\u00e9rence peer-to-peer bas\u00e9e sur WebRTC<\/a><\/noindex>. Elle est responsable de l'\u00e9tablissement des connexions, de l'encodage et du d\u00e9codage des flux, de la synchronisation des pistes et du contr\u00f4le de qualit\u00e9 avec le traitement des probl\u00e8mes de r\u00e9seau. De notre c\u00f4t\u00e9, nous devons assurer la lecture des flux de la cam\u00e9ra et du microphone, le rendu vid\u00e9o, la gestion des connexions, l'\u00e9tablissement de la connexion WebRTC et le passage des flux \u00e0 celle-ci, ainsi que l'\u00e9change de messages de signalisation entre les clients pour \u00e9tablir la connexion (WebRTC ne d\u00e9crit que le format des donn\u00e9es, mais pas le m\u00e9canisme de leur transmission). Si les clients se trouvent derri\u00e8re un NAT, WebRTC se connecte \u00e0 des serveurs STUN ; si cela ne fonctionne pas, des serveurs TURN.<\/p>\n<p>Une simple connexion p2p ne nous suffit pas, car nous voulons enregistrer les le\u00e7ons pour une analyse ult\u00e9rieure en cas de plaintes. Ainsi, nous envoyons les flux WebRTC via un relais <noindex><a rel=\"nofollow\" href=\"https:\/\/janus.conf.meetecho.com\/\">Janus Gateway de Meetecho<\/a><\/noindex>. Ainsi, les clients ne connaissent pas les adresses des autres, ne voyant que l'adresse du serveur Janus ; celui-ci remplit \u00e9galement les fonctions de serveur de signalisation. Janus a de nombreuses fonctionnalit\u00e9s dont nous avons besoin : il passe automatiquement en TCP si UDP est bloqu\u00e9 chez le client ; il peut enregistrer des flux en UDP et en TCP ; il est scalable ; et il y a m\u00eame un plugin int\u00e9gr\u00e9 pour les tests d'\u00e9cho. Si n\u00e9cessaire, les serveurs STUN et TURN de Twilio se connectent automatiquement.<\/p>\n<p>\u00c0 l'\u00e9t\u00e9 2017, nous avions deux serveurs Janus plus un serveur suppl\u00e9mentaire pour traiter les fichiers bruts audio et vid\u00e9o enregistr\u00e9s, afin de ne pas utiliser les processeurs des serveurs principaux. Lors de la connexion, les serveurs Janus \u00e9taient s\u00e9lectionn\u00e9s selon le principe pair-impair (num\u00e9ro de connexion). \u00c0 cette \u00e9poque, cela \u00e9tait suffisant, selon nos estimations, cela offrait environ quatre fois la marge de s\u00e9curit\u00e9, le taux d'impl\u00e9mentation \u00e9tait d'environ 80. Le prix a \u00e9t\u00e9 r\u00e9duit \u00e0 environ 2 roubles par le\u00e7on, plus le d\u00e9veloppement et la maintenance.<\/p>\n<p><img decoding=\"async\" alt=\"De Skype \u00e0 WebRTC : comment nous avons organis\u00e9 la communication vid\u00e9o via le web\" src=\"\/wp-content\/uploads\/2019\/04\/fd1cd47a6625f1ddaa20ed2a6067be60.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h2 id=\"vozvraschenie-k-teme-videosvyazi\">Retour au sujet de la vid\u00e9oconf\u00e9rence<\/h2>\n<p>Nous surveillons en permanence les retours des \u00e9l\u00e8ves et des enseignants afin de d\u00e9tecter et d'\u00e9liminer les probl\u00e8mes \u00e0 temps. \u00c0 l'\u00e9t\u00e9 2018, la qualit\u00e9 de la connexion s'est clairement impos\u00e9e comme la principale plainte. D'une part, cela signifiait que nous avions r\u00e9ussi \u00e0 surmonter d'autres d\u00e9fauts. D'autre part, il fallait agir rapidement : en cas d'interruption d'un cours, nous risquons de perdre son co\u00fbt, parfois avec celui de l'achat du prochain package, et en cas d'interruption d'une s\u00e9ance d'introduction, de perdre compl\u00e8tement un client potentiel.<\/p>\n<p>\u00c0 ce moment-l\u00e0, notre vid\u00e9oconf\u00e9rence fonctionnait toujours en mode MVP. Autrement dit, nous avons lanc\u00e9, cela a fonctionn\u00e9, nous l'avons mis \u00e0 l'\u00e9chelle une fois, compris comment le faire - et tant mieux. If it works, don\u2019t fix it. Personne ne s'occupait sp\u00e9cifiquement de la qualit\u00e9 de la connexion. En ao\u00fbt, il est devenu clair que cela ne pouvait plus continuer ainsi, et nous avons lanc\u00e9 une direction distincte pour comprendre ce qui n'allait pas avec WebRTC et Janus.<\/p>\n<p>En entr\u00e9e, cette direction a re\u00e7u : une solution MVP, pas de m\u00e9triques, pas d'objectifs, pas de processus d'am\u00e9lioration, sachant que 7 % des enseignants se plaignaient de la qualit\u00e9 de la connexion (il n'y avait pas de donn\u00e9es sur les \u00e9l\u00e8ves non plus).<\/p>\n<p><img decoding=\"async\" alt=\"De Skype \u00e0 WebRTC : comment nous avons organis\u00e9 la communication vid\u00e9o via le web\" src=\"\/wp-content\/uploads\/2019\/04\/f8134229567f1187b00ec5c21a79800c.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h2 id=\"novoe-napravlenie-beretsya-za-rabotu\">La nouvelle direction se met au travail<\/h2>\n<p>L'\u00e9quipe est \u00e0 peu pr\u00e8s comme suit :<\/p>\n<ul>\n<li>Responsable de la direction, \u00e9galement principal d\u00e9veloppeur.<\/li>\n<li>Les QA aident \u00e0 tester les modifications, cherchent de nouvelles fa\u00e7ons de cr\u00e9er des conditions instables pour la connexion, signalent les probl\u00e8mes de la ligne de front.<\/li>\n<li>L'analyste recherche constamment diff\u00e9rentes corr\u00e9lations dans les donn\u00e9es techniques, am\u00e9liore l'analyse des retours des utilisateurs, v\u00e9rifie les r\u00e9sultats des exp\u00e9rimentations.<\/li>\n<li>Le chef de produit aide avec l'orientation g\u00e9n\u00e9rale et l'allocation des ressources pour les exp\u00e9rimentations.<\/li>\n<li>Pour la programmation et les t\u00e2ches connexes, un deuxi\u00e8me d\u00e9veloppeur aide souvent.<\/li>\n<\/ul>\n<p>Pour commencer, nous avons mis en place une m\u00e9trique relativement fiable qui suivait les changements dans l'\u00e9valuation de la qualit\u00e9 de la connexion (moyenne par jours, semaines, mois). \u00c0 ce moment-l\u00e0, il s'agissait d'\u00e9valuations des enseignants, qui ont ensuite \u00e9t\u00e9 compl\u00e9t\u00e9es par celles des \u00e9tudiants. Nous avons ensuite commenc\u00e9 \u00e0 formuler des hypoth\u00e8ses sur ce qui ne fonctionnait pas, \u00e0 corriger et \u00e0 observer les changements dans la dynamique. Nous avons commenc\u00e9 par des fruits \u00e0 port\u00e9e de main : par exemple, nous avons remplac\u00e9 le codec vp8 par vp9, les r\u00e9sultats se sont am\u00e9lior\u00e9s. Nous avons essay\u00e9 de jouer avec les r\u00e9glages de Janus, de r\u00e9aliser d'autres exp\u00e9riences - qui dans la plupart des cas n'ont rien donn\u00e9.<\/p>\n<p>\u00c0 la deuxi\u00e8me \u00e9tape, une hypoth\u00e8se est apparue : WebRTC est une solution peer-to-peer, tandis que nous utilisons un serveur au milieu. Peut-\u00eatre que le probl\u00e8me se situe ici ? Nous avons commenc\u00e9 \u00e0 creuser et avons trouv\u00e9 ici une am\u00e9lioration significative.<\/p>\n<p>\u00c0 ce moment-l\u00e0, le serveur \u00e9tait s\u00e9lectionn\u00e9 \u00e0 partir du pool selon un algorithme assez basique : chacun avait son propre \u00ab poids \u00bb, d\u00e9pendant de la bande passante et de la puissance, et nous essayions d'envoyer l'utilisateur vers celui o\u00f9 le \u00ab poids \u00bb \u00e9tait le plus \u00e9lev\u00e9, sans pr\u00eater attention \u00e0 l'emplacement g\u00e9ographique de l'utilisateur. En cons\u00e9quence, un enseignant de Saint-P\u00e9tersbourg pouvait communiquer avec un \u00e9l\u00e8ve de Sib\u00e9rie via Moscou, et non pas via notre serveur Janus \u00e0 Saint-P\u00e9tersbourg.<\/p>\n<p>L'algorithme a \u00e9t\u00e9 remodel\u00e9 : maintenant, lorsque l'utilisateur ouvre notre plateforme, nous collectons \u00e0 l'aide d'Ajax des pings depuis lui vers tous les serveurs. Lors de l'\u00e9tablissement de la connexion, nous choisissons une paire de pings (enseignant-serveur et \u00e9l\u00e8ve-serveur) avec la somme la plus faible. Un ping plus faible signifie une distance r\u00e9seau plus courte vers le serveur ; une distance plus courte signifie une probabilit\u00e9 plus faible de perte de paquets ; la perte de paquets est le facteur n\u00e9gatif le plus important dans la communication vid\u00e9o. Le taux de n\u00e9gativit\u00e9 a \u00e9t\u00e9 r\u00e9duit de moiti\u00e9 en trois mois (pour \u00eatre juste, d'autres exp\u00e9riences ont eu lieu pendant cette p\u00e9riode, mais celle-ci a presque certainement eu le plus d'impact).<\/p>\n<p><img decoding=\"async\" alt=\"De Skype \u00e0 WebRTC : comment nous avons organis\u00e9 la communication vid\u00e9o via le web\" src=\"\/wp-content\/uploads\/2019\/04\/a106f7701b34c03080251710adf2a7a0.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p><img decoding=\"async\" alt=\"De Skype \u00e0 WebRTC : comment nous avons organis\u00e9 la communication vid\u00e9o via le web\" src=\"\/wp-content\/uploads\/2019\/04\/2cd6782e5f4182004a0c0d9dd05dba5b.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Nous avons r\u00e9cemment d\u00e9couvert une autre chose \u00e9vidente, mais apparemment importante : plut\u00f4t qu'un seul serveur Janus puissant sur une bande passante \u00e9lev\u00e9e, il est pr\u00e9f\u00e9rable d'avoir deux serveurs plus modestes avec une bande passante un peu plus faible. Cela s'est av\u00e9r\u00e9 apr\u00e8s que nous avons acquis des machines puissantes dans l'espoir d'y int\u00e9grer autant de salles (sessions de communication) que possible en m\u00eame temps. Les serveurs ont une limite de bande passante que nous pouvons traduire pr\u00e9cis\u00e9ment en nombre de salles \u2014 nous savons combien nous pouvons ouvrir, par exemple, sur 300 Mbit\/s. D\u00e8s que trop de salles sont ouvertes sur le serveur, nous cesserons de le s\u00e9lectionner pour de nouvelles sessions tant que la charge ne diminuera pas. L'id\u00e9e \u00e9tait qu'en achetant une machine puissante, nous surchargerions le canal au maximum, afin d'atteindre finalement les limites du processeur et de la m\u00e9moire, et non de la bande passante. Mais il s'est av\u00e9r\u00e9 qu'apr\u00e8s un certain nombre de salles ouvertes (420), bien que l'utilisation du processeur, de la m\u00e9moire et du disque soit encore loin des limites, le support technique commence \u00e0 recevoir des r\u00e9clamations. Apparemment, quelque chose se d\u00e9grade au sein de Janus, peut-\u00eatre qu'il y a aussi des limitations. Nous avons commenc\u00e9 \u00e0 exp\u00e9rimenter, r\u00e9duisant la limite de bande passante de 300 \u00e0 200 Mbit\/s, et les probl\u00e8mes ont disparu. Nous avons maintenant achet\u00e9 trois nouveaux serveurs avec des limites et des caract\u00e9ristiques modestes, pensant que cela conduira \u00e0 une am\u00e9lioration stable de la qualit\u00e9 de la communication. Nous n'avons bien s\u00fbr pas cherch\u00e9 \u00e0 comprendre ce qui s'\u00e9tait pass\u00e9, les b\u00e9quilles sont notre seule solution. Pour notre d\u00e9fense, nous dirons qu'il fallait r\u00e9soudre rapidement un probl\u00e8me urgent, plut\u00f4t que de le faire de mani\u00e8re esth\u00e9tique ; de plus, Janus est pour nous une bo\u00eete noire \u00e9crite en C, s'y pencher co\u00fbte tr\u00e8s cher.<\/p>\n<p><img decoding=\"async\" alt=\"De Skype \u00e0 WebRTC : comment nous avons organis\u00e9 la communication vid\u00e9o via le web\" src=\"\/wp-content\/uploads\/2019\/04\/21ad5290ed3e40bdf0b26dfb5c20cdf8.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Et pendant ce temps, nous :<\/p>\n<ul>\n<li>avons mis \u00e0 jour toutes les d\u00e9pendances possibles, tant sur le serveur que sur le client (ce furent aussi des exp\u00e9riences, nous avons surveill\u00e9 les r\u00e9sultats) ;<\/li>\n<li>avons corrig\u00e9 tous les bugs identifi\u00e9s concernant des cas sp\u00e9cifiques, par exemple, lorsque la connexion tombait et ne se r\u00e9tablissait pas automatiquement ;<\/li>\n<li>avons eu de nombreuses rencontres avec des entreprises travaillant dans le domaine de la visioconf\u00e9rence et familiaris\u00e9es avec nos probl\u00e8mes : streaming de jeux, organisation de webinaires ; nous avons test\u00e9 tout ce qui nous semblait utile ;<\/li>\n<li>avons r\u00e9alis\u00e9 une r\u00e9vision technique du mat\u00e9riel et de la qualit\u00e9 de la communication aupr\u00e8s des enseignants ayant re\u00e7u le plus de plaintes.<\/li>\n<\/ul>\n<p>Les exp\u00e9riences men\u00e9es et les changements qui en ont r\u00e9sult\u00e9 ont permis de r\u00e9duire le m\u00e9contentement concernant la connexion parmi les enseignants, passant de 7,1 % en janvier 2018 \u00e0 2,5 % en janvier 2019.<\/p>\n<h2 id=\"chto-dalshe\">Que faire ensuite<\/h2>\n<p>La stabilisation de notre plateforme Vimbox est l'un des projets principaux de l'entreprise pour 2019. Nous avons de grands espoirs de maintenir cette dynamique et de ne plus voir les probl\u00e8mes de vid\u00e9oconf\u00e9rence en t\u00eate des plaintes. Nous comprenons qu'une part importante de ces plaintes est li\u00e9e aux lenteurs des ordinateurs et d'Internet des utilisateurs, mais nous devons identifier cette part et r\u00e9soudre le reste. Tout le reste est un probl\u00e8me technique, et il semble que nous devrions \u00eatre capables de le g\u00e9rer.<\/p>\n<p>La principale difficult\u00e9 r\u00e9side dans le fait que nous ne savons pas jusqu'\u00e0 quel niveau il est r\u00e9ellement possible d'am\u00e9liorer la qualit\u00e9. D\u00e9terminer ce plafond est notre t\u00e2che principale. C'est pourquoi deux exp\u00e9riences ont \u00e9t\u00e9 pr\u00e9vues :<\/p>\n<ol>\n<li>comparer la vid\u00e9o via Janus avec le p2p classique en conditions r\u00e9elles. Cette exp\u00e9rience a d\u00e9j\u00e0 \u00e9t\u00e9 r\u00e9alis\u00e9e et aucune diff\u00e9rence statistiquement significative n'a \u00e9t\u00e9 trouv\u00e9e entre notre solution et le p2p ;<\/li>\n<li>nous allons mettre en place des services (co\u00fbteux) de soci\u00e9t\u00e9s qui gagnent exclusivement sur des solutions de vid\u00e9oconf\u00e9rence et comparer le niveau de m\u00e9contentement qu'ils g\u00e9n\u00e8rent avec celui que nous avons.<\/li>\n<\/ol>\n<p>Ces deux exp\u00e9riences nous permettront de d\u00e9finir un objectif atteignable et de nous y concentrer.<\/p>\n<p>De plus, il y a plusieurs t\u00e2ches r\u00e9solues de mani\u00e8re op\u00e9rationnelle :<\/p>\n<ul>\n<li>nous cr\u00e9ons une m\u00e9trique technique de qualit\u00e9 de connexion au lieu d'avis subjectifs ;<\/li>\n<li>nous g\u00e9n\u00e9rons des journaux de session plus d\u00e9taill\u00e9s afin d'analyser avec pr\u00e9cision les pannes qui surviennent, de comprendre quand et o\u00f9 elles se produisent, et quels \u00e9v\u00e9nements apparemment non li\u00e9s ont eu lieu \u00e0 ce moment-l\u00e0 ;<\/li>\n<li>nous pr\u00e9parons un test automatique de qualit\u00e9 de connexion avant le cours et offrons \u00e9galement au client la possibilit\u00e9 de tester manuellement la connexion afin de r\u00e9duire le nombre de plaintes caus\u00e9es par son mat\u00e9riel et sa bande passante ;<\/li>\n<li>nous d\u00e9velopperons et effectuerons davantage de tests de charge de vid\u00e9oconf\u00e9rence dans de mauvaises conditions, avec perte de paquets variable, etc. ;<\/li>\n<li>nous modifions le comportement des serveurs en cas de probl\u00e8me pour augmenter la r\u00e9silience ;<\/li>\n<li>nous avertirons l'utilisateur s'il y a un probl\u00e8me g\u00e9n\u00e9ral avec sa connexion, comme le fait par exemple Skype, afin qu'il comprenne que le probl\u00e8me vient de son c\u00f4t\u00e9.<\/li>\n<\/ul>\n<p>\u00c0 partir d'avril, la direction des communications vid\u00e9o devient un projet \u00e0 part enti\u00e8re au sein de Skyeng, travaillant sur son propre produit, et ne se limite plus simplement \u00e0 Vimbox. Cela signifie que nous commen\u00e7ons \u00e0 chercher des personnes pour <noindex><a rel=\"nofollow\" href=\"https:\/\/spb.hh.ru\/vacancy\/30766332\">un emploi \u00e0 temps plein dans le domaine de la vid\u00e9o.<\/a><\/noindex>. Comme toujours, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skyeng\/blog\/446444\/\">nous recherchons beaucoup de bonnes personnes.<\/a><\/noindex>.<\/p>\n<p>Et bien s\u00fbr, nous continuons \u00e0 communiquer activement avec des personnes et des entreprises travaillant dans le domaine des communications vid\u00e9o. Si vous souhaitez \u00e9changer des exp\u00e9riences avec nous, nous serons ravis ! N'h\u00e9sitez pas \u00e0 commenter ou \u00e0 nous contacter \u2014 nous r\u00e9pondrons \u00e0 tous.<\/p>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skyeng\/blog\/446444\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0438\u0434\u0435\u043e\u0441\u0432\u044f\u0437\u044c \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 Vimbox. \u041c\u044b \u0434\u0430\u0432\u043d\u043e \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u043e\u0442 Skype, \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0438 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u0441\u0432\u044f\u0437\u043a\u0435 WebRTC \u2014 Janus-gateway. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0441 \u0432\u0441\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u043e, \u043d\u043e \u0432\u0441\u0435 \u0436\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u043b\u0438 \u0432\u044b\u043b\u0435\u0437\u0430\u0442\u044c. \u0412 \u0438\u0442\u043e\u0433\u0435 \u0431\u044b\u043b\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u0432\u0438\u0434\u0435\u043e. \u042f \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043b \u041a\u0438\u0440\u0438\u043b\u043b\u0430 \u0420\u043e\u0433\u043e\u0432\u043e\u0433\u043e, \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":22826,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-30842","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0438\u0434\u0435\u043e\u0441\u0432\u044f\u0437\u044c \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u0449\u0435\u043d\u0438\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u0442 Skype \u0434\u043e WebRTC: \u043a\u0430\u043a \u043c\u044b \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0432\u0438\u0434\u0435\u043e\u0441\u0432\u044f\u0437\u044c \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0438\u0434\u0435\u043e\u0441\u0432\u044f\u0437\u044c \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u0449\u0435\u043d\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:37:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-02-01T09:37:06+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47De Skype \u00e0 WebRTC : comment nous avons organis\u00e9 la communication vid\u00e9o via le web | ProHoster","description":"La communication vid\u00e9o est le principal moyen d'\u00e9change.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u0442 Skype \u0434\u043e WebRTC: \u043a\u0430\u043a \u043c\u044b \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0432\u0438\u0434\u0435\u043e\u0441\u0432\u044f\u0437\u044c \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431 | ProHoster","og:description":"\u0412\u0438\u0434\u0435\u043e\u0441\u0432\u044f\u0437\u044c \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u0449\u0435\u043d\u0438\u044f.","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:37:44+00:00","article:modified_time":"2021-02-01T09:37:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30842","title":null,"description":"","keywords":"","keyphrases":null,"primary_term":null,"canonical_url":"","og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 03:14:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:28:46","updated":"2026-01-21 03:14:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/30842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=30842"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/30842\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/22826"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=30842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=30842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=30842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}