본문

170601(목) - WebRTC

WebRTC


PlugIn이 필요없는 영상과 음성, data 통신을 가능케 함


Ready for dev WebRTC Application

- 스트리밍 오디오, 비디오 또는 데이터를 가져와야 한다.

- IP 주소, 포트 등의 네트워크 정보를 가져오고 이를 다른 클라이언트과 교환해야 한다. (NATs와 방화벽을 통해서도 교환 가능해야 함)

- Error 보고, 세션 초기화 및 종료를 위한 통신 신호들을 관리해야 한다.

- 해상도, 코덱 등 미디어와 클라이언트의 capability에 대한 정보를 교환해야 한다.

- 스트리밍 오디오, 비디오 데이터를 주고 받아야 한다.



Streaming data communication

- MediaStream

사용자 카메라나 마이크 같은 data stream에 엑세스 가능


- RTCPeerConnection

오디오 및 화상통화의 대역폭 및 암호화를 관리


- RTCDataChannel

generic data의 P2P communication



Signaling: session control, network and media information

-RTCPeerConnection을 사용하여 streaming data를 전달하는 것 이외에, 통신을 조정하고 control message를 전송하는 메커니즘인 Signaling도 필요하다.


- Signaling method와 protoco은 WebRTC의 spec에는 들어있지 않으며, RTCPeerConnection API에도 없다.


- SIP 또는 XMPP 같은 duplex(two-way) communication channel을 선택해야 한다.


- Signaling은 three type의 information을 교환하는데 사용된다.

1. Session control message

initialize or close communication, report errors


2. Network configuration

IP address and port


3. Media capabilities

codec and 해상도


- Signaling을 통한 정보 교환은 P2P streaming이 시작되기 전에 성공적으로 완료되어야 한다.



JSEP architecture diagram


JSEP architecture




공유

댓글