SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
WebRTC in 2014
- 다시 보는 WebRTC, 미리 보는 WebRTC
이원제
@Veckon CTO
@GDG Seoul Organizer
plus.google.com/+nurinamu
Presenter
WebRTC?
WebRTC API
Issues in WebRTC Groups
WebRTC in Industry
WebRTC in 2014

Agenda
WebRTC
WebRTC

P2P
WebRTC
WebRTC

Demo Site : http://apprtc.appspot.com
WebRTC?
WebRTC API
Issues in WebRTC Groups
WebRTC in Industry
WebRTC in 2014

Agenda
WebRTC API
PeerConnection API
WebRTC의 Core API
기능 개선된 내용
- Signal State가 추가됨
- 구현 주체 쪽에서 처리하던 시퀀스 처리 루틴이 간소화됨.
- Multi-Stream을 지원
- 각 Stream이 ID로 관리됨.
- setRemoteDescription이 내부적으로 startIce()를 호출하도록 변경.
- Connection State가 구현 완료됨. (Chrome)
- 연결 상태에 대한 확인을 위한 Polling 구조를 삭제할 수 있게 됨.
WebRTC API
DataChannel
Peer 간의 Data를 주고 받을 수 있는 Tunnel api
PeerConnection을 통해 생성됨.
Datatype
- string,blob,ArrayBuffer,ArrayBufferView

Chrome : 26+, Firefox : 22+
WebRTC API
DTMFSender
DTMF(Dial-Tone Multi Frequency) Generator를 내장함.
DTMF를 AudioStream을 통해 전송가능.
Demo
- http://webrtc.googlecode.com/svn/trunk/samples/js/demos/html/dtmf1.html
WebRTC?
WebRTC API
Issues in WebRTC Groups
WebRTC in Industry
WebRTC in 2014

Agenda
Issues in WebRTC groups.
●

Multiple User Connection.

●

TURN Connection

●

Codec issue.

●

Recording.

●

WebRTC <-> SIP.

●

DataChannel.

●

Screen / Desktop Sharing.

●

WebRTC for Mobile.
Multiple User Connection
PeerConnection은 기본적으로 1:1 연결만 지원.
Multi Connection을 위해서는 Client에서 직접 구현해야 함.
Multiple User Connection
Mesh 형태의 연결구조
PeerConnection을 이용한 가능 보편적인 연결 방식
- 장점
- 서버가 없는 완전한 P2P구조
- 빠른 속도

- 단점
- Client 장비에 큰 부하
- 회선에 따른 성능 Dependency가 큼

- 소규모 Video Conferencing에 적합함.
Multiple User Connection
Multipoint Control Unit을 이용한 연결 구조
PeerConnection의 MultiStream이 지원되면서 가능해진 방식
- 장점
- Client 부하가 적음.
- 대규모 연결 가능.
- 균일한 속도 보장

- 단점
- MCU 부하/비용
- Delay 발생
- MCU가 죽으면 X

- Broadcasting 방식의 Conferencing에 적합함.
Multiple User Connection
Cluster Mesh 방식의 연결 구조
- Source MediaStream을 Forward하는 방식.
- 장점
- 서버 비용이 없다.
- 빠른 속도.

- 단점
- Parent의 Bandwidth에 Dependency가 큼.
- 불안한 연결
- 높은 복잡도

- 적은 부하로 대규모 연결이 가능
TURN Connection
추천 TURN Server
- 13년 초까지만 해도 restund를 많이 사용하였지만 현재는 rfc5766-turn-server

TURN 서버 연결 성능을 WorldWide에서 균일하게 처리하기 위한 방법
- AWS EC2 + Route 53 GEO DNS

TURN Connection의 Authentication 처리
- Account Server와 TURN서버간에 정보 공유 필요.
- rfc5766-turn-sver에서 file, mysql, postgress, Redis를 호환함.

Client 연결이 STUN인지 TURN인지 구분에 대한 요구가 큼.
- 아직 특별한 대응은 없지만 Chrome팀에서는 ICE에 해당 정보를 업데이트하도록 노력하겠다고 함.
Codec Issue

VS

무료

Loyalty

유료(Cisco에서 무료
전환)

