Аз Skype то WebRTC: чӣ гуна мо алоқаи видеоиро тавассути веб ташкил кардем

Аз Skype то WebRTC: чӣ гуна мо алоқаи видеоиро тавассути веб ташкил кардем

Муоширати видеоӣ роҳи асосии муоширати омӯзгор ва донишҷӯ дар платформаи Vimbox мебошад. Мо муддати тӯлонӣ аз Skype даст кашида, якчанд ҳалли тарафҳои сеюмро санҷида, дар ниҳоят дар комбинатсияи WebRTC - Janus-gateway қарор гирифтем. Чанд вакт мо аз хама чиз хурсанд будем, вале хануз хам баъзе чихатхои манфй пайдо мешуданд. Дар натиҷа, як самти алоҳидаи видеоӣ таъсис дода шуд.

Ман аз Кирилл Роговой, роҳбари самти нав хоҳиш кардам, ки дар бораи таҳаввулоти алоқаи видеоӣ дар Skyeng, мушкилоти кашфшуда, роҳҳои ҳалли онҳо ва асобагоне, ки мо дар ниҳоят истифода кардем, сӯҳбат кунад. Умедворем, ки мақола барои ширкатҳое муфид хоҳад буд, ки тавассути веб-барнома худашон видео эҷод мекунанд.

Якчанд таърих

Тобистони соли 2017, роҳбари рушди Skyeng, Сергей Сафонов дар Backend Conf бо як ҳикоя дар бораи он ки чӣ гуна мо "Skype-ро тарк карда, WebRTC-ро амалӣ кардем" суханронӣ карда буд. Хоҳишмандон метавонанд сабти суханро дар ин ҷо тамошо кунанд пайванд (~45 дақ) ва дар ин ҷо ман мухтасар моҳияти онро баён мекунам.

Барои Мактаби Skyeng, алоқаи видеоӣ ҳамеша роҳи афзалиятноки муоширати муаллим ва донишҷӯ буд. Дар аввал, Skype истифода мешуд, аммо он бо як қатор сабабҳо, пеш аз ҳама аз сабаби набудани гузоришҳо ва имконнопазирии ҳамгироии мустақим ба веб-барнома қаноатбахш набуд. Аз ин рӯ, мо ҳама гуна таҷрибаҳоро анҷом додем.

Воқеан, талаботи мо барои алоқаи видеоӣ тақрибан инҳо буданд:
- устуворӣ;
— нархи пасти як дарс;
— сабти дарсҳо;
— пайгирии кӣ чӣ қадар сухан мегӯяд (барои мо муҳим аст, ки донишҷӯён дар вақти дарс бештар аз муаллим ҳарф зананд);
— миқёси хатӣ;
- қобилияти истифодаи UDP ва TCP.

Аввалин кӯшише буд, ки Tokbox дар соли 2013 татбиқ карда шавад. Ҳама чиз хуб буд, аммо хеле гарон шуд - 113 рубл барои як дарс - ва фоидаро хурд.

Сипас дар соли 2015, Voximplant муттаҳид карда шуд. Дар ин ҷо функсияе буд, ки мо бояд пайгирӣ кунем, ки кӣ чӣ қадар гап мезанад ва дар айни замон ҳалли он хеле арзонтар буд: агар танҳо аудио сабт карда шавад, он барои як дарс 20 рубл арзиш дорад. Аммо, он танҳо тавассути UDP кор мекард ва наметавонад ба TCP гузаред. Бо вуҷуди ин, тақрибан 40% донишҷӯён онро истифода бурданд.

Пас аз як сол, мо муштариёни корпоративиро бо талаботҳои мушаххаси худ оғоз кардем. Масалан, ҳама чиз бояд тавассути браузер кор кунад, ширкат танҳо http ва https -ро мекушояд; яъне Skype ё UDP нест. Мизоҷони корпоративӣ = пул, бинобар ин онҳо ба Tokbox баргаштанд, аммо мушкилоти нарх аз байн нарафт.

Ҳалли - WebRTC ва Janus

