이제 막 WebRTC에 입문하시는 분들을 위한 글입니다.
제가 WebRTC를 배우기 시작했을 때, 한국어로 번역된 자료가 워낙 부족했고
인터넷상에 있는 예제들도 옛날 코드여서 학습에 어려움이 많았습니다.
어차피 배우게 될 것들을 힘들여 배우시지 않게 제가 공부했던 것들을 정리해두었습니다.
웹과 관련한 기초지식이 필요하긴하지만 쉽게 입문하실 수 있게 목차를 꾸려봤습니다.
입문은 쉽지만, 그 너머에는 무시무시한 녀석들이 여러분을 기다리고 있습니다.
저에게도 많이 어렵기에 여러분과 함께 WebRTC 문서를 만들어나갔으면 하는 바람입니다.
언제든 기여해주세요!
WebRTC가 무엇인지, 어디에 사용하면 좋고 어디에 적합하지 않은지 설명드립니다.
다루는 내용
- WebRTC의 정의
- 활용사례
예제 구현에 앞서 웹에 관한 기초지식이 필요합니다.
해당 섹션에서는 웹페이지를 구성하는 간단히 HTML과 JavaScript에 대해 배웁니다.
그리고 최소한의 기능만 갖춘 웹서버(Web Server)와 웹소켓(WebSocket)을 구현해보겠습니다.
다루는 내용
- HTML
- JavaScript
- 웹서버와 웹소켓
실제 코드와 함께 WebRTC 맛보기 애플리케이션을 만들어봅니다.
다루는 내용
- getUserMedia
- RTCPeerConnection
- RTCDataChannel
빠르게 배우는 WebRTC에서는 최소한의 코드와 기능으로 맛보기 애플리케이션을 만들어봤습니다.
바르게 배우는 WebRTC에서는, WebRTC가 어떻게 돌아가는지 더 자세히 알아봅니다.
또한 상용화를 하는 데 필요한 기술과 아키텍처에 대한 논의도 담고 있습니다.
다루는 내용
- STUN
- TURN
- ICE
- SDP 기초
- 미디어 서버
- 아키텍처
- 보안
앞선 목차들을 통해 WebRTC의 기본을 배웠습니다.
이제 여러분의 애플리케이션을 이용할 사용자들의 경험을 높일 차례입니다!
어떻게 하면 WebRTC에서 안정적인 통신을 유지할 수 있을까요?
네트워크 상태가 나빠지면 어떤 방법으로 대처해야 할까요?
여기서부터는 WebRTC보다는 미디어에 대한 전반적인 지식(프로토콜과 코덱 등)을 다루게 됩니다.
다루는 내용
- 프로토콜(SDP/TCP/UDP/RTP/SCTP)
- 코덱(Opus/VP8/H.264)
WebRTC 기반의 실시간 통신 기술을 이용하면 지연율이 아주 낮은 멋진 애플리케이션을 만들 수 있습니다.
구체적으로 어떤 활용을 통해 멋진 애플리케이션을 만들 수 있는지, 말은 쉬우니 코드로 확인해보세요!
다루는 내용
- 음성인식
- 얼굴인식
- 온라인게임
- AR/VR
- IoT
MDN에서 제공하는 WebRTC와 관련된 API 목록을 정리해두었습니다.
공부에 도움이 되었던 사이트 목록입니다.
앞으로의 추가적인 공부를 위해 종종 참고하신다면 많은 도움이 될 것이라 믿습니다!
WebRTC에 이용되는 기술에 대한 구체적인 명세들을 모아두었습니다.