1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Zoomのアーキテクチャ調査(その1)

Posted at

https://qiita.com/ynwa0826/items/66ea83d4b851df4ce37d
https://webrtchacks.com/zoom-avoids-using-webrtc/

この辺を見て、Zoomのアーキテクチャを調べてみた。まだ途中。

通信概要

blob:https://zoom.us/49180403-9b2e-4fa5-bd85-9766f486f6c7:1 ready to start!
blob:https://zoom.us/454d0bbf-202e-4993-b4bf-e9098edd8de9:1 ready to start!
blob:https://zoom.us/05fc8168-cdef-490f-8c36-88e0c04ffb6d:1 ready to dec video!
blob:https://zoom.us/0847d4b6-0d6f-488f-a64f-709fb674afdd:1 ready to dec video!
blob:https://zoom.us/454d0bbf-202e-4993-b4bf-e9098edd8de9:1 JsAudioDec.js receive startMedia
blob:https://zoom.us/49180403-9b2e-4fa5-bd85-9766f486f6c7:1 JsAudioDec.js receive startMedia
blob:https://zoom.us/49180403-9b2e-4fa5-bd85-9766f486f6c7:1 Open_Audio_WebSocket_Connect
blob:https://zoom.us/49180403-9b2e-4fa5-bd85-9766f486f6c7:1 Open_Audio_WebSocket_Connect
blob:https://zoom.us/454d0bbf-202e-4993-b4bf-e9098edd8de9:1 Open_Audio_WebSocket_Connect
blob:https://zoom.us/454d0bbf-202e-4993-b4bf-e9098edd8de9:1 Open_Audio_WebSocket_Connect
blob:https://zoom.us/50d63bcc-9fd8-46fe-836b-8837b3a6dadc:1 Open_Sharing_WebSocket_Connect
blob:https://zoom.us/f30fc6c3-9411-444f-a40f-e7618219ce64:1 Open_Sharing_WebSocket_Connect
blob:https://zoom.us/05fc8168-cdef-490f-8c36-88e0c04ffb6d:1 Open_Video_WebSocket_Connect
blob:https://zoom.us/0847d4b6-0d6f-488f-a64f-709fb674afdd:1 Open_Video_WebSocket_Connect
blob:https://zoom.us/f30fc6c3-9411-444f-a40f-e7618219ce64:1 sharing_websocket_on_close
blob:https://zoom.us/05fc8168-cdef-490f-8c36-88e0c04ffb6d:1 video_websocket_on_close
blob:https://zoom.us/0847d4b6-0d6f-488f-a64f-709fb674afdd:1 video_websocket_on_close
blob:https://zoom.us/50d63bcc-9fd8-46fe-836b-8837b3a6dadc:1 sharing_websocket_on_close

WebRTCは使っていないことを改めて確認。
WebSocketは

  • Videoで2本
  • 画面共有で2本
  • 音声で4本
    最低2本必要なのは送受信それぞれで別のWebSocketを使っているからだろうと想定するのだけど、何故音声だけ4本?

プロトコル調査

Request URL: wss://zoomtyn70rwg.ty.zoom.us/wc/media/XXXXXXXXXXXX?type=a&cid=FF4D2EFA-A8F2-7F18-9CF5-YYYYYYYYYYYYYYY&mode=5
Request Method: GET
Status Code: 101 Switching Protocols
Connection: Upgrade
Sec-WebSocket-Accept: XXXXXXXXXXXXXXXXX
Upgrade: websocket
Accept-Encoding: gzip, deflate, br
Accept-Language: ja,en-US;q=0.9,en;q=0.8
Cache-Control: no-cache
Connection: Upgrade
Host: zoomtyn70rwg.ty.zoom.us
Origin: https://zoom.us
Pragma: no-cache
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Key: YYYYYYYYYYYYYYYYY
Sec-WebSocket-Version: 13
Upgrade: websocket
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
type: a
cid: FF4D2EFA-A8F2-7F18-9CF5-YYYYYYYYYYYYY
mode: 5

modeが1/2/5とあり、
画面共有が1/2
音声が2/5それぞれ2本ずつ
Videoが2/5それぞれ1本ずつ

modeはどう考えても内部通信モードを指していると考えられるとの、これ以外にそれほど変化がないことから
つまり音声だけは送受信に2本どうしても必要だったからこうなっている?

補足

https://qiita.com/yusuke84/items/428affe75affa16f104d
chrome://webrtc-internalsも一応見えるが、media系の情報は出てこないので、Iceとかその辺の制御系だけ利用し、それ以外は独自なんだろう。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?