Карор дод, ки истифода барад платформаи браузер барои алоқаи видеоии ҳамсол ба ҳамсол WebRTC. Он барои барқарор кардани пайвастшавӣ, рамзгузорӣ ва рамзкушоӣ кардани ҷараёнҳо, ҳамоҳангсозии роҳҳо ва назорати сифат бо коркарди хатогиҳои шабака масъул аст. Дар навбати худ, мо бояд мутолиаи ҷараёнҳоро аз камера ва микрофон, кашидани видео, идоракунии пайвастшавӣ, таъсиси пайвасти WebRTC ва интиқоли ҷараёнҳо ба он, инчунин интиқоли паёмҳои сигнализатсия байни муштариёнро барои барқарор кардани пайваст таъмин кунем (WebRTC худ танҳо формати маълумот, аммо на интиқоли механизми он). Агар мизоҷон дар паси NAT бошанд, WebRTC серверҳои STUN-ро мепайвандад; агар ин ёрӣ надиҳад, серверҳоро TURN кунед.

Пайвасти муқаррарии p2p барои мо кофӣ нест, зеро мо мехоҳем дарсҳоро барои таҳлили минбаъда дар сурати шикоят сабт кунем. Аз ин рӯ, мо ҷараёнҳои WebRTC-ро тавассути реле мефиристем Gateway Janus аз ҷониби Meetecho. Дар натиҷа, муштариён суроғаҳои якдигарро намедонанд, танҳо суроғаи сервери Janus-ро мебинанд; он инчунин вазифаҳои сервери сигналиро иҷро мекунад. Janus дорои бисёр хусусиятҳое мебошад, ки ба мо лозим аст: агар муштарӣ UDP баста бошад, ба таври худкор ба TCP мегузарад; метавонад ҳам ҷараёнҳои UDP ва TCP -ро сабт кунад; миқёспазир; Ҳатто як плагини дарунсохт барои санҷишҳои эхо мавҷуд аст. Агар лозим бошад, серверҳои STUN ва TURN аз Twilio ба таври худкор пайваст мешаванд.

Тобистони соли 2017, мо ду сервери Janus кор мекардем ва илова бар он сервери иловагӣ барои коркарди файлҳои аудио ва видеои хоми сабтшуда кор мекард, то протсессори асосии серверҳоро ишғол накунад. Ҳангоми пайвастшавӣ серверҳои Janus дар асоси тоқ-ҷуфт интихоб карда шуданд (рақами пайвастшавӣ). Дар он вақт, ин кофӣ буд, мувофиқи эҳсосоти мо, он тақрибан чор маротиба маржаи бехатариро дод, фоизи татбиқ тақрибан 80 буд. Дар айни замон, нарх то ~ 2 рубл барои як дарс кам карда шуд, плюс рушд ва дастгирӣ.

Аз Skype то WebRTC: чӣ гуна мо алоқаи видеоиро тавассути веб ташкил кардем

Бозгашт ба мавзӯи алоқаи видеоӣ

Барои сари вақт ошкор ва ислоҳ кардани мушкилот мо фикру мулоҳизаҳои донишҷӯён ва омӯзгоронро пайваста назорат мекунем. То тобистони соли 2018, сифати зангҳо дар байни шикоятҳо дар ҷои аввал қарор дошт. Ин аз як тараф чунин маъно дошт, ки мо камбудихои дигарро бомуваффакият бартараф кардем. Аз тарафи дигар, фавран коре кардан лозим буд: агар дарс халалдор шавад, мо хатари арзиши онро аз даст медиҳем, баъзан дар баробари харидани бастаи навбатӣ ва агар дарси муқаддимавӣ халалдор шавад, мо хатари аз даст додани муштарии эҳтимолиро дорем. умуман.

Он вақт алоқаи видеоии мо ҳанӯз дар ҳолати MVP буд. Оддӣ карда гӯем, онҳо онро ба кор андохтанд, кор кард, онро як маротиба васеъ карданд, онҳо фаҳмиданд, ки чӣ тавр ин корро кардан лозим аст - хуб, олӣ. Агар он кор кунад, онро ислоҳ накунед. Ба масъалаи сифати алока касе дидаю дониста машгул нашуд. То моҳи август маълум шуд, ки ин идома дода наметавонад ва мо як самти алоҳидаеро оғоз кардем, то фаҳмем, ки дар WebRTC ва Janus чӣ хато аст.

