ãããªã³ãã¥ãã±ãŒã·ã§ã³ã¯ãVimbox ãã©ãããã©ãŒã äžã§æåž«ãšçåŸã®éã§è¡ãããäž»ãªã³ãã¥ãã±ãŒã·ã§ã³æ¹æ³ã§ãã ç§ãã¡ã¯ãã£ãšåã« Skype ãè«Šããããã€ãã®ãµãŒãããŒã㣠ãœãªã¥ãŒã·ã§ã³ãè©ŠããŸããããæçµçã«ã¯ WebRTC ãš Janus ã²ãŒããŠã§ã€ã®çµã¿åããã«èœã¡çããŸããã ãã°ããã®éãç§ãã¡ã¯ãã¹ãŠã«æºè¶³ããŠããŸããããããã§ãããã€ãã®ãã€ãã¹é¢ãçŸãç¶ããŸããã ãã®çµæãå¥ã®ãããªãã£ã¬ã¯ã·ã§ã³ãäœæãããŸããã
ç§ã¯ãæ°ããæ¹åæ§ã®è²¬ä»»è ã§ããããªã«ã»ããŽãŽã©ã€æ°ã«ãSkyeng ã§ã®ãããªã³ãã¥ãã±ãŒã·ã§ã³ã®é²åãçºèŠãããåé¡ãæçµçã«äœ¿çšãã解決çãšæŸèæã«ã€ããŠè©±ãããäŸé ŒããŸããã ãã®èšäºããWeb ã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠèªç€Ÿã§ãããªãäœæããäŒæ¥ã«ã圹ç«ã€ããšãé¡ã£ãŠããŸãã
æŽå²ãå°ã
2017 幎ã®å€ãSkyeng éçºè²¬ä»»è
ã® Sergey Safonov 㯠Backend Conf ã§ãã©ã®ããã«ããŠãSkype ãæŸæ£ããWebRTC ãå®è£
ãããã®ãã«ã€ããŠè©±ããŸããã èå³ã®ããæ¹ã¯ãã¹ããŒãã®é²ç»ãã芧ããã ããŸãã
Skyeng School ã«ãšã£ãŠããããªéä¿¡ã¯åžžã«æåž«ãšçåŸã®ã³ãã¥ãã±ãŒã·ã§ã³ã®åªå æ段ã§ããã åœå㯠Skype ã䜿çšãããŠããŸããããäž»ã«ãã°ãäžè¶³ããŠãããââãWeb ã¢ããªã±ãŒã·ã§ã³ã«çŽæ¥çµ±åã§ããªããªã©ãããŸããŸãªçç±ããå®å šã«ã¯æºè¶³ã®ãããã®ã§ã¯ãããŸããã§ããã ããã§ãç§ãã¡ã¯ããããçš®é¡ã®å®éšãå®æœããŸããã
å®éããããªã³ãã¥ãã±ãŒã·ã§ã³ã«å¯Ÿããç§ãã¡ã®èŠä»¶ã¯ããã次ã®ãšããã§ããã
- å®å®æ§;
â ã¬ãã¹ã³ãããã®æéãå®ãã
â ã¬ãã¹ã³ãé²é³ããã
â 誰ãã©ã®ããã話ããã远跡ããïŒã¬ãã¹ã³äžã«çåŸãæåž«ãããå€ã話ãããšãç§ãã¡ã«ãšã£ãŠéèŠã§ãïŒã
â ç·åœ¢ã¹ã±ãŒãªã³ã°;
- UDP ãš TCP ã®äž¡æ¹ã䜿çšããæ©èœã
æåã«è©Šã¿ãã®ã¯ã2013 幎㫠Tokbox ãå®è£ ããããšã§ããã ãã¹ãŠã¯è¯ãã£ãã®ã§ãããã¬ãã¹ã³ããšã« 113 ã«ãŒãã«ãšéåžžã«é«äŸ¡ã§ããããšãå€æããå©çãé£ãã€ã¶ããŠããŸããŸããã
ãã㊠2015 幎㫠Voximplant ãçµ±åãããŸããã ããã¯ã誰ãã©ã®ããã話ãããã远跡ããããã«å¿ èŠãªæ©èœã§ãããåæã«ãœãªã¥ãŒã·ã§ã³ã¯ã¯ããã«å®äŸ¡ã§ãããé³å£°ã®ã¿ãé²é³ããå Žåãã¬ãã¹ã³ããšã« 20 ã«ãŒãã«ããããŸããã ãã ããUDP çµç±ã§ã®ã¿æ©èœããTCP ã«åãæ¿ããããšã¯ã§ããŸããã§ããã ããããçŽ 40% ã®åŠçãæçµçã«ããã䜿çšããŸããã
XNUMX 幎åŸãç¬èªã®èŠä»¶ãæã€æ³äººé¡§å®¢ãå¢ãå§ããŸããã ããšãã°ããã¹ãŠããã©ãŠã¶çµç±ã§æ©èœããå¿ èŠããããŸãããäŒç€Ÿã§ã¯ http ãš https ã®ã¿ãéããŸãã ã€ãŸããSkype ã UDP ã¯ãããŸããã æ³äººé¡§å®¢ïŒãéãªã®ã§Tokboxã«æ»ã£ãããäŸ¡æ Œã®åé¡ã¯è§£æ±ºããªãã£ãã
ãœãªã¥ãŒã·ã§ã³ - WebRTC ãš Janus
䜿çšããããšã«ããŸãã
èŠæ
ããã£ãå Žåã«ããã«åæã§ããããã«ã¬ãã¹ã³ãèšé²ããããããéåžžã® p2p æ¥ç¶ã§ã¯ååã§ã¯ãããŸããã ãããã£ãŠãWebRTC ã¹ããªãŒã ããªã¬ãŒçµç±ã§éä¿¡ããŸãã
2017 幎ã®å€ãã¡ã€ã³ãµãŒããŒã®ããã»ããµãŒãå æããªãããã«ã80 å°ã® Janus ãµãŒããŒã«å ããŠãé²é³ãããçã®ãªãŒãã£ãª ãã¡ã€ã«ãšãã㪠ãã¡ã€ã«ãåŠçããããã®è¿œå ãµãŒããŒãå®è¡ããŠããŸããã æ¥ç¶ãããšããJanus ãµãŒããŒã¯å¥æ°ãšå¶æ°ã®åºæº (æ¥ç¶çªå·) ã«åºã¥ããŠéžæãããŸãã åœæã¯ããã§ååã§ãããç§ãã¡ã®æèŠã«ããã°ãçŽ 2 åã®å®å šããŒãžã³ããããå®è£ çã¯çŽ XNUMX ã§ãããåæã«ãäŸ¡æ Œã¯ XNUMX ã¬ãã¹ã³ãããçŽ XNUMX ã«ãŒãã«ã«æžé¡ãããããã«éçºãšãµããŒããè¿œå ãããŸããã
ãããªã³ãã¥ãã±ãŒã·ã§ã³ã®è©±ã«æ»ããŸã
ç§ãã¡ã¯åé¡ãã¿ã€ã ãªãŒã«ç¹å®ããŠä¿®æ£ããããã«ãçåŸãæåž«ããã®ãã£ãŒãããã¯ãåžžã«ç£èŠããŠããŸãã 2018 幎ã®å€ãŸã§ã«ãé話å質ã¯èŠæ ã®äžã§æç¶ç¬¬ XNUMX äœã«ãªããŸããã äžæ¹ã§ãããã¯ä»ã®æ¬ ç¹ãå æããããšã«æåããããšãæå³ããŸãã äžæ¹ã§ãæ©æ¥ã«äœããããå¿ èŠããããŸãããã¬ãã¹ã³ãäžæããããšãå Žåã«ãã£ãŠã¯æ¬¡ã®ããã±ãŒãžã®è³Œå ¥è²»çšãšãšãã«ãã®äŸ¡å€ã倱ããªã¹ã¯ãããããŸããå ¥éã¬ãã¹ã³ãäžæããããšãæœåšçãªé¡§å®¢ã倱ããªã¹ã¯ããããŸããå šãã
åœæããããªã³ãã¥ãã±ãŒã·ã§ã³ã¯ãŸã MVPã¢ãŒãã§ããã ç°¡åã«èšãã°ã圌ãã¯ãããç«ã¡äžããããŸããããäžåºŠæ¡åŒµãããã®æ¹æ³ãç解ããŸããããŸããçŽ æŽãããã§ãã æ©èœããå Žåã¯ãä¿®æ£ããªãã§ãã ããã éä¿¡å質ã®åé¡ãæå³çã«åãäžãã人ã¯èª°ãããŸããã§ããã XNUMX æãŸã§ã«ããããç¶ç¶ã§ããªãããšãæããã«ãªããWebRTC ãš Janus ã®äœãåé¡ãªã®ãã解æããããã«å¥ã®æ¹åæ§ãæã¡åºããŸããã
ã€ã³ãããã§ã¯ãMVP ãœãªã¥ãŒã·ã§ã³ãææšãªããç®æšãªããæ¹åããã»ã¹ãªããäžæ¹ã§ 7% ã®æåž«ãã³ãã¥ãã±ãŒã·ã§ã³ã®è³ªã«ã€ããŠäžæºãæ±ããŠãã (åŠçã«é¢ããããŒã¿ããªãã£ã) ãšããæ瀺ãåããŸããã
æ°ããæ¹åæ§ãé²è¡äžã§ã
ã³ãã³ãã¯æ¬¡ã®ããã«ãªããŸãã
- éšéã®è²¬ä»»è ã§ãããäž»èŠãªéçºè ã§ããããŸãã
- QA ã¯ãå€æŽã®ãã¹ããæ¯æŽããäžå®å®ãªéä¿¡ç¶æ ãäœãåºãæ°ããæ¹æ³ãæ¢ããæåç·ããåé¡ãå ±åããŸãã
- ã¢ããªã¹ãã¯åžžã«æè¡ããŒã¿ã®ããŸããŸãªçžé¢é¢ä¿ãæ¢ãããŠãŒã¶ãŒããã®ãã£ãŒãããã¯ã®åæãæ¹åããå®éšã®çµæã確èªããŸãã
- ãããã¯ã ãããŒãžã£ãŒã¯ãå šäœçãªæ¹åæ§ãšå®éšã®ããã®ãªãœãŒã¹ã®å²ãåœãŠãæ¯æŽããŸãã
- XNUMX 人ç®ã®éçºè ã¯ãããã°ã©ãã³ã°ãé¢é£ã¿ã¹ã¯ãæäŒãããšããããããŸãã
ãŸããéä¿¡å質è©äŸ¡ã®å€åã远跡ããæ¯èŒçä¿¡é Œæ§ã®é«ãææšãèšå®ããŸãã (æ°æ¥ãæ°é±éãæ°ãæã«ãããå¹³å)ã åœæããããã¯æåž«ããã®æ瞟ã§ããããåŸã«çåŸããã®æ瞟ãè¿œå ãããŸããã ãããã圌ãã¯ãäœãééã£ãŠæ©èœããŠããã®ãã«ã€ããŠä»®èª¬ãç«ãŠããããä¿®æ£ãããã€ããã¯ã¹ã®å€åã芳å¯ãå§ããŸããã ç§ãã¡ã¯ãç°¡åã«å®çŸã§ããææãç®æããŸãããããšãã°ãvp8 ã³ãŒããã¯ã vp9 ã«çœ®ãæãããšãããã©ãŒãã³ã¹ãåäžããŸããã ç§ãã¡ã¯ Janus ã®èšå®ãããã£ãããä»ã®å®éšãè¡ã£ããããŸããããã»ãšãã©ã®å Žåãäœãèµ·ãããŸããã§ããã
第 XNUMX 段éã§ã¯ãWebRTC ã¯ãã¢ããŒã㢠ãœãªã¥ãŒã·ã§ã³ã§ãããäžéã«ãµãŒããŒã䜿çšãããšãã仮説ãæµ®ãã³äžãããŸããã ããããåé¡ã¯ããã«ããã®ã§ããããïŒ ç§ãã¡ã¯èª¿æ»ãéå§ãããããŸã§ã§æãéèŠãªæ¹åãçºèŠããŸããã
ãã®æç¹ã§ãããªãæããªã¢ã«ãŽãªãºã ã䜿çšããŠããŒã«ãããµãŒããŒãéžæãããŸãããåãµãŒããŒã«ã¯ãã£ãã«ãšé»åã«å¿ããŠç¬èªã®ãéã¿ãããããæ倧ã®ãéã¿ããæã€ãµãŒããŒã«ãŠãŒã¶ãŒãéä¿¡ããããšããŸããããŠãŒã¶ãŒãå°ççã«ã©ãã«ãããã«æ³šæãæããŸãã ãã®çµæããµã³ã¯ãããã«ãã«ã¯ã®æåž«ã¯ããµã³ã¯ãããã«ãã«ã¯ã® Janus ãµãŒããŒçµç±ã§ã¯ãªããã¢ã¹ã¯ã¯çµç±ã§ã·ããªã¢ã®çåŸãšéä¿¡ã§ããããã«ãªããŸããã
ã¢ã«ãŽãªãºã ãèŠçŽãããŸãããçŸåšããŠãŒã¶ãŒããã©ãããã©ãŒã ãéããšãAjax ã䜿çšããŠãŠãŒã¶ãŒãããã¹ãŠã®ãµãŒããŒãžã® ping ãåéãããŸãã æ¥ç¶ã確ç«ãããšããæå°éã® ping ã®ã㢠(æåž«ãµãŒããŒãšçåŸãµãŒããŒ) ãéžæããŸãã ping ãå°ãªããšããããšã¯ããµãŒããŒãŸã§ã®ãããã¯ãŒã¯è·é¢ãçãããšãæå³ããŸãã è·é¢ãçãã»ã©ããã±ããã倱ãããå¯èœæ§ãäœããªããŸãã ãã±ãããã¹ã¯ãããªéä¿¡ã«ãããæ倧ã®ãã€ãã¹èŠå ã§ãã åŠå®çãªæèŠã®å²å㯠XNUMX ãæã§ååã«æžå°ããŸãã (å ¬å¹³ãæãããã«èšããšããã®ææã«ä»ã®å®éšãå®æœãããŸãããããããæã倧ããªåœ±é¿ãåãŒããã®ã¯ã»ãŒééããããŸãã)ã
ç§ãã¡ã¯æè¿ããã 300 ã€ã®æçœã§ã¯ãªããã®ã®æããã«éèŠãªããšãçºèŠããŸãããããã¯ã倪ããã£ãã«äžã« 420 å°ã®åŒ·å㪠Janus ãµãŒããŒã眮ã代ããã«ã垯åå¹ ãçã 300 å°ã®ã·ã³ãã«ãªãµãŒããŒã䜿çšããæ¹ãè¯ããšããããšã§ãã ãã®ããšã¯ãã§ããã ãå€ãã®éšå± (éä¿¡ã»ãã·ã§ã³) ãåæã«è©°ã蟌ãããšãæåŸ ããŠåŒ·åãªãã·ã³ãè³Œå ¥ããåŸã«æããã«ãªããŸããã ãµãŒããŒã«ã¯åž¯åå¹ ã®å¶éãããããããæ£ç¢ºã«éšå±ã®æ°ã«æç®ã§ããŸããããšãã°ã200 Mbit/s ã§éãããšãã§ããéšå±ã®æ°ãããã£ãŠããŸãã ãµãŒããŒäžã§éããŠããã«ãŒã ãå€ããããšãè² è·ã軜æžããããŸã§æ°ããã¢ã¯ãã£ããã£ã«ãã®ãµãŒããŒãéžæããã®ãåæ¢ããŸãã 匷åãªãã·ã³ãè³Œå ¥ãããããã®ãã·ã³ã«ãã£ãã«ãæ倧éã«ããŒãããæçµçã«ã¯åž¯åå¹ ã§ã¯ãªãããã»ããµãšã¡ã¢ãªã«ãã£ãŠå¶éãããããã«ãããšããèãã§ããã ããããããã»ããµãã¡ã¢ãªããã£ã¹ã¯ãžã®è² è·ããŸã éçããã»ã©é ãã«ãããããããäžå®æ°ã®ã«ãŒã (XNUMX) ãéããããšããã¯ãã«ã« ãµããŒãã«åŠå®çãªæèŠãå±ãå§ããããšãå€æããŸããã ã©ããããã€ãã¹ã®å éšã§äœããæªåããŠããããã§ãããããããããã«ãããã€ãã®å¶éãããã§ãããã ç§ãã¡ã¯å®éšãéå§ãã垯åå¹ å¶éã XNUMX Mbit/s ãã XNUMX Mbit/s ã«äžãããšãããåé¡ã¯è§£æ±ºããŸããã ä»åãå¶éãç¹æ§ãäœãæ°ãããµãŒããŒãäžåºŠã«XNUMXå°è³Œå ¥ããŸãããããã«ãããå®å®ããéä¿¡å質ã®åäžã«ã€ãªãããšèããŠããŸãã ãã¡ãããç§ãã¡ã¯ããã§äœãèµ·ãã£ãŠããã®ãç解ããããšããããã§ã¯ãªããæŸèæããã¹ãŠã§ãã ç§ãã¡ã®åŒè·ã®ããã«ããã®ç¬éãå·®ãè¿«ã£ãåé¡ãã§ããã ãæ©ã解決ããå¿ èŠããããããããããã«è§£æ±ºããå¿ èŠããªãã£ããšããŸãããã ããã«ãç§ãã¡ã«ãšã£ãŠ Janus 㯠C ã§æžããããã©ãã¯ããã¯ã¹ã§ãããããããããã®ã¯éåžžã«é«äŸ¡ã§ãã
ããŠããã®éçšã§æ¬¡ã®ããšãè¡ããŸãã
- ãµãŒããŒãšã¯ã©ã€ã¢ã³ãã®äž¡æ¹ã§ãæŽæ°ã§ãããã¹ãŠã®äŸåé¢ä¿ãæŽæ°ããŸãã (ããããå®éšã§ãããçµæãç£èŠããŸãã)ã
- ç¹å®ã®ã±ãŒã¹ã«é¢é£ããç¹å®ã®ãã° (æ¥ç¶ãåæãããèªåçã«åŸ©å ãããªãã£ãå Žåãªã©) ããã¹ãŠä¿®æ£ããŸããã
- ç§ãã¡ã¯ããããªéä¿¡ã®åéã§æŽ»åããç§ãã¡ã®åé¡ãçç¥ããŠããäŒæ¥ãšäœåºŠãäŒè°ãéããŸããã ç§ãã¡ã¯åœ¹ã«ç«ã¡ãããªããšã¯ãã¹ãŠè©ŠããŸããã
- æãå€ãã®èŠæ ãå¯ããããæåž«ã®ããŒããŠã§ã¢ãšã³ãã¥ãã±ãŒã·ã§ã³ã®è³ªã«é¢ããæè¡çãªã¬ãã¥ãŒãå®æœããŸããã
ãã®å®éšãšãã®åŸã®å€æŽã«ãããæåž«éã®ã³ãã¥ãã±ãŒã·ã§ã³ã«å¯Ÿããäžæºã¯ã7,1幎2018æã®2,5%ãã2019幎XNUMXæã«ã¯XNUMX%ã«æžå°ããããšãã§ããŸããã
次ã®ã¹ããã
Vimbox ãã©ãããã©ãŒã ã®å®å®åã¯ã2019 幎ã®åœç€Ÿã®äž»èŠãããžã§ã¯ãã® XNUMX ã€ã§ãã ãã®å¢ããç¶æããèŠæ ã®äžäœã«ãã㪠ã³ãã¥ãã±ãŒã·ã§ã³ãå«ãŸããªããªãããšãæåŸ ããŠããŸãã ãããã®èŠæ ã®ããªãã®éšåããŠãŒã¶ãŒã®ã³ã³ãã¥ãŒã¿ãã€ã³ã¿ãŒãããã®é 延ã«é¢é£ããŠããããšã¯ç解ããŠããŸããããã®éšåãç¹å®ããæ®ãã解決ããå¿ èŠããããŸãã ãã以å€ã¯æè¡çãªåé¡ãªã®ã§ããªããšã察å¿ã§ãããã§ãã
æ倧ã®é£ç¹ã¯ãå®éã«ã©ã®ã¬ãã«ãŸã§å質ãåäžãããããšãå¯èœãªã®ããåãããªãããšã§ãã ãã®äžéãèŠã€ããããšãäž»ãªã¿ã¹ã¯ã§ãã ãããã£ãŠã次㮠XNUMX ã€ã®å®éšãèšç»ãããŸããã
- æŠéç¶æ 㧠Janus çµç±ã®ãããªãšéåžžã® P2P ãæ¯èŒããŸãã ãã®å®éšã¯ãã§ã«å®æœãããŠãããç§ãã¡ã®ãœãªã¥ãŒã·ã§ã³ãš p2p ã®éã«çµ±èšçã«ææãªå·®ã¯èŠã€ãããŸããã§ããã
- ãããªéä¿¡ãœãªã¥ãŒã·ã§ã³ã®ã¿ã§åçãäžããŠããäŒæ¥ããïŒé«äŸ¡ãªïŒãµãŒãã¹ãæäŸããããããã®ãã€ãã¹ã®éãæ¢åã®ãµãŒãã¹ãšæ¯èŒããŠã¿ãŸãããã
ããã XNUMX ã€ã®å®éšã«ãããéæå¯èœãªç®æšãç¹å®ããããã«éäžããããšãã§ããŸãã
ããã«ãæ¥åžžçã«è§£æ±ºã§ããã¿ã¹ã¯ãæ°å€ããããŸãã
- ç§ãã¡ã¯äž»èŠ³çãªã¬ãã¥ãŒã§ã¯ãªããã³ãã¥ãã±ãŒã·ã§ã³ã®è³ªã«é¢ããæè¡çãªææšãäœæããŸãã
- çºçããé害ãããæ£ç¢ºã«åæããæ£ç¢ºã«ãã€ã©ãã§çºçããã®ãããã®ç¬éã«ã©ã®ãããªäžèŠç¡é¢ä¿ãªã€ãã³ããçºçããããç解ããããã«ããã詳现ãªã»ãã·ã§ã³ ãã°ãäœæããŸãã
- ã¬ãã¹ã³åã«èªåæ¥ç¶å質ãã¹ããæºåããŸãããŸããããŒããŠã§ã¢ãšãã£ãã«ã«ãã£ãŠåŒãèµ·ãããããã€ãã¹ã®éãæžããããã«ãã¯ã©ã€ã¢ã³ãã«æ¥ç¶ãæåã§ãã¹ãããæ©äŒãäžããŸãã
- ãã±ããæ倱ãå€åãããªã©ãå£æªãªæ¡ä»¶äžã§ã®ãããªéä¿¡è² è·ãã¹ããããã«éçºããŠå®æœããŸãã
- ãã©ãŒã«ããã¬ã©ã³ã¹ãé«ããããã«ãåé¡ãçºçããå Žåã®ãµãŒããŒã®åäœãå€æŽããŸãã
- Skype ãšåæ§ã«ãæ¥ç¶ã«äœãåé¡ãããå Žåã¯ãŠãŒã¶ãŒã«èŠåããåé¡ã¯èªååŽã«ããããšãç解ããŠããããŸãã
XNUMX æ以éããã㪠ã³ãã¥ãã±ãŒã·ã§ã³ã®æ¹åæ§ã¯ Skyeng å
ã®æ¬æ Œçãªå¥ã®ãããžã§ã¯ããšãªããVimbox ã®äžéšã ãã§ãªããç¬èªã®è£œåãæ±ã£ãŠããŸãã ããã¯ãç§ãã¡ã人æãæ¢ãå§ããŠããããšãæå³ããŸãã
ãããŠãã¡ãããç§ãã¡ã¯ãããªã³ãã¥ãã±ãŒã·ã§ã³ã«åãçµã人ã ãäŒæ¥ãšã®ç©æ¥µçãªã³ãã¥ãã±ãŒã·ã§ã³ãç¶ããŸãã ç§ãã¡ãšçµéšã亀æãããå Žåã¯ãåãã§ãããŠããã ããŸã! ã³ã¡ã³ãããé£çµ¡ãã ãã - å šå¡ã«ãçãããŸãã
åºæïŒ habr.com