-
Notifications
You must be signed in to change notification settings - Fork 4
๐ ์ต์ข ๋ฐํ ์ค๋น
- ํ์ **
๋ฌธ์ ํด๊ฒฐ ๊ฒฝํ**๊ณผ **๊ธฐ์ ์ ์์ฑ๋**์ ์ง์คํ์ฌ ๋ฐํํฉ๋๋ค.- ์ ์ฒด ๊ณผ์ ์ ๋ชจ๋ ์๋ ๊ฒ์ด ์๋๋ผ, ๊ทธ ์ค ์ฐ๋ฆฌ ํ์ ํต์ฌ์ ์ด์๋ ๋ด์ฉ์ ์ค์ฌ์ผ๋ก ๋ฐํํฉ๋๋ค.
- ์๋น์ค์ ์์ฑ๋๋ฅผ ๋์ด๊ธฐ ์ํด ์ ํํ ๊ธฐ์ ์ ์ด์ , ๊ณผ์ ์์ ๋ฐ์ํ ์ฃผ์ ์ด์, ์ด์๋ฅผ ํด๊ฒฐํ ๊ณผ์ , ์๋กญ๊ฒ ๋ฐฐ์ด ์ ๋ฑ ๊ธฐ์น์ ๊ฒฐ์ ๋ด์๋ณด์ธ์.
- ์งง์ ์๊ฐ ์์ ์ฌ๋ฌ๋ถ์ด ๋ฌด์์ ์ํด ์ผ๋ง๋ ๋ฌด์์ ์๋ํ๋์ง๊ฐ ๋ณด์ฌ์ผ ํฉ๋๋ค.
- ์๋น์ค ๊ธฐํ & ๊ธฐ๋ฅ ์๊ฐ, ๋์ ๋ฐ๋ชจ ๋ฑ์ ๋ฐํ์ ๋งฅ๋ฝ์ด ๋๋ ๋ด์ฉ์ ์ค์ฌ์ผ๋ก ์ต์ํํ์ฌ ๊ณต์ ํฉ๋๋ค.
- ํ์๊ฐ โ ์๋น์ค์๊ฐ โ FE/BE ๋ฌธ์ ํด๊ฒฐ ๊ฒฝํ?
- ํ/์๋น์ค ์๊ฐ(๋ฐ๋ชจ) 5๋ถ / ๊ธฐ์ ์ ๋ฌธ์ ํด๊ฒฐ ๊ฒฝํ 10๋ถ์ ๋ ํ๋๊ฑฐ ๊ฐ์์(์ด์ ๊ธฐ์ ๋ณด๋๊น)
- ์ข์ต๋๋ค.
- ์ฃผ์ ๊ธฐ๋ฅ, ๊ธฐ์ ์คํ, ์๋น์ค ์ํคํ ์ณ
https://www.youtube.com/watch?v=_u_GTshHPMs&list=PLzUx59pIXJDwdgQf6dNXFEOeG9792HGpX
- ๊ฐ๋จํ ํ์ ๋ฆฌ์คํธ
- ์๋น์ค ๊ธฐํ ๊ณ๊ธฐ
- ๊ฐ๋จํ ์๋น์ค ์๊ฐ
- ๋ฐ๋ชจ (์์)
-
WebRTC API ์ฌ์ฉํด์ ๊ตฌํํ๋ฉด์ ์ด๋ ค์ ๋ ๊ฒ ๋ชจ์์ ์ ๋ฆฌํ ๋ค์์ ์ ์ด๋ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
-
์๋๋ฐฉ ์คํฑ์์น๋ฅผ ์ค์๊ฐ์ผ๋ก ๊ณต์ ํ๊ธฐ ์ํด DataChannel์ ์ด์ฉ
์์ ์ง๋ฌธ
- ์คํฑ์์น๋ฅผ ํ๋ก ํธ์๋ ๋จ์์ ๊ด๋ฆฌํ์ ๋์ ์์ ์๋ชจ?
- ์คํฑ์์น๊ฐ ์
๋ฐ์ดํธ ๋ ๋๋ง๋ค(1์ด ๋ง๋ค) dataChannel send๋ฅผ ๋ณด๋ด๋ ๊ฒ์ ๋ถ๋ด?
- ํ ์คํธ ๊ฒฐ๊ณผ Chrome Performance Monitor ๊ธฐ์ค, ์ฝ 1~2%์ CPU ์ฌ์ฉ๋ ์ฆ๊ฐ ์ธ์ ๋ณ๋ค๋ฅธ ์์ ์๋ชจ๊ฐ ๋ณด์ด์ง ์์ โ ๋ ํ ์คํธํด๋ณด๊ธฐ
-
์ ํฌ WebRTC ์ฒ์ ์จ๋ณด๋ ๊ฒ ๊ฐ์กฐ
-
ํผ์ด ์ปค๋ฅ์ ๋ฉ๋ชจ๋ฆฌ ๋์
-
์นด๋ฉ๋ผโ ๋ง์ดํฌ ์์ ์๋ชจ โ ์นด๋ฉ๋ผ๋ ๊บผ๋๋ ๊ฒ ๋ซ๋ค.
- ๊ธฐ์กด ๋ฐฉ์์ ๋ธ๋ผ์ฐ์ ํญ(OS ์ํ๋ฐ)์ ์นด๋ฉ๋ผ๊ฐ ์ฌ์ฉ ์ค์ด๋ผ๋ ํ์๊ฐ ๊ณ์ ๋ํ๋จ (์นด๋ฉ๋ผ off์ธ ์ํ์ฌ๋) ๊ทธ์ ๋ฐ๋ฅธ ์ฌ๋ฆฌ์ ์๋ฐ๊ฐ โ UX ๊ฐ์
-
-
์นด๋ฉ๋ผโ
๋ง์ดํฌ ๊ถํ ๋ถ์ฌ
-
๋ฌธ์ : ๊ฐ๋ฐ์๊ฐ ์๋ ์ฌ๋์ด ๋ดค์ ๋, ๋ฌด์จ ๋ฌธ์ ๋ก ์นด๋ฉ๋ผ/๋ง์ดํฌ๊ฐ ์ ์ผ์ง๋ ์ง ๋ช ์์ ์ด์ง ์์
- ์นด๋ฉ๋ผ/๋ง์ดํฌ ์ฐ๊ฒฐ์ด ๋์ง ์์์ ๋๋ ๋น๋์ค๊ฐ ํ๋ ๋ณด์ด๋ค๊ฐ ์ฐ๊ฒฐ ํ ๋ค๋ฅธ ์ฌ๋๋ค ๋น๋์ค๊ฐ ๋ณด์ด๋ ๊ฒ์ด ์ฐ๊ฒฐ ๋ฌธ์ /์๋ฌ๋ผ๊ณ ์ธ์
-
์ฌ์ฉ์๊ฐ ๊ถํ ๊ฑฐ๋ถ ์์๋ ๋ธ๋ผ์ฐ์ ์ ์ฑ ์ผ๋ก ์ธํด์ ๋ค์ ๊ถํ ์์ฒญ์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ ๊ณต๋ถ๋ฐฉ์ ์ ์ฅํ ๋๋ง๋ค ๊ถํ ๋ถ์ฌ ํ์ด์ง์์ ๊ฒฝ๊ณ ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ , ๊ณต๋ถ๋ฐฉ ํ์ด์ง์์ ์ฌ์ฉ ๋ชป ํ๋ ๋๋ฐ์ด์ค๊ฐ ๋ช ์์ ์ผ๋ก ํํ๋จ
-
-
์๋ ๋ฐฐํฌ(์๋ฒ ๊ตฌ์กฐ?) โ ์๋ฒ ๊ตฌ์กฐ + github actions ์๋ ๋ฐฐํฌ, eslint prettier ํ์ธ
- ์ด๊ฑธ๋ก ์๊ฐํํ๊ธฐ? โ ์ค ์ข์์
https://www.cloudcraft.co/ โ AWS/ncloud ์ ํ์ ์๋ฒ๋ง ์ฐ๊ณ ์์ด์ ์ด๋ ค์
- ์๋ฒ ๊ตฌ์กฐ ๋จผ์ ๊ทธ๋ฆผ์ผ๋ก ์ค๋ช
- ๋ฐฐํฌ๋ฅผ ๋งค๋ฒ ์๋์ผ๋ก ๋น๋ํ๋๋ฐ ์๊ฐ์ด ๋ง์ด ๋ค์ด์ github actions์ผ๋ก ์๋ ๋ฐฐํฌ ๊ตฌํ
ํ์ ํ ๋ ์ฝ๋ ์คํ์ผ ํต์ผ์ ์ํด์ github actions์ผ๋ก eslint, prettier ํ์ธ ๊ณผ์ ๊ตฌํ
-
ํ ์คํธ ์ฝ๋
- ํ ์คํธ ์ฝ๋๋ฅผ ์ ์ฉํ ๋ฐฐ๊ฒฝ
- ๋งจ ์ฒ์ ๋จ์ ๋ชจํนํ ๊ณผ์
- ๊ทผ๋ฐ ์ด๊ฒ ์๋๋ผ์ ๋จ์ ํ ์คํธ ์ทจ์ง์ ๋ง๊ฒ ๋ชจํนํ ๊ณผ์
-
turn ์๋ฒ ์ธ์ฆ?
-
์ฌ์๋ P2P ์ฐ๊ฒฐ์ด ์๋์ TURN ์๋ฒ ๊ตฌ์ถ โ๋ฐ๋ชจ๋ ์ธ์ฆ์ ๋ณด ๋ณด์ ๋ฌธ์ ์ ๊ธฐ โ ์ธ์ฆ์ ๋ณด ๋ฐ๊ธ API๋ก ๋ฐฉ์ ๋ณ๊ฒฝ
-
- mesh โ sfu
-
mesh์ ํ๊ณ์ ์ธก์
PeerN Camera On N: Peer N๋ช ์ ์, N๋ช ์ด ์นด๋ฉ๋ผ ํ์ฑํ
Peer3 Camera On 3: ์ฐ๊ฒฐ๋๋ ๋น๋์ค์คํธ๋ฆผ ํธ๋ 12๊ฐ (์ ์คํธ๋ฆผ 6๊ฐ, ๋ค์ด์คํธ๋ฆผ 6๊ฐ)
Peer4 Camera On 2: ์ฐ๊ฒฐ๋๋ ๋น๋์ค์คํธ๋ฆผ ํธ๋ 12๊ฐ (์ ์คํธ๋ฆผ 6๊ฐ, ๋ค์ด์คํธ๋ฆผ 6๊ฐ)
Peer4 Camera On 3: ์ฐ๊ฒฐ๋๋ ๋น๋์ค์คํธ๋ฆผ ํธ๋ 18๊ฐ (์ ์คํธ๋ฆผ 9๊ฐ, ๋ค์ด์คํธ๋ฆผ 9๊ฐ)
Peer4 Camera On 4: ์ฐ๊ฒฐ๋๋ ๋น๋์ค์คํธ๋ฆผ ํธ๋ 24๊ฐ (์ ์คํธ๋ฆผ 12๊ฐ, ๋ค์ด์คํธ๋ฆผ 12๊ฐ)
Peer5 Camera On 3: ์ฐ๊ฒฐ๋๋ ๋น๋์ค์คํธ๋ฆผ ํธ๋ 24๊ฐ (์ ์คํธ๋ฆผ 12๊ฐ, ๋ค์ด์คํธ๋ฆผ 12๊ฐ)
Peer5 Camera On 4: ์ฐ๊ฒฐ๋๋ ๋น๋์ค์คํธ๋ฆผ ํธ๋ 32๊ฐ (์ ์คํธ๋ฆผ 16๊ฐ, ๋ค์ด์คํธ๋ฆผ 16๊ฐ)
Peer5 Camera On 5: ์ฐ๊ฒฐ๋๋ ๋น๋์ค์คํธ๋ฆผ ํธ๋ 40๊ฐ (์ ์คํธ๋ฆผ 20๊ฐ, ๋ค์ด์คํธ๋ฆผ 20๊ฐ) โ ์ปดํจํฐ ์ฌ๋งโ ๏ธใทใทใท
M1 Macbook Air ๋ฐฐํฐ๋ฆฌ ์ฉ๋ 50Whโฆ 16๋ช ์ ์ํ ๋ฐฉ์์ 2์๊ฐ 30๋ถ์ด๋ฉด ๋ฐฐํฐ๋ฆฌ 100% โ 0%
๋น๋์ค ํ ๋ช ์ ์ก ๋น ํ๊ท ~1.8Mbps
16๊ฐ ์คํธ๋ฆผ ์ ๋ก๋/๋ค์ด๋ก๋ ์ ์ก ์ = 58Mps
Mesh ๋ฐฉ์์์ ๋คํธ์ํฌ ๋ถ๋ด ๋ฌธ์ ๋ ์๋๋ฏํ๋ค.
-
mesh ๋ฐฉ์์์ ๋ธ๋ผ์ฐ์ ๋ถํ ์ฑ๋ฅ ์ธก์ โ mesh ๋ฐฉ์์์ ์ต๋ ์ ์์์ ํ๊ณ
-
sfu ๋ฐฉ์์์ ๋ธ๋ผ์ฐ์ / ์๋ฒ ๋ถํ ์ฑ๋ฅ ์ธก์
-
sfu ๋จ๋ฐฉํฅ 5๋ช (upload 1, download 4) ์๋ฒ ์ฑ๋ฅ ์ธก์
- ๐ง ํ ๋น๋ฉ ๋ฐ ๋ธ๋์น ์ ๋ต
- ๐ง ์ฃผ์ ์ ์ ๋ฐ ํ ํ๋ฆฟ ์์ฑ
- ๐ป ํ๋ก์ ํธ ์ด๋ฆ ๋ฐ ๋ก๊ณ ์ ํ๊ธฐ
- ๐ป ๊ธฐํ ์ธ๋ถ์ฌํญ ์ ํ๊ธฐ
- ๐ป ๊ธฐ์ ์คํ ์์
- ๐ป ๋ฐฑ๋ก๊ทธ ์ด์ ์์ฑ
- ๐ป ๊นํ๋ธ ์ํค
- ๐ ๊ธฐํ ๋ฐ MVP ์ ์ง ํ์
- 2๏ธโฃ ์คํ๋ฆฐํธ 2 ์ฃผ๊ฐ ๊ณํ
- ๐งญ ๊ณตํต ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ํ
- ๐ฆบ ์ด๋ฒคํธ ํ๋ฆ๋
- ๐ฅ ๋ฐฑ์๋ ์๊ทธ๋๋ง ์๋ฒ ๋ฌธ์
- ๐ฝ ์คํ๋ฆฐํธ 5โ 6 ๋ฐฉํฅ์ฑ
- ๐ ์ต์ข ๋ฐํ ์ค๋น
- ๐ฟ Github Actions CD(์๋๋ฐฐํฌ)
- ๐ API
- โซ forEach๋ async๋ฅผ ๊ธฐ๋ค๋ ค์ฃผ์ง ์๋๋ค
- ๐งช WebRTC SFU ๋ฐ๋ชจ
- ๐ TURN ์๋ฒ ์ธ์ฆ ๋ฐฉ์
- ๐ ๏ธ [ํธ๋ฌ๋ธ์ํ ] /socket.io ๊ฒฝ๋ก๋ก ์ง์์ ์ผ๋ก HTTP ์์ฒญ์ ๋ณด๋ด๋ ๋ฌธ์
- ๐น WebRTC ํ์ํ์์์ ์นด๋ฉ๋ผ ์ํ์ ๋ฐ๋ฅธ ์์คํ ์์ ์ฌ์ฉ๋ ๋ถ์
- ๐ฅ ๋์นญ NAT์์์ WebRTC ์ฐ๊ฒฐ ์๋ฆฝ ๊ณผ์
- ๐ ํ ์คํธ ์ฝ๋์ ๋ชจํน