Ҳангоми ворид шудан, ин самт ба даст омад: ҳалли MVP, ҳеҷ метрикӣ, ҳеҷ гуна ҳадафҳо, равандҳои такмилдиҳӣ вуҷуд надорад, дар ҳоле ки 7% муаллимон аз сифати муошират шикоят мекунанд (дар бораи донишҷӯён низ маълумот вуҷуд надошт).

Аз Skype то WebRTC: чӣ гуна мо алоқаи видеоиро тавассути веб ташкил кардем

Самти нав идома дорад

Фармон чунин менамояд:

  • Сардори шуъба, ки хам-чунин тахиягари асосй мебошад.
  • QA дар санҷиши тағирот кӯмак мекунад, роҳҳои нави эҷоди шароити ноустувори иртиботро меҷӯяд ва мушкилотро аз хатти пеш хабар медиҳад.
  • Таҳлилгар пайваста таносуби гуногунро дар маълумоти техникӣ ҷустуҷӯ мекунад, таҳлили фикру мулоҳизаҳои корбаронро такмил медиҳад ва натиҷаҳои таҷрибаҳоро месанҷад.
  • Менеҷери маҳсулот дар самти умумӣ ва тақсимоти захираҳо барои таҷрибаҳо кӯмак мекунад.
  • Таҳиягари дуюм аксар вақт дар барномасозӣ ва вазифаҳои марбута кӯмак мекунад.

Барои оғоз, мо як метрикаи нисбатан боэътимодро таъсис додем, ки тағиротро дар арзёбии сифати алоқа (ба ҳисоби миёна дар тӯли рӯзҳо, ҳафтаҳо, моҳҳо) пайгирӣ мекард. Он вакт инхо бахои муаллимон буданд, баъдтар ба онхо бахои талабагон илова карда мешуданд. Он гоҳ онҳо ба сохтани гипотеза дар бораи он, ки чӣ нодуруст кор мекунад, ислоҳ карданд ва ба тағирот дар динамика назар карданд. Мо барои меваи паст овезон рафтем: масалан, мо кодеки vp8-ро бо vp9 иваз кардем, кор беҳтар шуд. Мо кӯшиш кардем, ки бо танзимоти Janus бозӣ кунем ва таҷрибаҳои дигар гузаронем - дар аксари ҳолатҳо онҳо ба ҳеҷ чиз оварда нарасонданд.

Дар марҳилаи дуюм, гипотеза пайдо шуд: WebRTC ҳалли ҳамсол ба ҳамсол аст ва мо серверро дар мобайн истифода мебарем. Шояд мушкилот дар ин ҷост? Мо ба кофтуков шурӯъ кардем ва то ҳол беҳбудии назаррасро дарёфтем.

Дар айни замон, сервер аз ҳавз бо истифода аз алгоритми хеле аблаҳона интихоб карда шуд: ҳар кадоми онҳо вобаста ба канал ва қудрат "вазни худро" дошт ва мо кӯшиш кардем корбарро ба яке аз калонтарин "вазн" фиристем. диққат додан ба он, ки корбар дар куҷо ҷойгир шудааст . Дар натиҷа як омӯзгор аз Санкт-Петербург метавонист бо донишҷӯи Сибир аз тариқи Маскав тамос бигирад, на тавассути сервери Януси мо дар Санкт-Петербург.

Алгоритм аз нав таҷдид карда шуд: ҳоло, вақте ки корбар платформаи моро мекушояд, мо аз ӯ ба ҳама серверҳо бо истифода аз Ajax пингҳо ҷамъ мекунем. Ҳангоми барқарор кардани пайвастшавӣ мо як ҷуфт пингро (муаллим-сервер ва донишҷӯ-сервер) бо миқдори камтарини онҳо интихоб мекунем. Камтар пинг маънои камтари масофаи шабакаро ба сервер дорад; масофаи кӯтоҳтар маънои кам кардани эҳтимолияти гум кардани бастаҳоро дорад; Аз даст додани пакет бузургтарин омили манфии алоқаи видеоӣ мебошад. Ҳиссаи манфӣ дар се моҳ ду маротиба коҳиш ёфт (одилона гуфтан мумкин аст, ки таҷрибаҳои дигар дар ин вақт гузаронида шуда буданд, аммо ин тақрибан бешубҳа таъсири бештар дошт).