웹브라우저

호환성

거의 모든 동영상 플랫
폼

Google

주관
MPEG LA
Recording
Browser상에서의 Stream 저장에 대한 요구는 계속됨.
현재로서는 Stream을 Snapshot으로 연결해 WebM으로 저장하는 방식을 사용. 하지만 음성을 저장하지 못해서 완전한
녹화 기능이 아님. 단, Native Library로 구현된 일부 Client들은 Stream저장 기능을 사용.

MediaStream Recording API가 W3C에 등록되었지만 아직 구현된 Browser가 없
음.
Draft version : 2013 2월
- http://www.w3.org/TR/mediastream-recording/
Working version : 2013 11월
- https://dvcs.w3.org/hg/dap/raw-file/tip/media-stream-capture/MediaRecorder.html
WebRTC + SIP
WebRTC와 기존의 VOIP간 연결을 위해 SIP Router API에 대한 요구가 큼.
일부 개발자들이 직접 구현한 Open Source Project들이 생김.
- sipJS, webrtc2sip, sipML5
Demo service : http://lwork.hk:8086/
Screen / Desktop Sharing.
getUserMedia - screen option.
- Chrome에서만 지원되고 있으며 M30 이후부터 Experimental로 지원하고 있
음.
- Chrome M33 milestone에 default 전환 계획이 잡혀있음.
- https://code.google.com/p/webrtc/issues/detail?id=1757

- Demo
- https://html5-demos.appspot.com/static/getusermedia/screenshare.html
DataChannel
Outgoing limit 문제
- SDP의 outgoing bandwidth 설정(‘b=*’)을 변경해서 사용함.

Cross Browsing 문제
- Chrome M29이상, Firefox 24이상에서 inter-op 지원.

SCTP 지원
- Chrome M31이상에서 지원.
WebRTC for mobile
Android
- WebRTC Native Code Package 를 통해 구현 가능.
- http://www.webrtc.org/reference/getting-started
- 현재 Windows, Linux, Android에서 사용 가능.
- Browser가 아닌 Application에서도 WebRTC 기능 사용 가능.

Tizen
- V2.2에 getUserMedia가 구현됨.
- V3.0+ 에 PeerConnection이 구현될 예정.

