써치킴의 우당탕탕 개발 블로그

WebRTC(Web Real-Time Communication) 본문

써치킴의 TMI

WebRTC(Web Real-Time Communication)

써치킴 2022. 5. 16. 04:00

WebRTC(Web Real-Time Communication)

  • 웹 애플리케이션과 사이트가 중간자 없이 브라우저 간에 오디오나 영상 미디어를 포착하고 마음대로 스트림 할 뿐 아니라, 임의의 데이터도 교환할 수 있도록 하는 기술  >  드라이버나 플러그인 설치없이 웹 브라우저 간 P2P(peer to peer : 서버(중간자)를 거치지 않고 클라이언트 컴퓨터끼리 직접 통신하는 방식) 연결을 통해 데이터 교환을 가능하게 하는 기술
    • 화상 통화실시간 스트리밍, 파일 공유, 스크린 공유도 WebRTC를 기반
  • WebRTC는 구글이 주도한 오픈소스 프로젝트를 기반으로 하는 웹 표준이기 때문에, 특히 크롬(Chrome)에서 호환성이 높음
    • 브라우저마다 지원여부가 다름
  • WebRTC 사용을 위한 자바스크립트 라이브러리는 sip.js를 사용
 

SIP Signaling JavaScript Library for WebRTC Developers | SIP.js

See How It's Done The code displayed on the right is what powers the selected demo from Alice’s end, although Bob’s code would be very similar. SIP.js allows you to utilize WebRTC’s APIs using just JavaScript. To check out the full code for all three

sipjs.com

  • 개발 완료 후 WebRTC의 기능을 사용하기 위해선 카메라, 오디오 권한이 필요함 
    • http 서버를 사용하게되면 카메라 권한을 가져올 수 없기 때문에 오류가 발생 > https 사용해야함 > Web RTC를 사용하는 페이지는 ssl 설정을 해준다.
      • https를 통한 인터넷 접속은 ssl을 이용하는것. > ssl 설정한다.
      • SSL(Secure Socket Layer) : 웹사이트와 브라우저 사이에 전송된 데이터를 암호화하여 인터넷 연결에 보안을 유지하는 표준 기술
      • https = http(Hypertext Transfer Protocol) + secure(보안) :  보안이 강화된 HTTP > 웹사이트르 ssl인증서로 보안함
      • SSL 인증서는 클라이언트와 서버간의 통신을 제3자가 보증해주는 전자화된 문서

WebRTC 지원 브라우저

주의사항!

  1. 라이브 방송이니 라이브를 요청하는 User Agent 정보가 있어야한다.
    • sip : 세션 설정 프로토콜, 음성/화상 전화같은 통신을 할때 시그널링을 담당하는 통신 프로토콜 > 세션의 생성, 변경, 종료를 정의한다.
    • User Agent : sip 전화 정보? 이 정보를 양끝에 설정하고 통신한다.
    • 그러려면 라이브 방송을 하려는 로그인 계정에는 전화정보가 꼭 필요함!
  2. PC의 audio를 접근하여야 하기 때문에 마이크 존재 여부를 확인 필요! 존재해야 오류 없이 접근 가능.
Comments