Аз Skype то WebRTC: чӣ гуна мо алоқаи видеоиро тавассути веб ташкил кардем

Аз Skype то WebRTC: чӣ гуна мо алоқаи видеоиро тавассути веб ташкил кардем

Мо ба наздикӣ боз як чизи ғайриоддӣ, вале зоҳиран муҳимро кашф кардем: ба ҷои як сервери пурқудрати Janus дар канали ғафс, беҳтар аст, ки ду сервери соддатар бо маҷрои бориктар дошта бошанд. Ин пас аз он маълум шуд, ки мо мошинҳои пуриқтидорро бо умеди дар як вақт фаро гирифтани шумораи зиёди ҳуҷраҳо (сеансҳои коммуникатсия) харидем. Серверҳо маҳдудияти фарохмаҷро доранд, ки мо онро ба таври дақиқ ба шумораи ҳуҷраҳо тарҷума карда метавонем - мо медонем, ки чӣ қадар онҳоро метавон кушояд, масалан, дар 300 Мбит/с. Ҳамин ки дар сервер ҳуҷраҳои зиёд кушода мешаванд, мо то он даме, ки сарборӣ кам нашавад, мо интихоби онро барои фаъолиятҳои нав қатъ мекунем. Идеяи он буд, ки мо мошини пуриқтидорро харида, каналро ба он ҳадди аксар бор мекунем, то дар ниҳоят он бо протсессору хотира маҳдуд шавад, на бо фарохмаҷро. Аммо маълум шуд, ки пас аз шумораи муайяни утоқҳои кушод (420), сарфи назар аз он, ки сарборӣ ба протсессор, хотира ва диск ҳанӯз аз маҳдудиятҳо хеле дур аст, манфият ба дастгирии техникӣ шурӯъ мекунад. Эҳтимол, дар дохили Янус чизе бадтар мешавад, шояд дар онҷо низ баъзе маҳдудиятҳо вуҷуд дошта бошанд. Мо ба озмоиш шурӯъ кардем, маҳдудияти фарохмаҷро аз 300 то 200 Мбит/с паст кардем ва мушкилот бартараф шуд. Ҳоло мо якбора се сервери навро бо маҳдудиятҳо ва хусусиятҳои паст харидем, мо фикр мекунем, ки ин боиси устувории беҳтар шудани сифати алоқа мегардад. Албатта, мо кӯшиш накардем фаҳмем, ки дар он ҷо чӣ рӯй дода истодааст; асобагони мо ҳама чиз аст. Дар мудофизати мо бигуем, ки дар он лахза масъалаи тезутундро зудтар дал кардан лозим буд, на ин ки онро зебо анчом дод; ғайр аз ин, Янус барои мо қуттии сиёҳест, ки бо C навишта шудааст, бо он кор кардан хеле гарон аст.

Аз Skype то WebRTC: чӣ гуна мо алоқаи видеоиро тавассути веб ташкил кардем

Хуб, дар ин раванд мо:

  • ҳама вобастагиҳоро ҳам дар сервер ва ҳам дар мизоҷ навсозӣ кардан мумкин аст (инҳо низ таҷрибаҳо буданд, мо натиҷаҳоро назорат кардем);
  • ислоҳи ҳамаи хатогиҳои муайяншудаи марбут ба ҳолатҳои мушаххас, масалан, вақте ки пайвастшавӣ қатъ карда шуд ва ба таври худкор барқарор карда нашуд;
  • Мо бо ширкатҳое, ки дар соҳаи алоқаи видеоӣ кор мекунанд ва бо мушкилоти мо ошноӣ доранд, вохӯриҳои зиёд баргузор кардем: бозиҳои ҷараён, ташкили вебинарҳо; мо ҳама чизеро, ки барои мо муфид менамуд, кӯшиш мекардем;
  • Азназаргузаронии техникии тачхизот ва сифати алокаи муаллимоне гузаронд, ки аз онхо бештар шикоят омад.

Таҷрибаҳо ва тағйироти минбаъда имкон доданд, ки норозигӣ аз муоширати омӯзгорон аз 7,1% дар моҳи январи соли 2018 то 2,5% дар моҳи январи соли 2019 кам карда шавад.

