SlideShare a Scribd company logo
WebRTC 고군분투기
CodeWings
CandyCamera
Hyunsu Kim
E-MAIL gustnxodjs@gmail.com
SKILLS
WebRTC • Docker • Nginx • Git
Django • CSS • HTML • JS • Websocket
Python • C • Java • Node
PROFILE
Seoul National University
Mar. 2013 – Nov. 2015 Computer Science Major
CodeWings CEO & Developer
Dec. 2015 – Feb. 2017 CEO and Developer
Candy Camera Developer
May. 2017 – Nov. 2017 Developer
코드윙즈 서비스란?
코드윙즈 서비스란?
Why WebRTC?
1. Video conference
출처: https://webrtc.org/architecture/
Why WebRTC?
2. No Plugin
Why WebRTC?
3. Low Server cost
Why WebRTC?
3. Low Server cost
10% less
출처: https://www.html5rocks.com/en/tutorials/webrtc/basics/
CodeWings
Part1. 영상통화
CodeWings
Part1. 영상통화
출처: https://webrtc.github.io/samples/src/content/peerconnection/constraints/
CodeWings
Part1. 영상통화
CodeWings
Part1. 영상통화
CodeWings
Part2. Screen Share
CodeWings
Part2. Screen Share
CodeWings
Part2. Screen Share
출처: https://github.com/muaz-khan/RTCMultiConnection/blob/master/dev/Screen-Capturing.js
CodeWings
Part3. IDE Share
CodeWings
Patent
프로그래밍 화상 교육을 위한
웹 기반 플랫폼 시스템 및 그 제어방법
등록번호 : 1017737520000
멀티미디어 콘텐츠 제공 시스템 및 그 제어방법
등록번호 : 1017112030000
How to Debug
1. logging
How to Debug
2. WebRTC internal
How to Debug
2. WebRTC internal
Candy Camera 란?
Candy Camera
Part1. 1대 1 채팅, 영상통화
Candy Camera
Part1. 1대 1 채팅, 영상통화
Candy Camera
Part1. 1대 1 채팅, 영상통화
Candy Camera
Part1. N대 N 채팅(Mesh)
영상통화
Candy Camera
Part1. N대 N 채팅, 영상통화
Candy Camera
Part2. Media Server
kurento
출처: https://www.kurento.org/whats-kurento
Candy Camera
Part2. Media Server
kurento
출처: http://doc-kurento.readthedocs.io/en/stable/tutorials.html
Candy Camera
Part2. kurento
Broadcast sample
출처: http://doc-kurento.readthedocs.io/en/stable/tutorials/node/tutorial-one2many.html
Candy Camera
Part2. kurento(1:N)
출처: http://doc-kurento.readthedocs.io/en/stable/tutorials/node/tutorial-one2many.html
Open Source
Part1. GitBook
https://gustnxodjs.gitbooks.io/webrtc-kor/
Open Source
Part2. kurento pull req
2년간의 긴 webrtc 여행 이야기를
들어주셔서 감사합니다.

More Related Content

Similar to Web rtc 고군분투기 김현수

What is web rtc
What is web rtcWhat is web rtc
What is web rtc
Kichul Jung
 
원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영
원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영
원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영
sung young son
 
WebRTC 전망 최진호_webappscamp
WebRTC 전망 최진호_webappscampWebRTC 전망 최진호_webappscamp
WebRTC 전망 최진호_webappscamp
Blisson Choi
 
WebRTC in 2014
WebRTC in 2014WebRTC in 2014
WebRTC in 2014
Lee WonJae
 
W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017
Wonsuk Lee
 
WebRTC 현재와 미래 최진호 2016
WebRTC 현재와 미래 최진호 2016WebRTC 현재와 미래 최진호 2016
WebRTC 현재와 미래 최진호 2016
Blisson Choi
 
MEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overviewMEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overview
민태 김
 
WebKit at the Future Web Forum 2010
WebKit at the Future Web Forum 2010WebKit at the Future Web Forum 2010
WebKit at the Future Web Forum 2010Joone Hur
 
왜Web rtc인가
왜Web rtc인가왜Web rtc인가
왜Web rtc인가
우일 권
 
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
Changhwan Yi
 
HTML5 and Smart TV
HTML5 and Smart TVHTML5 and Smart TV
HTML5 and Smart TV
Jonathan Jeon
 
Windows azure를 활용한 cloud 개발 사례
Windows azure를 활용한 cloud 개발 사례Windows azure를 활용한 cloud 개발 사례
Windows azure를 활용한 cloud 개발 사례
정현 남
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Channy Yun
 
차세대 모바일 웹 UI/UX 기술 및 표준화 동향 (기조발표)
차세대 모바일 웹 UI/UX 기술 및 표준화 동향 (기조발표)차세대 모바일 웹 UI/UX 기술 및 표준화 동향 (기조발표)
차세대 모바일 웹 UI/UX 기술 및 표준화 동향 (기조발표)
Jonathan Jeon
 
5G Cloud 기술
5G Cloud 기술5G Cloud 기술
5G Cloud 기술
James Ahn
 
Developer direct live in 부산
Developer direct live in 부산Developer direct live in 부산
Developer direct live in 부산
Humphery Kim
 
2021년 3월 6일 개발자 이야기
2021년 3월 6일 개발자 이야기2021년 3월 6일 개발자 이야기
2021년 3월 6일 개발자 이야기
Jay Park
 
