WebRTC(Web Real-time Communication)는 웹브라우저간에 플러그인 도움없이 통신을 할 수 있는 API이다. 음성 통화, 영상 통화, P2P 파일 공유등으로 사용될 수 있다. 즉 p2p로 기기간에 보이스/비디오/ 데이터의 다이렉트로 통신이 가능하며 서버의 기능과 성능에 크게 의존하지 않는다. 웹브라우저만 아니라 안드로이드, iOS등에서도 구현이 가능한것 같은데 알아 두면 좋을듯 하다. 요즘같은 영상소비시대에 꼭 필요한 듯…
playRTC는 이 webRTC를 누구나 쉽게 편리하게 사용할 수 있도록 만들어진 플랫폼이다. 예전에는 개인 사용자에게는 무료로 제공된 모양인데 지금은 유료로 전환되었다고 한다. 테스트 하는 동안 사용할 수 있는 공개 키가 있으니 playRTC가 어떤 것인지는 체험해 볼 수 있다. 무료로 제공하는게 없어서 아쉽네. 당장 테스트로 해보고 순수 webRTC로 구현하는 것은 차차 알아보기로 하자. playRTC에 대한 자세한 정보는 아래 사이트에서 찾아 볼 수 있다.
https://www.playrtc.com/ko/playrtc-%EC%86%8C%EA%B0%9C-ko/
- HD급(720p) 영상구현/HD voice/파일 크기에 상관없는 무제한 전송등 기능이 막강하다. 오호 대단하다.
https://www.playrtc.com/ko/documents-ko/
이 예제를 구현하기 위해서는 자신의 https:// 지원되는 웹서버가 필요하다. 테스트를 위한 로컬서버는 가능하지만 실제로 적용하기 위해서는 https가 필수라고 하는것 같다. 그런데 이런 서버 구하기가 힘드네…
일단 html 문서는 위와 같이 꾸몄다. 왼쪽은 자신의 비디오 localVideo 우측은 상대방의 비디오 remoteVideo가 된다. 제일 먼저 할것은 채널생성버튼을 눌러서 ChannelId를 생성해야 한다. 이 채널아이디가 있어야 상대방과 연결된다. 아직 제대로 구현 하지 못했지만 채널을 생성하고 상대방에게 접속할 url를 보내줘야 상대방이 접속 할 수 있다. 여기서는 같은 주소가 된다. 채널아이디는 별도로 전달하지 않는다. playRTC 자체 배열에서 첫번째 아이디를 가져다가 접속하도록 되어 있다. 주소만 알면 누구나 접속이 가능해 진다는 말이다.
처음 채널생성 버튼을 클릭하면 마이크와 카메라 사용권한을 묻는 대화상자가 나온다. 당연히 허용을 해야 사용이 가능하다.\
연결이 되면 일단 자신의 PC 웹갬 화면이 좌측에 나온다. 이제 상대방이 연결해 오기를 기다리면 된다. 스마트폰에서 웹브라우저로 접속해 보기로 하자.
상대방이 접속을 하면 우측에 상대방의 영상이 뜬다. 상대방의 화면에도 마찬가지로 두개의 영상이 뜰것이다. 우측은 폰에서 촬영되는 영상이다. 비디오 뿐만 아니라 음성도 전달이 되기 때문에 텍스트 대신 음성으로 채팅이 가능해 진다. 이정도만 해도 당장은 개인적인 용도로는 충분히 활용이 가능할것 같다. 친구나 가족에게 주소만 알려 주고 접속하면 화상통신이 가능하다. WebRTC가 궁금해서 몇일 검색을 해보니 앞으로 활용도가 높은 기술인듯 하다. 계속해서 여러가지 예제를 만들어 보면서 공부를 해보기로 하자.
이 예제는 아래 유튜브 영상을 참고 하여 만들어 보았다. 자세한 내용은 유트브를 통해 확인해 보도록 하자. 친절하고 자세히 설명해 준다. ^^
https://www.youtube.com/watch?v=xHloXfSs26g
숙제:
- 순수 webRTC로 구현하기
- 라즈베리파이로 webRTC 구현하기
- 풀화면 기능 넣기
- 안드로이드에서 구현하기