25
주식회사 구루미 이랑혁 WebRTC기반 서비스 개발 사례

Web rtc meetup_korea_1st(20161115)

Embed Size (px)

Citation preview

Page 1: Web rtc meetup_korea_1st(20161115)

주식회사����������� ������������������  구루미

이랑혁

WebRTC기반서비스

개발사례

Page 2: Web rtc meetup_korea_1st(20161115)

2

회사소개

구루미소개����������� ������������������  (gooroomee.com)

Page 3: Web rtc meetup_korea_1st(20161115)

3

그래서고객과누리고싶은것은?

Page 4: Web rtc meetup_korea_1st(20161115)

4

제공기능

영상협업을위해준비된기능많이사용하는기능을전면에 적게사용하는기능은숨기거나추가하지않음

영상회의

문서공유

화면공유

동영상공유(예정)

Page 5: Web rtc meetup_korea_1st(20161115)

5

영상통화기술

영상통화

레이아웃 4자

WebRTC기반영상통화서비스중가장많은동시접속자

영상통화

레이아웃 16자영상통화

레이아웃 64자

l 4자무료영상통화레이아웃기능제공

l S/W����������� ������������������  MCU기능을통한최대64자영상통화레이아웃기능제공

l 세미나기능제공

l 녹화기능

l 비밀번호를통한접근통제

l Full HD영상화면제공

l 영상코덱:����������� ������������������  VP8,����������� ������������������  VP9,����������� ������������������  H.264

l 음성코덱:����������� ������������������  OPUS,����������� ������������������  G.711,����������� ������������������  G.722

l SNS연동

Page 6: Web rtc meetup_korea_1st(20161115)

6

구루미로����������� ������������������  하고싶은것들

Page 7: Web rtc meetup_korea_1st(20161115)

7

모든기기와연결된Facebook?

5

WebRTC Use����������� ������������������  Case

Page 8: Web rtc meetup_korea_1st(20161115)

8

WebRTC Use����������� ������������������  Case

인터넷에서바로상담원연결

각종상담서비스를 쉽게제공할수있음

Page 9: Web rtc meetup_korea_1st(20161115)

9

WebRTC Use����������� ������������������  Case

활용할수있는

각종서비스를 쉽게제공할수있음

01

자동차네비게이션Android  OS

03

CCTV04

재난관제05

원격의료

02

TV속으로

Page 10: Web rtc meetup_korea_1st(20161115)

10

구성도

Page 11: Web rtc meetup_korea_1st(20161115)

11

구성도-Web

asdasdasd asd

Client

PC(Windows,  Mac  OS,  Linux)

Smart  Phone(Android  Device)

Tablet  PC(Android  Device)

iOS  Device

Server

GRM-­‐SWS GRM-­‐SCS GRM-­‐ICE(Turn,  Stun)

GRM-­‐LoadBalancer

HTML5  /  WebRTC H.264,  VP8  /G.7xx,  OPUS

(Mixed)H.264,  VP8,  VP9  /  G.7xx,  OPUS

HLSRTSPRTMP

Gooroomee Real-­‐Time  Media  Hub

GRM-­‐SSSGRM-­‐SMCU Etc  

Page 12: Web rtc meetup_korea_1st(20161115)

12

구성도­–S/W����������� ������������������  MCU

GRM-­‐MCUWRTC  Signal  Manager

Streaming  Server

RTSP  MGR

RTMP  MGR

Session  Manager GRM  Mixer

Audio  Mixer

Video  Mixer

Room  Mgr

SIP  Server

SIP  MGRHLS  MGRUser  Mgr

Peer  ConnectionServer

Sub  Server  Manager

Peer  Connection  Factory

Peer  Connection

라이브(웨비나) 이기종  단말다자회의

.

.

.

Page 13: Web rtc meetup_korea_1st(20161115)

13

감사합니다Thank  you

[email protected]