[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것
NAVER Engineering
 
웹스트리밍동영상보안자료
웹스트리밍동영상보안자료웹스트리밍동영상보안자료
웹스트리밍동영상보안자료
시온시큐리티
 
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
ksdc2019
 

Similar to Web rtc 고군분투기 김현수 (20)

What is web rtc
What is web rtcWhat is web rtc
What is web rtc
 
원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영
원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영
원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영
 
WebRTC 전망 최진호_webappscamp
WebRTC 전망 최진호_webappscampWebRTC 전망 최진호_webappscamp
WebRTC 전망 최진호_webappscamp
 
WebRTC in 2014
WebRTC in 2014WebRTC in 2014
WebRTC in 2014
 
W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017
 
WebRTC 현재와 미래 최진호 2016
WebRTC 현재와 미래 최진호 2016WebRTC 현재와 미래 최진호 2016
WebRTC 현재와 미래 최진호 2016
 
MEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overviewMEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overview
 
WebKit at the Future Web Forum 2010
WebKit at the Future Web Forum 2010WebKit at the Future Web Forum 2010
WebKit at the Future Web Forum 2010
 
왜Web rtc인가
왜Web rtc인가왜Web rtc인가
왜Web rtc인가
 
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
 
HTML5 and Smart TV
HTML5 and Smart TVHTML5 and Smart TV
HTML5 and Smart TV
 
Windows azure를 활용한 cloud 개발 사례
Windows azure를 활용한 cloud 개발 사례Windows azure를 활용한 cloud 개발 사례
Windows azure를 활용한 cloud 개발 사례
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
 
차세대 모바일 웹 UI/UX 기술 및 표준화 동향 (기조발표)
차세대 모바일 웹 UI/UX 기술 및 표준화 동향 (기조발표)차세대 모바일 웹 UI/UX 기술 및 표준화 동향 (기조발표)
차세대 모바일 웹 UI/UX 기술 및 표준화 동향 (기조발표)
 
5G Cloud 기술
5G Cloud 기술5G Cloud 기술
5G Cloud 기술
 
Developer direct live in 부산
Developer direct live in 부산Developer direct live in 부산
Developer direct live in 부산
 
2021년 3월 6일 개발자 이야기
2021년 3월 6일 개발자 이야기2021년 3월 6일 개발자 이야기
2021년 3월 6일 개발자 이야기
 
[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것
 
웹스트리밍동영상보안자료
웹스트리밍동영상보안자료웹스트리밍동영상보안자료
웹스트리밍동영상보안자료
 
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
 

Web rtc 고군분투기 김현수

Editor's Notes

  1. 안녕하세요! 반갑습니다. WebRTC 고군 분투기 라는 주제로 세미나를 하게된 개발자, 김현수입니다. WebRTC를 메인 스택으로 사용하는 2가지 서비스를 개발하였는데요, 각 서비스에서 webRTC가 어떻게 사용되었는지, 어떤 어려움을 겪었고 어떻게 해결했는지 구체적으로 여러분께 정보를 공유하고자 합니다. 코드윙즈는 프로그래밍 화상 과외 서비스를 하고 있는 스타트업이구요, 캔디카메라는 2억 다운로드 수를 자랑하는 카메라 어플입니다.
  2. 제 소개를 간단하게 하겠습니다. 2013도에 서울대학교 컴퓨터 공학부에 입학을 해서 3년간 학부과정을 수료했습니다. 그리고 2015년도 말부터 현재까지 휴학을 하면서 WebRTC 서비스를 개발했습니다. 휴학 기간 중에, 1년 넘게 코드윙즈 서비스를 개발 및 운영했고, 올해 약 반년간 캔디카메라를 만든 제이피브라더스에 입사하여 영상통화 로직을 설계 및 구현했습니다.
  3. 코드윙즈 서비스는 프로그래밍 화상 과외 서비스 입니다. 가장 메인이 되는 부분은 바로 이 강의실 화면 입니다. 멘토와 멘티는 홈페이지에 접속하여 강의를 진행하게 됩니다. 기존 화상 과외와 느낌은 비슷하지만, 웹 상에서 프로그래밍에 최적화되게 여러가지 기능들을 추가하였습니다. 왼쪽 상단을 보시면, 서로의 얼굴을 볼 수 있는 곳이 있구요, 왼쪽 하단에는 파일을 삭제하고 ,추가하고 등등을 할 수 있는 파일 시스템이 있습니다. 가운데 부분은 직접 소스파일을 수정할 수 있는 에디터가 있구요, 오른쪽에는 리눅스 bash와 같은 기능이 웹상에서 작동하도록 구현된 부분입니다. 여기서 중요한 점은, 파일을 추가하거나 삭제하거나, 소스코드를 변경하거나, 리눅스 터미널에 명령어를 입력하는 등 다양한 작업들이 실시간으로 동기화 되는 것입니다. 멘토와 멘티는 정확히 같은 화면을 보게 되는 것이죠. 여기에 WebRTC p2p 데이터 통신 기술이 들어가게 됩니다.
  4. 강의를 진행하다보면 자료 공유나, 자신의 컴퓨터에서 돌아가고있는 프로그램의 모습을 공유해야되는 경우가 자주 발생합니다. 이때를 위해 상대방에게 스트리밍할 수 있는 기능 또한 제공하고 있습니다.
  5. 그렇다면 왜 WebRTC를 선택했을까요? 첫 번째 이유는 WebRTC 브라우저 엔진이 영상을 송수신 하기위한 다양한 기능들을 제공해주는 것입니다. 이 그림은 WebRTC의 전체적인 아키텍쳐를 한 눈에 볼 수 있습니다.