Ин чӣ аст?

Ба эътидол овардани платформаи Vimbox мо яке аз лоиҳаҳои асосии ширкат барои соли 2019 мебошад. Мо умедворем, ки мо метавонем суръатро нигоҳ дорем ва дигар дар шикоятҳои боло алоқаи видеоиро набинем. Мо мефаҳмем, ки қисми зиёди ин шикоятҳо ба ақибмонӣ дар компютер ва интернети корбарон рабт доранд, вале мо бояд ин қисматро муайян кунем ва боқимондаашро ҳал кунем. Ҳама чизи дигар як мушкили техникӣ аст, ба назар чунин мерасад, ки мо бояд бо он мубориза барем.

Мушкилии асосӣ дар он аст, ки мо намедонем, ки воқеан сифатро то кадом дараҷа беҳтар кардан мумкин аст. Дарьёфтани ин шифт вазифаи асосй мебошад. Аз ин рӯ, ду озмоиш ба нақша гирифта шудааст:

  1. муқоиса кардани видео тавассути Janus бо p2p муқаррарӣ дар шароити ҷанг. Ин таҷриба аллакай гузаронида шудааст, дар байни ҳалли мо ва p2p фарқияти аз ҷиҳати оморӣ муҳим пайдо нашуд;
  2. Биёед хидматҳои (гаронарзишро) аз ширкатҳое пешниҳод кунем, ки танҳо аз рӯи ҳалли видеои алоқаи видеоӣ пул кор мекунанд ва миқдори манфии онҳоро бо мавҷуда муқоиса кунем.

Ин ду таҷриба ба мо имкон медиҳад, ки ҳадафи ноилшавандаро муайян кунем ва ба он диққат диҳем.

Илова бар ин, як қатор вазифаҳо мавҷуданд, ки онҳоро мунтазам ҳал кардан мумкин аст:

  • Мо ба ҷои баррасиҳои субъективӣ як метрикаи техникии сифати алоқаро эҷод мекунем;
  • Мо сабтҳои муфассалтари ҷаласаро таҳия мекунем, то нокомиҳои рухдодаро дақиқтар таҳлил кунем, фаҳмем, ки онҳо кай ва дар куҷо ба вуқӯъ пайвастанд ва дар он лаҳза чӣ рӯйдодҳои ба назар новобаста ба амал омадаанд;
  • Мо пеш аз дарс санҷиши автоматии сифати пайвастшавӣ омода мекунем ва инчунин ба муштарӣ имкон медиҳем, ки пайвастро дастӣ санҷанд, то миқдори манфии аз сахтафзор ва канали ӯ ба вуҷуд омадаро кам кунад;
  • мо озмоишҳои сарбории видеоии алоқаро дар шароити бад, бо талафоти тағйирёбандаи баста ва ғайра таҳия ва мегузаронем;
  • мо рафтори серверҳоро дар ҳолати мушкилот тағир медиҳем, то таҳаммулпазирии хатогиҳоро зиёд кунем;
  • Мо корбарро ҳушдор медиҳем, ки агар дар пайвасти ӯ умуман чизе хато бошад, мисли Skype, то ӯ фаҳмад, ки мушкилот дар тарафи ӯ аст.

Аз моҳи апрел, самти алоқаи видеоӣ ба як лоиҳаи алоҳидаи пурраи Skyeng табдил ёфт, ки бо маҳсулоти худ сарукор дорад, на танҳо як қисми Vimbox. Ин маънои онро дорад, ки мо ба ҷустуҷӯи одамон шурӯъ мекунем кор бо видео дар ҳолати пурра вақт. Хуб, чун ҳамеша Мо бисёр одамони хубро меҷӯем.

Ва, албатта, мо муоширати фаъолонаро бо одамон ва ширкатҳое, ки бо алоқаи видеоӣ кор мекунанд, идома медиҳем. Агар шумо хоҳед, ки бо мо таҷриба мубодила кунед, мо хурсанд хоҳем шуд! Шарҳ диҳед, тамос гиред - мо ба ҳама ҷавоб медиҳем.

Манбаъ: will.com