WebRTC 연구실

WebRTC를 이용한 프로젝트를 2년 넘게 진행하면서, 참고 자료들이 모두 외국자료들이라
저 또한 언어의 장벽에서 항상 느림보가 돼야만 했습니다.

WebRTC 연구실 이란 말은 다소 거창하지만, WebRTC를 배워보고 싶어하는 분들이 조금더 진입하기 쉽게 하는것을 목적으로 제가 알게된 정보들을 다듬어서 바로 사용할 수 있는 예제 공간으로 만들었습니다.

[사이트 정보]
https://webrtclab.herokuapp.com/ (무료 도메인이라 약간 느립니다)
WebRTC-연구실
요즘 여유가 없어서 처음 계획했던 주제를 모두 포함하진 못했지만, 시간을 내서 예제도 조금 더 추가할 예정입니다.

“WebRTC 연구실”에 대한 8개의 생각

  1. 좋은 정보들 이네요
    저 또한 WebRTC 정보를 목말라 하는 일인 입니다
    안드로이드 채팅어플 개발시 화상 통화 부분을 WebRTC기반으로 구현 한적이 있네요
    서버는 java vert.x socket.io 기반으로 구현을 했었고 안드로이드는 아예 어플에 CrossWalk 로 크롬브라우저를 사용하도록 개발을 했었습니다
    어플의 크기가 커지는 단점이 있지만 기기특성을 타면 안되니..

    나름 2년간의 연구성과를 공개하시다니 대단하시네요 좋은 정보들 감사합니다

    1. 대단한 자료는 아니지만, 처음 시작하는 분들에게 조금이나마 도움이 될까싶어 만들어보았습니다. 관심 갖어주셔서 감사합니다 ^^

  2. 안녕하세요!! 백엔드쪽을 공부하고있는학생입니다.. 이번에 Spring을 기반으로 해서 project를 준비하고있었는데 webRTC 와 Speech API를 적용해보고싶어서 알아보던중 우연히 들리게되었습니다.
    하지만 제가 아직 프론트엔드쪽에 대한 지식도 많이 부족하고, webRTC와 Speech API 에 대한 지식이나 API문서를 읽는것도 아직 힘들어서 정말 고생하고있었는데 이렇게 상세하고 좋은글을 공유해주셔서 진심으로 감사드립니다!!! 처음으로 이러한 기술들을 접하고있지만 정말 많은 도움이될것같습니다. 공유해주신 정보는 열심히 분석해서 사용해보겠습니다!! 시간여유가 되신다면 구동(?) 예제같은것도 올려주신다면 감사하겠습니다..ㅠㅠ 저같은 왕초보는 node.js 에 대한 지식도 부족하여.. 어떻게 구동을 시켜야하는지 , html 페이지에 script 코드로 작성만하면 되는건지 정확히 분별이 가지가않습니다만 !! 기다리면서 혼자 열심히 분석해보도록하겠습니다. 다시한번 너무너무 감사드립니다 복받으실거에요!!

    1. 1. Speech API는 크롬 브라우저가 내장하고 있기 때문에 HTML과 Script만으로 구동 가능합니다.
      하지만, 보안 정책상 마이크 인터페이스에 접근 하려면 localhost 서버 또는 HTTPS 프로토콜을 지원하는 서버에서만 가능합니다.
      우선 사용하시는 언어로 localhost 서버를 구성한다면 Speech API는 바로 사용 가능합니다.

      2. WebRTC는 클라이언트끼리 연결하기위한 정보를 주고받는 용도의 시그널링 서버가 필수적입니다.

      참고가 되신다니 저도 기쁘네요~
      백엔드와 클라이언트 모두 관심을 갖고 공부하시면 좋은 개발자가 되실꺼에요 ^^

      1. 답변감사드립니다!! 계속 알아보고있었는데 한가지 여쭤보고싶은점이있습니다.
        귀하께서 무료도메인으로 사용하고계시는 heroku 사이트에대한 정보도 많이 찾아보았는데 얇팍한 저의 지식으로는 저같은 사람들의 외부접근과 node.js 서버로 사용하시기위해서 사용하시는게맞나요? 저는 지금 해당 예제를보고 분석을하면서 따라해보려고 시도하고있습니다만! 현재까지 저의 성과로는 node.js 를 설치해서 webRTC의 샘플코드를 실행시켜서
        단방향으로 화상화면을 띄우는것까지는 성공했습니다만, 말씀해주신대로 클라이언트끼리 연결하기위해서는 시그널링 서버가 필수적이라고하셨는데 이것또한 마찬가지로 저는 localhost에서 서버를 개방시켜주고 양방향 통신을 진행해보고싶은데 node.js로 시그널링 서버를 구동시켜준 상태에서 해당 html 페이지로 접속해서 양방향 통신을 진행하면 되는건가요?? 아직 이해가 가지않는 부분이 많아서 이렇게 실례를 무릅쓰고 질문남겨봅니다! 감사합니다.

        1. 저도 nodejs로 서버를 구축 하였으며, 개발시에는 localhost에서 가능합니다.
          heroku 사이트는 nodejs로 개발한 결과물을 공인 도메인에 올리려고 사용한 것입니다. (필수는 아니며 개발시 생각 안하셔도 됩니다.)

          시그널링 과정 간단히 설명 드리면 아래와 같습니다.
          1. WebRTC는 P2P 구조를 가지고 있습니다.
          2. 우선 P2P로 브라우저가 서로 연결을 하려면 시그널링 과정을 거쳐야 하는데요
          3. 두 클라이언트가 연결하기 위해서 필요한 정보를 주고 받는 과정을 시그널링이라고 합니다.
          4. nodejs는 socket.io를 사용하여 소켓(시그널링) 서버를 어렵지 않게 구축할 수 있습니다.
          5. 소켓서버가 구축된 후면 이제 WebRTC 연결 준비가 된것입니다.

          여기까지 진행 하신 후 WebRTC PeerConnection() 에 대해 공부하시면 됩니다.
          제 코드와 https://www.html5rocks.com/ko/tutorials/webrtc/basics/ 같이 참고하시면 좋을꺼에요~!

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.