iOS - Apple
- 현재 WebRTC에 대한 구현 상황에 대해 어떤 정보도 나와 있는 것이 없음.
WebRTC for Mobile
Android 4.4 Kitkat 부터 WebView가 Chromium을 기반으로 만들어짐.
WebRTC와 각종 HTML5 지원이 강력해짐.
WebView의 user-agent 값.
Mozilla/5.0 (Linux; Android 4.4; Nexus 4 Build/KRT16H) AppleWebKit/537.36
(KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36
WebRTC?
WebRTC API
Issues in WebRTC Groups
WebRTC in Industry
WebRTC in 2014

Agenda
WebRTC in Industry
Twelephone
- http://twelephone.com
- 트위터 계정을 이용한 영상통화 서비스

Bistri
- http://bistri.com
- 통합 SNS서비스기반 영상통화 서비스 & WebRTC Platform API 서비스

TokBox
- http://tokbox.com
- Video Communication Platform 서비스 : 기존에 Flash기반의 서비스 제공에서 WebRTC기반으로 스핀오프 중.
- http://tokbox.com/about-webrtc/infographic
WebRTC 업체

Veckon
- http://veckon.com
- One Click 영상 통화 서비스.
- 개인 URL 서비스 제공.
- B2B: 성형외과 대상으로 원격 영상 상담 & 환자 기록 관리 시스템 제공.
WebRTC?
WebRTC API
Issues in WebRTC Groups
WebRTC in Industry
WebRTC in 2014

Agenda
Remote Office / Co-working Service.
Video Converencing.
Tele Education.
Health Care / Telemedicine
Customer Service
WebRTC in 2014
Labtop, Tablet, SmartPhone 보급률 증가
- 영상 입력장치 보급률 증가로 화상 통신의 수요 증가 기대

Cisco Desktop Videoconferencing 사용
자가 비약적으로 증가할 것으로
예상
WebRTC in 2014
Labtop, Tablet, SmartPhone 보급률 증가
- 영상 입력장치 보급률 증가로 화상 통신의 수요 증가 기대
=== Video Conferencing ?
WebRTC in 2014

- http://peercdn.com
- Yahoo에서 인수.
- 같은 위치에 접근한 Peer끼리
Resource를 공유하도록해 서버의
부하를 분산시키는 서비스.
WebRTC in 2014
Wearable + M2M
Google의 Nest인수($3.2B)는 IOT/M2M 시장의 선점을 위한 기술 인수.
WebRTC는 P2P의 표준으로써 M2M의 기반이
될 가능성이 매우 크기 때문에 주목 받고 있음.
Reference
WebRTC API : http://www.w3.org/TR/webrtc/
SDP Spec : http://www.ietf.org/rfc/rfc2327.txt
WebRTC Signalling : http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/
WebRTC Tutorial : http://nurinamu.tistory.com/601
WebRTC Stats : http://webrtcstats.com/webrtc-forecasts-upgraded-mobile-support-accelerating/
M2M w/ WebRTC : http://bloggeek.me/m2m-network-architecture/
CU-RTC-Web 은 과연 어떤 형태로?
감사합니다.
이원제 (LeeWonJae)
nurinamu@veckon.com
google+ : +nurinamu
twitter : @nurinamu
facebook : nurinamu

Más contenido relacionado

Destacado

WebRTC 현재와 미래 최진호 2016
WebRTC 현재와 미래 최진호 2016WebRTC 현재와 미래 최진호 2016
WebRTC 현재와 미래 최진호 2016Blisson Choi
 
Kurento: a media server architecture and API for WebRTC
Kurento: a media server architecture and API for WebRTCKurento: a media server architecture and API for WebRTC
Kurento: a media server architecture and API for WebRTCLuis Lopez
 
대신리포트_모닝미팅_131114
대신리포트_모닝미팅_131114대신리포트_모닝미팅_131114
대신리포트_모닝미팅_131114DaishinSecurities
 
KotlinJS Practice : Chrome API - TwiceRound Project #002
KotlinJS Practice : Chrome API - TwiceRound Project #002KotlinJS Practice : Chrome API - TwiceRound Project #002
KotlinJS Practice : Chrome API - TwiceRound Project #002Lee WonJae
 
Research on Audio and Video Streaming
Research on Audio and Video StreamingResearch on Audio and Video Streaming
Research on Audio and Video StreamingNyros Technologies
 
GDG DevFest 2014 - 코드 없이 오픈소스 기여하기: HTML5Rocks/KO 번역 야사
GDG DevFest 2014 - 코드 없이 오픈소스 기여하기: HTML5Rocks/KO 번역 야사GDG DevFest 2014 - 코드 없이 오픈소스 기여하기: HTML5Rocks/KO 번역 야사
GDG DevFest 2014 - 코드 없이 오픈소스 기여하기: HTML5Rocks/KO 번역 야사Chang W. Doh
 
초보 개발자의 커뮤니티 입문기
초보 개발자의 커뮤니티 입문기초보 개발자의 커뮤니티 입문기
초보 개발자의 커뮤니티 입문기Min Jae Kwon
 
Service Worker 201 (한국어)
Service Worker 201 (한국어)Service Worker 201 (한국어)
Service Worker 201 (한국어)Chang W. Doh
 
Webrtc 동향과 이슈 2016.08
Webrtc 동향과 이슈 2016.08Webrtc 동향과 이슈 2016.08
Webrtc 동향과 이슈 2016.08sung young son
 
IPC mechanisms in windows
IPC mechanisms in windowsIPC mechanisms in windows
IPC mechanisms in windowsVinoth Raj
 
[Gsc2014 spring(9)]naver d2 소개 (gsc2014)
[Gsc2014 spring(9)]naver d2 소개 (gsc2014)[Gsc2014 spring(9)]naver d2 소개 (gsc2014)
[Gsc2014 spring(9)]naver d2 소개 (gsc2014)VentureSquare
 
Google Code Jam 2017 소개
Google Code Jam 2017 소개Google Code Jam 2017 소개
Google Code Jam 2017 소개Startlink
 
[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래NAVER D2
 
Redis trouble shooting
Redis trouble shootingRedis trouble shooting
Redis trouble shootingDaeMyung Kang
 
[Hello world 오픈세미나]실시간웹을위한comet과socket.io
[Hello world 오픈세미나]실시간웹을위한comet과socket.io[Hello world 오픈세미나]실시간웹을위한comet과socket.io
[Hello world 오픈세미나]실시간웹을위한comet과socket.ioNAVER D2
 
[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on labNAVER D2
 
[Hello world 오픈 세미나]ffmpeg android
[Hello world 오픈 세미나]ffmpeg android[Hello world 오픈 세미나]ffmpeg android
[Hello world 오픈 세미나]ffmpeg androidNAVER D2
 

Destacado (20)

WebRTC 현재와 미래 최진호 2016
WebRTC 현재와 미래 최진호 2016WebRTC 현재와 미래 최진호 2016
WebRTC 현재와 미래 최진호 2016
 
Kurento: a media server architecture and API for WebRTC
Kurento: a media server architecture and API for WebRTCKurento: a media server architecture and API for WebRTC
Kurento: a media server architecture and API for WebRTC
 
대신리포트_모닝미팅_131114
대신리포트_모닝미팅_131114대신리포트_모닝미팅_131114
대신리포트_모닝미팅_131114
 
KotlinJS Practice : Chrome API - TwiceRound Project #002
KotlinJS Practice : Chrome API - TwiceRound Project #002KotlinJS Practice : Chrome API - TwiceRound Project #002
KotlinJS Practice : Chrome API - TwiceRound Project #002
 
Research on Audio and Video Streaming
Research on Audio and Video StreamingResearch on Audio and Video Streaming
Research on Audio and Video Streaming
 
GDG DevFest 2014 - 코드 없이 오픈소스 기여하기: HTML5Rocks/KO 번역 야사
GDG DevFest 2014 - 코드 없이 오픈소스 기여하기: HTML5Rocks/KO 번역 야사GDG DevFest 2014 - 코드 없이 오픈소스 기여하기: HTML5Rocks/KO 번역 야사
GDG DevFest 2014 - 코드 없이 오픈소스 기여하기: HTML5Rocks/KO 번역 야사
 
초보 개발자의 커뮤니티 입문기
초보 개발자의 커뮤니티 입문기초보 개발자의 커뮤니티 입문기
초보 개발자의 커뮤니티 입문기
 
Ffmpeg for android
Ffmpeg for androidFfmpeg for android
Ffmpeg for android
 
Service Worker 201 (한국어)
Service Worker 201 (한국어)Service Worker 201 (한국어)
Service Worker 201 (한국어)
 
Webrtc 동향과 이슈 2016.08
Webrtc 동향과 이슈 2016.08Webrtc 동향과 이슈 2016.08
Webrtc 동향과 이슈 2016.08
 
IPC mechanisms in windows
IPC mechanisms in windowsIPC mechanisms in windows
IPC mechanisms in windows
 
[Gsc2014 spring(9)]naver d2 소개 (gsc2014)
[Gsc2014 spring(9)]naver d2 소개 (gsc2014)[Gsc2014 spring(9)]naver d2 소개 (gsc2014)
[Gsc2014 spring(9)]naver d2 소개 (gsc2014)
 
Google Code Jam 2017 소개
Google Code Jam 2017 소개Google Code Jam 2017 소개
Google Code Jam 2017 소개
 
React Redux React Native
React Redux React NativeReact Redux React Native
React Redux React Native
 
[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래
 
FFmpeg presentation
FFmpeg presentationFFmpeg presentation
FFmpeg presentation
 
Redis trouble shooting
Redis trouble shootingRedis trouble shooting
Redis trouble shooting
 
[Hello world 오픈세미나]실시간웹을위한comet과socket.io
[Hello world 오픈세미나]실시간웹을위한comet과socket.io[Hello world 오픈세미나]실시간웹을위한comet과socket.io
[Hello world 오픈세미나]실시간웹을위한comet과socket.io
 
[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab
 
[Hello world 오픈 세미나]ffmpeg android
[Hello world 오픈 세미나]ffmpeg android[Hello world 오픈 세미나]ffmpeg android
[Hello world 오픈 세미나]ffmpeg android
 

Similar a WebRTC in 2014

어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅ksdc2019
 
원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영
원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영
원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영sung young son
 
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)JeongHeon Lee
 
웹소켓 (WebSocket)
웹소켓 (WebSocket)웹소켓 (WebSocket)
웹소켓 (WebSocket)jeongseokoh
 
멀티클라우드 Service Mesh
멀티클라우드 Service Mesh멀티클라우드 Service Mesh
멀티클라우드 Service MeshJeong-Ho Na
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Channy Yun
 
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)KH Park (박경훈)
 
신동형의 발로 뛰는 ICT Insight Vol3
신동형의 발로 뛰는 ICT Insight Vol3신동형의 발로 뛰는 ICT Insight Vol3
신동형의 발로 뛰는 ICT Insight Vol3Donghyung Shin
 
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것NAVER Engineering
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석Tommy Lee
 
WebSocket 기반 쌍방향 메시징
WebSocket 기반 쌍방향 메시징WebSocket 기반 쌍방향 메시징
WebSocket 기반 쌍방향 메시징trustinlee
 
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 고군분투기 김현수gustnxodjs
 
[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효NAVER D2
 
Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetesSangSun Park
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망Wonsuk Lee
 

Similar a WebRTC in 2014 (20)

어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
 
WebRTC
WebRTCWebRTC
WebRTC
 
원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영
원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영
원격회의 분야의 실감형 콘텐츠 표준활용 동향_WebRTC 융합_손성영
 
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)
 
웹소켓 (WebSocket)
웹소켓 (WebSocket)웹소켓 (WebSocket)
웹소켓 (WebSocket)
 
HTML5 and Smart TV
HTML5 and Smart TVHTML5 and Smart TV
HTML5 and Smart TV
 
멀티클라우드 Service Mesh
멀티클라우드 Service Mesh멀티클라우드 Service Mesh
멀티클라우드 Service Mesh
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
 
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)
 
신동형의 발로 뛰는 ICT Insight Vol3
신동형의 발로 뛰는 ICT Insight Vol3신동형의 발로 뛰는 ICT Insight Vol3
신동형의 발로 뛰는 ICT Insight Vol3
 
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
 
[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
 
WebSocket 기반 쌍방향 메시징
WebSocket 기반 쌍방향 메시징WebSocket 기반 쌍방향 메시징
WebSocket 기반 쌍방향 메시징
 
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
 
20150115 AWS BlackBelt - Amazon VPC (Korea)
20150115 AWS BlackBelt - Amazon VPC (Korea)20150115 AWS BlackBelt - Amazon VPC (Korea)
20150115 AWS BlackBelt - Amazon VPC (Korea)
 
Web rtc 고군분투기 김현수
Web rtc 고군분투기 김현수Web rtc 고군분투기 김현수
Web rtc 고군분투기 김현수
 
[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효
 
Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetes
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망
 

WebRTC in 2014

  • 1. WebRTC in 2014 - 다시 보는 WebRTC, 미리 보는 WebRTC 이원제 @Veckon CTO @GDG Seoul Organizer plus.google.com/+nurinamu
  • 3. WebRTC? WebRTC API Issues in WebRTC Groups WebRTC in Industry WebRTC in 2014 Agenda
  • 5.
  • 7.
  • 9. WebRTC Demo Site : http://apprtc.appspot.com
  • 10. WebRTC? WebRTC API Issues in WebRTC Groups WebRTC in Industry WebRTC in 2014 Agenda
  • 11. WebRTC API PeerConnection API WebRTC의 Core API 기능 개선된 내용 - Signal State가 추가됨 - 구현 주체 쪽에서 처리하던 시퀀스 처리 루틴이 간소화됨. - Multi-Stream을 지원 - 각 Stream이 ID로 관리됨. - setRemoteDescription이 내부적으로 startIce()를 호출하도록 변경. - Connection State가 구현 완료됨. (Chrome) - 연결 상태에 대한 확인을 위한 Polling 구조를 삭제할 수 있게 됨.
  • 12. WebRTC API DataChannel Peer 간의 Data를 주고 받을 수 있는 Tunnel api PeerConnection을 통해 생성됨. Datatype - string,blob,ArrayBuffer,ArrayBufferView Chrome : 26+, Firefox : 22+
  • 13. WebRTC API DTMFSender DTMF(Dial-Tone Multi Frequency) Generator를 내장함. DTMF를 AudioStream을 통해 전송가능. Demo - http://webrtc.googlecode.com/svn/trunk/samples/js/demos/html/dtmf1.html
  • 14. WebRTC? WebRTC API Issues in WebRTC Groups WebRTC in Industry WebRTC in 2014 Agenda
  • 15. Issues in WebRTC groups. ● Multiple User Connection. ● TURN Connection ● Codec issue. ● Recording. ● WebRTC <-> SIP. ● DataChannel. ● Screen / Desktop Sharing. ● WebRTC for Mobile.
  • 16. Multiple User Connection PeerConnection은 기본적으로 1:1 연결만 지원. Multi Connection을 위해서는 Client에서 직접 구현해야 함.
  • 17. Multiple User Connection Mesh 형태의 연결구조 PeerConnection을 이용한 가능 보편적인 연결 방식 - 장점 - 서버가 없는 완전한 P2P구조 - 빠른 속도 - 단점 - Client 장비에 큰 부하 - 회선에 따른 성능 Dependency가 큼 - 소규모 Video Conferencing에 적합함.
  • 18. Multiple User Connection Multipoint Control Unit을 이용한 연결 구조 PeerConnection의 MultiStream이 지원되면서 가능해진 방식 - 장점 - Client 부하가 적음. - 대규모 연결 가능. - 균일한 속도 보장 - 단점 - MCU 부하/비용 - Delay 발생 - MCU가 죽으면 X - Broadcasting 방식의 Conferencing에 적합함.
  • 19. Multiple User Connection Cluster Mesh 방식의 연결 구조 - Source MediaStream을 Forward하는 방식. - 장점 - 서버 비용이 없다. - 빠른 속도. - 단점 - Parent의 Bandwidth에 Dependency가 큼. - 불안한 연결 - 높은 복잡도 - 적은 부하로 대규모 연결이 가능
  • 20. TURN Connection 추천 TURN Server - 13년 초까지만 해도 restund를 많이 사용하였지만 현재는 rfc5766-turn-server TURN 서버 연결 성능을 WorldWide에서 균일하게 처리하기 위한 방법 - AWS EC2 + Route 53 GEO DNS TURN Connection의 Authentication 처리 - Account Server와 TURN서버간에 정보 공유 필요. - rfc5766-turn-sver에서 file, mysql, postgress, Redis를 호환함. Client 연결이 STUN인지 TURN인지 구분에 대한 요구가 큼. - 아직 특별한 대응은 없지만 Chrome팀에서는 ICE에 해당 정보를 업데이트하도록 노력하겠다고 함.
  • 22. Recording Browser상에서의 Stream 저장에 대한 요구는 계속됨. 현재로서는 Stream을 Snapshot으로 연결해 WebM으로 저장하는 방식을 사용. 하지만 음성을 저장하지 못해서 완전한 녹화 기능이 아님. 단, Native Library로 구현된 일부 Client들은 Stream저장 기능을 사용. MediaStream Recording API가 W3C에 등록되었지만 아직 구현된 Browser가 없 음. Draft version : 2013 2월 - http://www.w3.org/TR/mediastream-recording/ Working version : 2013 11월 - https://dvcs.w3.org/hg/dap/raw-file/tip/media-stream-capture/MediaRecorder.html
  • 23. WebRTC + SIP WebRTC와 기존의 VOIP간 연결을 위해 SIP Router API에 대한 요구가 큼. 일부 개발자들이 직접 구현한 Open Source Project들이 생김. - sipJS, webrtc2sip, sipML5 Demo service : http://lwork.hk:8086/
  • 24. Screen / Desktop Sharing. getUserMedia - screen option. - Chrome에서만 지원되고 있으며 M30 이후부터 Experimental로 지원하고 있 음. - Chrome M33 milestone에 default 전환 계획이 잡혀있음. - https://code.google.com/p/webrtc/issues/detail?id=1757 - Demo - https://html5-demos.appspot.com/static/getusermedia/screenshare.html
  • 25. DataChannel Outgoing limit 문제 - SDP의 outgoing bandwidth 설정(‘b=*’)을 변경해서 사용함. Cross Browsing 문제 - Chrome M29이상, Firefox 24이상에서 inter-op 지원. SCTP 지원 - Chrome M31이상에서 지원.
  • 26. WebRTC for mobile Android - WebRTC Native Code Package 를 통해 구현 가능. - http://www.webrtc.org/reference/getting-started - 현재 Windows, Linux, Android에서 사용 가능. - Browser가 아닌 Application에서도 WebRTC 기능 사용 가능. Tizen - V2.2에 getUserMedia가 구현됨. - V3.0+ 에 PeerConnection이 구현될 예정. iOS - Apple - 현재 WebRTC에 대한 구현 상황에 대해 어떤 정보도 나와 있는 것이 없음.
  • 27.
  • 28. WebRTC for Mobile Android 4.4 Kitkat 부터 WebView가 Chromium을 기반으로 만들어짐. WebRTC와 각종 HTML5 지원이 강력해짐. WebView의 user-agent 값. Mozilla/5.0 (Linux; Android 4.4; Nexus 4 Build/KRT16H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36
  • 29. WebRTC? WebRTC API Issues in WebRTC Groups WebRTC in Industry WebRTC in 2014 Agenda
  • 30. WebRTC in Industry Twelephone - http://twelephone.com - 트위터 계정을 이용한 영상통화 서비스 Bistri - http://bistri.com - 통합 SNS서비스기반 영상통화 서비스 & WebRTC Platform API 서비스 TokBox - http://tokbox.com - Video Communication Platform 서비스 : 기존에 Flash기반의 서비스 제공에서 WebRTC기반으로 스핀오프 중. - http://tokbox.com/about-webrtc/infographic
  • 31. WebRTC 업체 Veckon - http://veckon.com - One Click 영상 통화 서비스. - 개인 URL 서비스 제공. - B2B: 성형외과 대상으로 원격 영상 상담 & 환자 기록 관리 시스템 제공.
  • 32. WebRTC? WebRTC API Issues in WebRTC Groups WebRTC in Industry WebRTC in 2014 Agenda
  • 33. Remote Office / Co-working Service. Video Converencing.
  • 35.
  • 36. Health Care / Telemedicine
  • 38. WebRTC in 2014 Labtop, Tablet, SmartPhone 보급률 증가 - 영상 입력장치 보급률 증가로 화상 통신의 수요 증가 기대 Cisco Desktop Videoconferencing 사용 자가 비약적으로 증가할 것으로 예상
  • 39. WebRTC in 2014 Labtop, Tablet, SmartPhone 보급률 증가 - 영상 입력장치 보급률 증가로 화상 통신의 수요 증가 기대
  • 41. WebRTC in 2014 - http://peercdn.com - Yahoo에서 인수. - 같은 위치에 접근한 Peer끼리 Resource를 공유하도록해 서버의 부하를 분산시키는 서비스.
  • 42. WebRTC in 2014 Wearable + M2M Google의 Nest인수($3.2B)는 IOT/M2M 시장의 선점을 위한 기술 인수. WebRTC는 P2P의 표준으로써 M2M의 기반이 될 가능성이 매우 크기 때문에 주목 받고 있음.
  • 43. Reference WebRTC API : http://www.w3.org/TR/webrtc/ SDP Spec : http://www.ietf.org/rfc/rfc2327.txt WebRTC Signalling : http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/ WebRTC Tutorial : http://nurinamu.tistory.com/601 WebRTC Stats : http://webrtcstats.com/webrtc-forecasts-upgraded-mobile-support-accelerating/ M2M w/ WebRTC : http://bloggeek.me/m2m-network-architecture/
  • 44. CU-RTC-Web 은 과연 어떤 형태로?
  • 45. 감사합니다. 이원제 (LeeWonJae) nurinamu@veckon.com google+ : +nurinamu twitter : @nurinamu facebook : nurinamu