Peerjs: MediaConnection๋‹น ์—ฌ๋Ÿฌ ์ŠคํŠธ๋ฆผ

์— ๋งŒ๋“  2019๋…„ 03์›” 21์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: peers/peerjs

์•ˆ๋…•. ๋‚ด ๋ฌธ์ œ์™€ ๊ด€๋ จ๋œ PR #132๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

์˜์ƒ+์˜ค๋””์˜ค+ํ™”๋ฉด์„ ๋ณด๋‚ด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์€ ๋ฌด์—‡์„ ์กฐ์–ธํ•ฉ๋‹ˆ๊นŒ?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ž, ํŠธ๋ฆญ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค https://blog.mozilla.org/webrtc/warm-up-with-replacetrack/

์˜ค๋””์˜ค, ๋น„๋””์˜ค ๋ฐ ํ™”๋ฉด์˜ 3๊ฐœ์˜ '๋นˆ' ํŠธ๋ž™์ด ์žˆ๋Š” ์ŠคํŠธ๋ฆผ์ด ํ•˜๋‚˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ 'call' ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ ๋‹ค์Œ ๋ฐœ์‹ ์ž๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
const [audioSender, videoSender, screenSender]= call.peerConnection.getSenders();

์˜ค๋””์˜ค.replaceTrack(null|audioTrack)์„ ํ†ตํ•ด ํŠธ๋ž™์„ ์Œ์†Œ๊ฑฐ/์Œ์†Œ๊ฑฐ ํ•ด์ œํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  5 ๋Œ“๊ธ€

์ž, ํŠธ๋ฆญ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค https://blog.mozilla.org/webrtc/warm-up-with-replacetrack/

์˜ค๋””์˜ค, ๋น„๋””์˜ค ๋ฐ ํ™”๋ฉด์˜ 3๊ฐœ์˜ '๋นˆ' ํŠธ๋ž™์ด ์žˆ๋Š” ์ŠคํŠธ๋ฆผ์ด ํ•˜๋‚˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ 'call' ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ ๋‹ค์Œ ๋ฐœ์‹ ์ž๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
const [audioSender, videoSender, screenSender]= call.peerConnection.getSenders();

์˜ค๋””์˜ค.replaceTrack(null|audioTrack)์„ ํ†ตํ•ด ํŠธ๋ž™์„ ์Œ์†Œ๊ฑฐ/์Œ์†Œ๊ฑฐ ํ•ด์ œํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

peerjs๊ฐ€ ์žˆ๋Š” ๋ชจ๋“  ์ƒ˜ํ”Œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์€ webrtc ์ดˆ๋ณด์ž์—๊ฒŒ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. :)

๋ฏธ๋ฆฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

์ƒˆ๋กœ์šด ์†Œ์‹, ์ €๋Š” ๋‹ค์Œ ์ฃผ์— ํ›จ์”ฌ ๋” ๊ฐ„๋‹จํ•œ ๊ฐœ๋…์„ ์‚ฌ์šฉํ•˜์—ฌ ์™„์ „ํžˆ ๋‹ค์‹œ ์ž‘์„ฑ๋œ PeerJS์˜ ์ƒˆ ๋ฒ„์ „์„ ์ถœ์‹œํ•  ์˜ˆ์ •์ด๋ฉฐ PeerServer๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ๋ฉฐ์น ๋งŒ ๊ธฐ๋‹ค๋ฆฌ์„ธ์š”.

์ƒˆ๋กœ์šด ๊ฐœ๋…์€ ๋ฐฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ๋ฐฉ๋งŒ ์กด์žฌํ•˜๋ฏ€๋กœ ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์ „ํ™”๋ฅผ ๊ฑธ๊ณ  ์‹ถ๋‹ค๋ฉด ๋‘ ํ”ผ์–ด๊ฐ€ ๊ณต์œ ํ•˜๋Š” ์ž„์˜์˜ ID ๋ฐฉ์œผ๋กœ ๊ฐ€์‹ญ์‹œ์˜ค. ์—ฌ๋Ÿฌ ์—ฐ๊ฒฐ์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์žˆ๋Š” ๋ฐฉ์— ๋“ค์–ด๊ฐ€์‹ญ์‹œ์˜ค. ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

์ดˆ๊ธฐ ํ…Œ์ŠคํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://dist-9yeo4sucs.now.sh/ (๋™์ผํ•œ ๋ฐฉ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค PD: UI ํ”ผ๋“œ๋ฐฑ์ด ์—†์Šต๋‹ˆ๋‹ค)

getUserMedia๋Š” librayr ๋‚ด๋ถ€์— ์žˆ์ง€๋งŒ ์•„๋งˆ๋„ ๊บผ๋‚ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ๋‹ค์Œ์ฃผ๊นŒ์ง€ ๋ฉฐ์น ๋งŒ ๊ธฐ๋‹ค๋ ค์ฃผ์„ธ์š” :)

์ข‹์€ ์†Œ์‹ .. ! ์ƒˆ ๋ฒ„์ „์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ฆด๋ฆฌ์Šค์™€ ๊ด€๋ จ๋œ ์—…๋ฐ์ดํŠธ๋Š” ์–ด๋””์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ถ„๊ธฐ๊ฐ€ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค https://github.com/peers/peerjs/tree/v2.0.0
PeerJS์™€ ๊ด€๋ จ๋œ ํ† ๋ก ์ด๋‚˜ ์งˆ๋ฌธ์„ ์›ํ•˜์‹œ๋ฉด Telegram ๊ทธ๋ฃน์— ๊ฐ€์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: tg://join?invite=ENhPuhTvhm8WlIxTjQf7Og

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