Page 14: Web rtc meetup_korea_1st(20161115)

부록1­–기본플로우

ICE

Connect ConnectJoin  room

Peer  List

Check  Peer  ListJoin  room

Peer  List

Check  Peer  List

Create  PeerConnection

Create  Offer

Set  local  Description

Send  Offer Peer  ListCreate  PearConnection

SetRemoteDescription

Create  Answer

SetLocalDescription

Send  Answer

Set  Remote  Description

Peer01 STUN TURN Signal  Server Peer02

Media

addStream

addStream

ICE

Page 15: Web rtc meetup_korea_1st(20161115)

부록1-ICE

SDP����������� ������������������  예시

https://mdn.mozillademos.org/files/6119/webrtc-­‐complete-­‐diagram.png

The����������� ������������������  entire����������� ������������������  exchange����������� ������������������  in����������� ������������������  a����������� ������������������  complicated����������� ������������������  diagram

ICE����������� ������������������  Framework(Interactive����������� ������������������  Connectivity����������� ������������������  Establishment)

Page 16: Web rtc meetup_korea_1st(20161115)

부록1-ICE

STUN

STUN

TURN

SignalingServer

Firewall&NAT

Firewall&����������� ������������������  NAT

222.99.157.37 192.168.7.7

당신의 IP는222.99.157.37  

입니다.

STUN님공인IP를

알려주세요

Media

Page 17: Web rtc meetup_korea_1st(20161115)

부록1-ICE

TURN

STUN

TURN

SignalingServer

Firewall&NAT

Firewall&����������� ������������������  NAT

Firewall&����������� ������������������  NAT

Media Media

Open  source  :  https://github.com/jitsi/turnserver/tree/master/src/main/java/org/jitsi/turnserver

Page 18: Web rtc meetup_korea_1st(20161115)

부록1-ICE:STUN vs. TURN

비교항목 STUN TURN

역할 단말의 공인IP를 알려 줌 미디어를 중계 함

사용시점 항상미디어의 중계가 필요한경우

네트워크사용량(유지비용) 적음 많음

A/V품질과의관련성 없음 가능성 있음

STUN과 TURN 비교

Page 19: Web rtc meetup_korea_1st(20161115)

부록2-MediaServer

• 여러사람의영상을동시에표시해야할

경우(회의)

• 녹화

• 스트리밍처리

• 트랜스코딩기능이필요한경우

• VP8����������� ������������������  ßàH.264

• 다양한연동

Signaling

SignalingMediaServer

Signaling Server

MediaServer의 역할

Page 20: Web rtc meetup_korea_1st(20161115)

부록3-미디어처리방식

Mesh Routing Conferencing(MCU)

• 연결된단말의수가적을때

• 서버유지비용이없다

• 실시간성이 가장높다

• 컨퍼런스서비스가 필요할경우

적당하다

• 컨퍼런스서비스제공시유용하다

• 네트워크비용을절감할수있다

• 한회의실에 다수의사용자영상을

보여 줄수있다

Page 21: Web rtc meetup_korea_1st(20161115)

부록3-미디어처리방식

Media 방식의이해

Page 22: Web rtc meetup_korea_1st(20161115)

부록4-코덱:Video

브라우저별 코덱지원현황(2015.10)

Page 23: Web rtc meetup_korea_1st(20161115)

부록4-코덱:Video

§ Low����������� ������������������  Complexity§ Low����������� ������������������  Latency§ Resiliency§ Free

Page 24: Web rtc meetup_korea_1st(20161115)

부록4-코덱:Audio

Audio Codec

Page 25: Web rtc meetup_korea_1st(20161115)

참고자료

• http://www.w3.org/TR/webrtc/

• http://www.webrtc.org

• https://webrtchacks.com

• https://bloggeek.me

• https://w3c.github.io/webrtc-pc/

• https://www.webrtc-experiment.com/

[email protected]://gooroomee.com