ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
????, WebRTC? ??? 360? ????
??? ?? ???
Contents
1 WebRTC?
2 WebRTC? ??? ???
3 WebRTC? HelloWorld
4 WebRTC ¨C Real360 ??????
(??) WebRTC ? Android Client
Web Front-End ??
- UI Builder Solution
- Services Common Module & Front-End Dev.
- Framework Tool Eclipse Plugin Dev.
KT ??? (Seuyun Choi)
Contents
1 WebRTC?
2 WebRTC? ??? ???
3 WebRTC? HelloWorld
4 WebRTC ¨C Real360 ??????
WebRTC?
¡°WebRTC?, Web Real-Time Communication¡±
01
WebRTC?
VP8
VP9
TURN
STUN
signaling
ICE
OPUS
SFU
MCU
SRTP
01
WebRTC?
Peer to Peer ?? ??? ??? ???
Alice Bob
01
WebRTC?
Peer to Peer ?? ??? ??? ???
Signaling Signaling
Media
Alice Bob
01
WebRTC?
ICE(Internet Connectivity Establishment) Candidate
01
¡­
0, candidate: candidate:842163049 1 udp 1685987071 1.2.3.4 123 typ srflx raddr 9.8.7.6 rport 987 ¡­
0, candidate: candidate:842163049 1 udp 1685987071 1.2.3.4 123 typ srflx raddr 9.8.7.6 rport 987 ¡­
0, candidate: candidate:1239237416 1 udp 41820671 1.2.3.4 123 typ relay raddr 9.8.7.6 rport 987 ¡­
0, candidate: candidate:917939525 1 udp 25042943 1.2.3.4 123 typ relay raddr 9.8.7.6 rport 987 ¡­
iceconnectionstatechange
Connected
¡­
1 RTP
2 RTCP
UDP
TCP
host : local
srflx : from STUN peer
prflx from STUN remote peer
relay : TURN
WebRTC?
Peer to Peer ?? ??? ??? ???
Alice Bob
01
WebRTC?
Peer to Peer ?? ??? ??? ???
Alice
01
NAT
STUN
Who am I ?
You are
168.x.x.x : yyyy Bob
NAT
192.x.x.x : yyyy
WebRTC?
Peer to Peer ?? ??? ??? ???
01
Alice Bob
TURN
Relay Media
168.x.x.x : yyyy
WebRTC Protocol Stack
WebRTC?01
WebRTC?
WebRTC ?? API
Web Android iOS
getUserMedia
RTCPeerConnection
RTCDataChannel
01
org.webrtc.VideoCapturer
org.webrtc.PeerConnection
org.webrtc.RTCDataChannel
RTCVideoCapturer
RTCPeerConnection
RTCDataChannel
WebRTC?
Peer to Peer ?? ??
01
Peer RemotePeer
-- Create Peer Connection
-- Set Local Description& ICE Negotiation
-- Get Local Media Stream
Create Peer Connection --
Set Local Description--
Add Local Media Stream --
Set Remote Description& ICE Negotiation --
Add Remote Media Stream --
-- Set Remote Description
-- Add Remote Media Stream
ICE
Offer
ICE
Answer
Media
Contents
1 WebRTC?
2 WebRTC? ??? ???
3 WebRTC? HelloWorld
4 WebRTC ¨C Real360 ??????
WebRTC? ??? ???02
??? ?? ????? ?? WebRTC?¡­
Contents
1 WebRTC?
2 WebRTC? ??? ???
3 WebRTC? HelloWorld
4 WebRTC ¨C Real360 ??????
WebRTC? HelloWorld
WebRTC PoC ??
03
WebRTC ?? AppRTC ?? ????
???
360 ????
???
WebRTC? HelloWorld03
WebRTC ?? AppRTC ??
????
???
360 ????
???
Ubuntu + ?? 20G + ???
> webRTC? ?????? ???? ? (??: https://webrtc.org/native-code/android/)
Ubuntu ?? (mac ??? virtualbox, sudo mode ??..)
apt-get install git
mkdir webrtc
cd webrtc
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=pwd`/depot_tools:"$PATH"
export GYP_DEFINES="OS=android"
fetch --nohooks webrtc_android
gclient sync ¨Cforce : ???? ..??? y/n ??
???? ??? ????? ??
cd src
./build/install-build-deps.sh --no-chromeos-fonts
./build/install-build-deps-android.sh
(dir src ??? ?? ??)
gn gen out/Default --args='target_os="android" target_cpu="arm" is_debug=false'
ninja -C out/Default AppRTCMobile
????? ??? ??? ?? ?? ??? ?? (mac ??? shared)
[src]/out/Default/libjingle_peerconnection_so.so
WebRTC? HelloWorld03
WebRTC ?? AppRTC ??
????
???
360 ????
???
WebRTC? HelloWorld03
WebRTC ?? AppRTC ??
????
???
360 ????
???
AppRTC ? appr.tc ?
WebRTC? HelloWorld03
WebRTC ?? AppRTC ??
????
???
360 ????
???
AppRTC ? appr.tc ? (Mac)
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
--use-fake-device-for-media-stream --use-file-for-fake-video-capture=
"/Users/choise/Downloads/my_gitlab/media_sample/v154312.y4m"
WebRTC? HelloWorld03
WebRTC ?? AppRTC ??
????
???
360 ????
???
I¡¯m Ready !!
Contents
1 WebRTC?
2 WebRTC? ??? ???
3 WebRTC? HelloWorld
4 WebRTC ¨C Real360 ??????
WebRTC ¨C Real360 ??????
WebRTC? 360? 4K ???? ??? ?????
04
??? ? ? ?? ??..
WebRTC ¨C Real360 ??????04
360 ?? ???
?? ??
WebRTC ?? ??? ?? 2Mbps
WebRTC ¨C Real360 ??????
??360 ??? ??
04
SNS Live Streaming
Neckband
Caller
Business
Relay Media
Callee
4K ??? ???
360? ??
Signaling
WebRTC ¨C Real360 ??????
??? ??? ????
04
WebRTC ¨C Real360 ??????
WebRTC ?? ?? ??? ??
04
WebRTC ¨C Real360 ??????
??? ??? ????
04
SDP
o=- 5763911104499152831 2 IN IP4 127.0.0.1
¡­
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 110 112 113 126
c=IN IP4 0.0.0.0
¡­
a=rtpmap:111 opus/48000/2
¡­
m=video 9 UDP/TLS/RTP/SAVPF 96 98 97 99 125 107 114 115 116
¡­
a=setup:active
a=mid:1
¡­
a=rtpmap:96 VP8/90000
¡­
a=rtpmap:98 VP9/90000
¡­
a=rtpmap:125 H264/90000
¡­
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
¡­
x-google-start-bitrate, ¡­
WebRTC ¨C Real360 ??????
x-google-start-bitrate, ¡­ ?? ?? ?? (Sample App ???)
04
3.5 -> 5.0Mbps
????? 1? ??
Google options only, 10Mbps
WebRTC ¨C Real360 ??????
WebRTC ?? ?? ??? ??
04
WebRTC ¨C Real360 ??????
??? ??? ????
04
SDP
o=- 5763911104499152831 2 IN IP4 127.0.0.1
¡­
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 110 112 113 126
c=IN IP4 0.0.0.0
¡­
a=rtpmap:111 opus/48000/2
¡­
m=video 9 UDP/TLS/RTP/SAVPF 96 98 97 99 125 107 114 115 116
¡­
a=setup:active
a=mid:1
¡­
a=rtpmap:96 VP8/90000
¡­
a=rtpmap:98 VP9/90000
¡­
a=rtpmap:125 H264/90000
¡­
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
¡­
b=AS
WebRTC ¨C Real360 ??????
b=AS ?? ?? ?? (Sample App ???)
04
b=AS ?? ???
Google options 10Mbps, b=AS 5Mbps
WebRTC ¨C Real360 ??????
b=AS ?? ?? ?? (Sample App ???)
04
Google options 5Mbps, b=AS 5Mbps
3.6 -> 9.6Mbps
????? 1? ??
??? ??? ??
WebRTC ¨C Real360 ??????
??? ??? ????
04
encoding
maxBitrateBps
minBitrateBps
maxFramerate
WebRTC ¨C Real360 ??????
?? ?? ?? ?? (Sample App ???)
04
Google options 5Mbps, b=AS 5Mbps,
Encoding options 5Mbps
4.1 -> 9.7Mbps
????? 1? ??
?? ???? ??? ??
WebRTC ¨C Real360 ??????
WebRTC ?? ¨C BWE(BandWidth Estimation)
04
WebRTC ¨C Real360 ??????
WebRTC ?? ¨C BWE(BandWidth Estimation)
04
¡­/org.appspot.apprtc E/choise-RTCClient: videoSendStat = ssrc_1112228001_send
¡­
FirsReceived=0
FrameHeightInput=1920
FrameHeightSent=810
FrameRateInput=30
FrameRateSent=30
FrameWidthInput=1080
FrameWidthSent=1440
¡­
¡­ /org.appspot.apprtc E/choise-RTCClient: bweforvideo = bweforvideo
ActualEncBitrate=1239952
ReceiveBandwidth=0
SendBandwidth=1280210
BucketDelay=25
RetransmitBitrate=241776
TargetEncBitrate=1229944
TransmitBitrate=2539424
H : 810
W : 1440
WebRTC ¨C Real360 ??????
WebRTC ?? ¨C BWE(BandWidth Estimation)
04
¡­/org.appspot.apprtc E/choise-RTCClient: videoSendStat = ssrc_1112228001_send
¡­
FirsReceived=0
FrameHeightInput=1920
FrameHeightSent=1080
FrameRateInput=31
FrameRateSent=17
FrameWidthInput=1080
FrameWidthSent=1920
¡­
¡­/org.appspot.apprtc E/choise-RTCClient: bweforvideo = bweforvideo
ActualEncBitrate=2251376
ReceiveBandwidth=0
SendBandwidth=2167490
BucketDelay=37
RetransmitBitrate=0
TargetEncBitrate=2167490
TransmitBitrate=2323016
H : 810 -> 1080
W : 1440 -> 1920
WebRTC ¨C Real360 ??????
??? ??? ????
04
???? ??? ??
WebRTC ¨C Real360 ??????
??¡­
04
??? ??? BWE
?? ???? ??
WebRTC ¨C Real360
???? ? ?? ????¡­
04
Codecs
Platform
Web Peer
¡­ Services
QnA
????, WebRTC? ??? 360? ???? ??? ??
Ad

Recommended

NAVSEA PEO USC - Unmanned & Small Combatants 26Oct23.pdf
NAVSEA PEO USC - Unmanned & Small Combatants 26Oct23.pdf
WadeK3
?
XPDDS18: Real Time in XEN on ARM - Andrii Anisov, EPAM Systems Inc.
XPDDS18: Real Time in XEN on ARM - Andrii Anisov, EPAM Systems Inc.
The Linux Foundation
?
Memory Mapping Implementation (mmap) in Linux Kernel
Memory Mapping Implementation (mmap) in Linux Kernel
Adrian Huang
?
Overlayfs and VFS
Overlayfs and VFS
Hao(Robin) Dong
?
Staring into the eBPF Abyss
Staring into the eBPF Abyss
Sasha Goldshtein
?
Logical Volume Manager. An Introduction
Logical Volume Manager. An Introduction
Juan A. Su¨¢rez Romero
?
reference_guide_Kernel_Crash_Dump_Analysis
reference_guide_Kernel_Crash_Dump_Analysis
Buland Singh
?
Linux kernel debugging
Linux kernel debugging
Hao-Ran Liu
?
Qemu device prototyping
Qemu device prototyping
Yan Vugenfirer
?
MANUAL DE CAMPANHA OPERA??ES DE TRANSPOSI??O DE CURSOS DE ?GUA C 31-60
Turbinas Aladas
?
MANUAL DE CAMPANHA INSTALA??ES NA ZONA DE COMBATE C 5-39
Turbinas Aladas
?
BSP.pptx
BSP.pptx
taruian
?
Performance Analysis Tools for Linux Kernel
Performance Analysis Tools for Linux Kernel
lcplcp1
?
[D2]pinpoint ???????
[D2]pinpoint ???????
NAVER D2
?
Reverse Mapping (rmap) in Linux Kernel
Reverse Mapping (rmap) in Linux Kernel
Adrian Huang
?
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Anne Nicolas
?
Physical Memory Models.pdf
Physical Memory Models.pdf
Adrian Huang
?
malloc & vmalloc in Linux
malloc & vmalloc in Linux
Adrian Huang
?
Qemu Introduction
Qemu Introduction
Chiawei Wang
?
The WebKit project
The WebKit project
juanjosanchezpenas
?
MANUAL DE CAMPANHA ESTADO-MAIOR E ORDENS 1? VOLUME C 101-5
Turbinas Aladas
?
FORMA??O B?SICA DO COMBATENTE PPB/2 2010
Turbinas Aladas
?
Java EE 7 Batch processing in the Real World
Java EE 7 Batch processing in the Real World
Roberto Cortez
?
BPF / XDP 8? ??? KossLab
BPF / XDP 8? ??? KossLab
Taeung Song
?
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
Bruno Borges
?
Ship construction & building
Ship construction & building
mohamed Boutmezoughet
?
Caderno Candidato Ccfa
Triplo Sof
?
Kernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at Netflix
Brendan Gregg
?
WebRTC in 2014
WebRTC in 2014
Lee WonJae
?
WebRTC
WebRTC
Wonjun Hwang
?

More Related Content

What's hot (20)

Qemu device prototyping
Qemu device prototyping
Yan Vugenfirer
?
MANUAL DE CAMPANHA OPERA??ES DE TRANSPOSI??O DE CURSOS DE ?GUA C 31-60
Turbinas Aladas
?
MANUAL DE CAMPANHA INSTALA??ES NA ZONA DE COMBATE C 5-39
Turbinas Aladas
?
BSP.pptx
BSP.pptx
taruian
?
Performance Analysis Tools for Linux Kernel
Performance Analysis Tools for Linux Kernel
lcplcp1
?
[D2]pinpoint ???????
[D2]pinpoint ???????
NAVER D2
?
Reverse Mapping (rmap) in Linux Kernel
Reverse Mapping (rmap) in Linux Kernel
Adrian Huang
?
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Anne Nicolas
?
Physical Memory Models.pdf
Physical Memory Models.pdf
Adrian Huang
?
malloc & vmalloc in Linux
malloc & vmalloc in Linux
Adrian Huang
?
Qemu Introduction
Qemu Introduction
Chiawei Wang
?
The WebKit project
The WebKit project
juanjosanchezpenas
?
MANUAL DE CAMPANHA ESTADO-MAIOR E ORDENS 1? VOLUME C 101-5
Turbinas Aladas
?
FORMA??O B?SICA DO COMBATENTE PPB/2 2010
Turbinas Aladas
?
Java EE 7 Batch processing in the Real World
Java EE 7 Batch processing in the Real World
Roberto Cortez
?
BPF / XDP 8? ??? KossLab
BPF / XDP 8? ??? KossLab
Taeung Song
?
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
Bruno Borges
?
Ship construction & building
Ship construction & building
mohamed Boutmezoughet
?
Caderno Candidato Ccfa
Triplo Sof
?
Kernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at Netflix
Brendan Gregg
?
MANUAL DE CAMPANHA OPERA??ES DE TRANSPOSI??O DE CURSOS DE ?GUA C 31-60
Turbinas Aladas
?
MANUAL DE CAMPANHA INSTALA??ES NA ZONA DE COMBATE C 5-39
Turbinas Aladas
?
Performance Analysis Tools for Linux Kernel
Performance Analysis Tools for Linux Kernel
lcplcp1
?
[D2]pinpoint ???????
[D2]pinpoint ???????
NAVER D2
?
Reverse Mapping (rmap) in Linux Kernel
Reverse Mapping (rmap) in Linux Kernel
Adrian Huang
?
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Anne Nicolas
?
Physical Memory Models.pdf
Physical Memory Models.pdf
Adrian Huang
?
malloc & vmalloc in Linux
malloc & vmalloc in Linux
Adrian Huang
?
MANUAL DE CAMPANHA ESTADO-MAIOR E ORDENS 1? VOLUME C 101-5
Turbinas Aladas
?
FORMA??O B?SICA DO COMBATENTE PPB/2 2010
Turbinas Aladas
?
Java EE 7 Batch processing in the Real World
Java EE 7 Batch processing in the Real World
Roberto Cortez
?
BPF / XDP 8? ??? KossLab
BPF / XDP 8? ??? KossLab
Taeung Song
?
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
Bruno Borges
?
Caderno Candidato Ccfa
Triplo Sof
?
Kernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at Netflix
Brendan Gregg
?

Similar to ????, WebRTC? ??? 360? ???? ??? ?? (20)

WebRTC in 2014
WebRTC in 2014
Lee WonJae
?
WebRTC
WebRTC
Wonjun Hwang
?
WebRTC ??? ?? ??? 2016
WebRTC ??? ?? ??? 2016
Blisson Choi
?
Web rtc meetup_korea_1st(20161115)
Web rtc meetup_korea_1st(20161115)
Rang-Hyuck Lee
?
Tdevelopers forum web_rtc ?? ? api ??
Tdevelopers forum web_rtc ?? ? api ??
Tdev SKtelecom
?
WebRTC ?? ???_webappscamp
WebRTC ?? ???_webappscamp
Blisson Choi
?
w3c 2017 - WebRTC ????? back to basic ????
w3c 2017 - WebRTC ????? back to basic ????
?? ?
?
What is web rtc
What is web rtc
Kichul Jung
?
WebRTC ?? ?? ??
WebRTC ?? ?? ??
Blisson Choi
?
WebRTC 1.0 ????? ??, ??? ????
WebRTC 1.0 ????? ??, ??? ????
sung young son
?
?Web rtc??
?Web rtc??
?? ?
?
???? ?? ?? ICT Insight Vol3
???? ?? ?? ICT Insight Vol3
Donghyung Shin
?
???? ??? ??? ??? ???? ??_WebRTC ??_???
???? ??? ??? ??? ???? ??_WebRTC ??_???
sung young son
?
KGC 2016: HTTPS ? ??? ?? ?? ????? ? - Korea Games Conference
KGC 2016: HTTPS ? ??? ?? ?? ????? ? - Korea Games Conference
Xionglong Jin
?
How to make web based collaborate code editor
How to make web based collaborate code editor
Young-Hyuk Yoo
?
Web rtc ????? ???
Web rtc ????? ???
gustnxodjs
?
An Introduction to WebRTC
An Introduction to WebRTC
MinJae Kang
?
Webrtc ??? 20150528
Webrtc ??? 20150528
?? ?
?
???? ??? ???? ???? ? ??
???? ??? ???? ???? ? ??
Hyunjik Bae
?
?????? ?????????????????????? ?????
?????? ?????????????????????? ?????
?? ?
?
WebRTC ??? ?? ??? 2016
WebRTC ??? ?? ??? 2016
Blisson Choi
?
Web rtc meetup_korea_1st(20161115)
Web rtc meetup_korea_1st(20161115)
Rang-Hyuck Lee
?
Tdevelopers forum web_rtc ?? ? api ??
Tdevelopers forum web_rtc ?? ? api ??
Tdev SKtelecom
?
WebRTC ?? ???_webappscamp
WebRTC ?? ???_webappscamp
Blisson Choi
?
w3c 2017 - WebRTC ????? back to basic ????
w3c 2017 - WebRTC ????? back to basic ????
?? ?
?
WebRTC 1.0 ????? ??, ??? ????
WebRTC 1.0 ????? ??, ??? ????
sung young son
?
?Web rtc??
?Web rtc??
?? ?
?
???? ?? ?? ICT Insight Vol3
???? ?? ?? ICT Insight Vol3
Donghyung Shin
?
???? ??? ??? ??? ???? ??_WebRTC ??_???
???? ??? ??? ??? ???? ??_WebRTC ??_???
sung young son
?
KGC 2016: HTTPS ? ??? ?? ?? ????? ? - Korea Games Conference
KGC 2016: HTTPS ? ??? ?? ?? ????? ? - Korea Games Conference
Xionglong Jin
?
How to make web based collaborate code editor
How to make web based collaborate code editor
Young-Hyuk Yoo
?
Web rtc ????? ???
Web rtc ????? ???
gustnxodjs
?
An Introduction to WebRTC
An Introduction to WebRTC
MinJae Kang
?
Webrtc ??? 20150528
Webrtc ??? 20150528
?? ?
?
???? ??? ???? ???? ? ??
???? ??? ???? ???? ? ??
Hyunjik Bae
?
?????? ?????????????????????? ?????
?????? ?????????????????????? ?????
?? ?
?
Ad

More from ksdc2019 (11)

????? ???? DevOps ? ? ??
????? ???? DevOps ? ? ??
ksdc2019
?
??? (??? ???? ???) 5G IoT ??? ?? ???
??? (??? ???? ???) 5G IoT ??? ?? ???
ksdc2019
?
GiGA Genie ??/?? ?? ??? ?? ?? ??? ?? ???
GiGA Genie ??/?? ?? ??? ?? ?? ??? ?? ???
ksdc2019
?
?? ?? ??? ??? ?? IT Transformation
?? ?? ??? ??? ?? IT Transformation
ksdc2019
?
5G ??? ?? ??, ?? ?? ???
5G ??? ?? ??, ?? ?? ???
ksdc2019
?
????? ??? ????
????? ??? ????
ksdc2019
?
????? ??? 5G V2X Mediation Cluster ??
????? ??? 5G V2X Mediation Cluster ??
ksdc2019
?
AI-IoT ??? ?? KT GiGA Genie Home Skills
AI-IoT ??? ?? KT GiGA Genie Home Skills
ksdc2019
?
Elasticsearch? ??? GIS ??
Elasticsearch? ??? GIS ??
ksdc2019
?
GiGA Genie? ? Web App? ??????
GiGA Genie? ? Web App? ??????
ksdc2019
?
GiGA Genie? ?? Text Analytics ??
GiGA Genie? ?? Text Analytics ??
ksdc2019
?
????? ???? DevOps ? ? ??
????? ???? DevOps ? ? ??
ksdc2019
?
??? (??? ???? ???) 5G IoT ??? ?? ???
??? (??? ???? ???) 5G IoT ??? ?? ???
ksdc2019
?
GiGA Genie ??/?? ?? ??? ?? ?? ??? ?? ???
GiGA Genie ??/?? ?? ??? ?? ?? ??? ?? ???
ksdc2019
?
?? ?? ??? ??? ?? IT Transformation
?? ?? ??? ??? ?? IT Transformation
ksdc2019
?
5G ??? ?? ??, ?? ?? ???
5G ??? ?? ??, ?? ?? ???
ksdc2019
?
????? ??? ????
????? ??? ????
ksdc2019
?
????? ??? 5G V2X Mediation Cluster ??
????? ??? 5G V2X Mediation Cluster ??
ksdc2019
?
AI-IoT ??? ?? KT GiGA Genie Home Skills
AI-IoT ??? ?? KT GiGA Genie Home Skills
ksdc2019
?
Elasticsearch? ??? GIS ??
Elasticsearch? ??? GIS ??
ksdc2019
?
GiGA Genie? ? Web App? ??????
GiGA Genie? ? Web App? ??????
ksdc2019
?
GiGA Genie? ?? Text Analytics ??
GiGA Genie? ?? Text Analytics ??
ksdc2019
?
Ad

????, WebRTC? ??? 360? ???? ??? ??

  • 1. ????, WebRTC? ??? 360? ???? ??? ?? ???
  • 2. Contents 1 WebRTC? 2 WebRTC? ??? ??? 3 WebRTC? HelloWorld 4 WebRTC ¨C Real360 ??????
  • 3. (??) WebRTC ? Android Client Web Front-End ?? - UI Builder Solution - Services Common Module & Front-End Dev. - Framework Tool Eclipse Plugin Dev. KT ??? (Seuyun Choi)
  • 4. Contents 1 WebRTC? 2 WebRTC? ??? ??? 3 WebRTC? HelloWorld 4 WebRTC ¨C Real360 ??????
  • 5. WebRTC? ¡°WebRTC?, Web Real-Time Communication¡± 01
  • 7. WebRTC? Peer to Peer ?? ??? ??? ??? Alice Bob 01
  • 8. WebRTC? Peer to Peer ?? ??? ??? ??? Signaling Signaling Media Alice Bob 01
  • 9. WebRTC? ICE(Internet Connectivity Establishment) Candidate 01 ¡­ 0, candidate: candidate:842163049 1 udp 1685987071 1.2.3.4 123 typ srflx raddr 9.8.7.6 rport 987 ¡­ 0, candidate: candidate:842163049 1 udp 1685987071 1.2.3.4 123 typ srflx raddr 9.8.7.6 rport 987 ¡­ 0, candidate: candidate:1239237416 1 udp 41820671 1.2.3.4 123 typ relay raddr 9.8.7.6 rport 987 ¡­ 0, candidate: candidate:917939525 1 udp 25042943 1.2.3.4 123 typ relay raddr 9.8.7.6 rport 987 ¡­ iceconnectionstatechange Connected ¡­ 1 RTP 2 RTCP UDP TCP host : local srflx : from STUN peer prflx from STUN remote peer relay : TURN
  • 10. WebRTC? Peer to Peer ?? ??? ??? ??? Alice Bob 01
  • 11. WebRTC? Peer to Peer ?? ??? ??? ??? Alice 01 NAT STUN Who am I ? You are 168.x.x.x : yyyy Bob NAT 192.x.x.x : yyyy
  • 12. WebRTC? Peer to Peer ?? ??? ??? ??? 01 Alice Bob TURN Relay Media 168.x.x.x : yyyy
  • 14. WebRTC? WebRTC ?? API Web Android iOS getUserMedia RTCPeerConnection RTCDataChannel 01 org.webrtc.VideoCapturer org.webrtc.PeerConnection org.webrtc.RTCDataChannel RTCVideoCapturer RTCPeerConnection RTCDataChannel
  • 15. WebRTC? Peer to Peer ?? ?? 01 Peer RemotePeer -- Create Peer Connection -- Set Local Description& ICE Negotiation -- Get Local Media Stream Create Peer Connection -- Set Local Description-- Add Local Media Stream -- Set Remote Description& ICE Negotiation -- Add Remote Media Stream -- -- Set Remote Description -- Add Remote Media Stream ICE Offer ICE Answer Media
  • 16. Contents 1 WebRTC? 2 WebRTC? ??? ??? 3 WebRTC? HelloWorld 4 WebRTC ¨C Real360 ??????
  • 17. WebRTC? ??? ???02 ??? ?? ????? ?? WebRTC?¡­
  • 18. Contents 1 WebRTC? 2 WebRTC? ??? ??? 3 WebRTC? HelloWorld 4 WebRTC ¨C Real360 ??????
  • 19. WebRTC? HelloWorld WebRTC PoC ?? 03 WebRTC ?? AppRTC ?? ???? ??? 360 ???? ???
  • 20. WebRTC? HelloWorld03 WebRTC ?? AppRTC ?? ???? ??? 360 ???? ??? Ubuntu + ?? 20G + ??? > webRTC? ?????? ???? ? (??: https://webrtc.org/native-code/android/) Ubuntu ?? (mac ??? virtualbox, sudo mode ??..) apt-get install git mkdir webrtc cd webrtc git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH=pwd`/depot_tools:"$PATH" export GYP_DEFINES="OS=android" fetch --nohooks webrtc_android gclient sync ¨Cforce : ???? ..??? y/n ?? ???? ??? ????? ?? cd src ./build/install-build-deps.sh --no-chromeos-fonts ./build/install-build-deps-android.sh (dir src ??? ?? ??) gn gen out/Default --args='target_os="android" target_cpu="arm" is_debug=false' ninja -C out/Default AppRTCMobile ????? ??? ??? ?? ?? ??? ?? (mac ??? shared) [src]/out/Default/libjingle_peerconnection_so.so
  • 21. WebRTC? HelloWorld03 WebRTC ?? AppRTC ?? ???? ??? 360 ???? ???
  • 22. WebRTC? HelloWorld03 WebRTC ?? AppRTC ?? ???? ??? 360 ???? ??? AppRTC ? appr.tc ?
  • 23. WebRTC? HelloWorld03 WebRTC ?? AppRTC ?? ???? ??? 360 ???? ??? AppRTC ? appr.tc ? (Mac) /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --use-fake-device-for-media-stream --use-file-for-fake-video-capture= "/Users/choise/Downloads/my_gitlab/media_sample/v154312.y4m"
  • 24. WebRTC? HelloWorld03 WebRTC ?? AppRTC ?? ???? ??? 360 ???? ??? I¡¯m Ready !!
  • 25. Contents 1 WebRTC? 2 WebRTC? ??? ??? 3 WebRTC? HelloWorld 4 WebRTC ¨C Real360 ??????
  • 26. WebRTC ¨C Real360 ?????? WebRTC? 360? 4K ???? ??? ????? 04 ??? ? ? ?? ??..
  • 27. WebRTC ¨C Real360 ??????04 360 ?? ??? ?? ?? WebRTC ?? ??? ?? 2Mbps
  • 28. WebRTC ¨C Real360 ?????? ??360 ??? ?? 04 SNS Live Streaming Neckband Caller Business Relay Media Callee 4K ??? ??? 360? ?? Signaling
  • 29. WebRTC ¨C Real360 ?????? ??? ??? ???? 04
  • 30. WebRTC ¨C Real360 ?????? WebRTC ?? ?? ??? ?? 04
  • 31. WebRTC ¨C Real360 ?????? ??? ??? ???? 04 SDP o=- 5763911104499152831 2 IN IP4 127.0.0.1 ¡­ m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 110 112 113 126 c=IN IP4 0.0.0.0 ¡­ a=rtpmap:111 opus/48000/2 ¡­ m=video 9 UDP/TLS/RTP/SAVPF 96 98 97 99 125 107 114 115 116 ¡­ a=setup:active a=mid:1 ¡­ a=rtpmap:96 VP8/90000 ¡­ a=rtpmap:98 VP9/90000 ¡­ a=rtpmap:125 H264/90000 ¡­ a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f ¡­ x-google-start-bitrate, ¡­
  • 32. WebRTC ¨C Real360 ?????? x-google-start-bitrate, ¡­ ?? ?? ?? (Sample App ???) 04 3.5 -> 5.0Mbps ????? 1? ?? Google options only, 10Mbps
  • 33. WebRTC ¨C Real360 ?????? WebRTC ?? ?? ??? ?? 04
  • 34. WebRTC ¨C Real360 ?????? ??? ??? ???? 04 SDP o=- 5763911104499152831 2 IN IP4 127.0.0.1 ¡­ m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 110 112 113 126 c=IN IP4 0.0.0.0 ¡­ a=rtpmap:111 opus/48000/2 ¡­ m=video 9 UDP/TLS/RTP/SAVPF 96 98 97 99 125 107 114 115 116 ¡­ a=setup:active a=mid:1 ¡­ a=rtpmap:96 VP8/90000 ¡­ a=rtpmap:98 VP9/90000 ¡­ a=rtpmap:125 H264/90000 ¡­ a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f ¡­ b=AS
  • 35. WebRTC ¨C Real360 ?????? b=AS ?? ?? ?? (Sample App ???) 04 b=AS ?? ??? Google options 10Mbps, b=AS 5Mbps
  • 36. WebRTC ¨C Real360 ?????? b=AS ?? ?? ?? (Sample App ???) 04 Google options 5Mbps, b=AS 5Mbps 3.6 -> 9.6Mbps ????? 1? ?? ??? ??? ??
  • 37. WebRTC ¨C Real360 ?????? ??? ??? ???? 04 encoding maxBitrateBps minBitrateBps maxFramerate
  • 38. WebRTC ¨C Real360 ?????? ?? ?? ?? ?? (Sample App ???) 04 Google options 5Mbps, b=AS 5Mbps, Encoding options 5Mbps 4.1 -> 9.7Mbps ????? 1? ?? ?? ???? ??? ??
  • 39. WebRTC ¨C Real360 ?????? WebRTC ?? ¨C BWE(BandWidth Estimation) 04
  • 40. WebRTC ¨C Real360 ?????? WebRTC ?? ¨C BWE(BandWidth Estimation) 04 ¡­/org.appspot.apprtc E/choise-RTCClient: videoSendStat = ssrc_1112228001_send ¡­ FirsReceived=0 FrameHeightInput=1920 FrameHeightSent=810 FrameRateInput=30 FrameRateSent=30 FrameWidthInput=1080 FrameWidthSent=1440 ¡­ ¡­ /org.appspot.apprtc E/choise-RTCClient: bweforvideo = bweforvideo ActualEncBitrate=1239952 ReceiveBandwidth=0 SendBandwidth=1280210 BucketDelay=25 RetransmitBitrate=241776 TargetEncBitrate=1229944 TransmitBitrate=2539424 H : 810 W : 1440
  • 41. WebRTC ¨C Real360 ?????? WebRTC ?? ¨C BWE(BandWidth Estimation) 04 ¡­/org.appspot.apprtc E/choise-RTCClient: videoSendStat = ssrc_1112228001_send ¡­ FirsReceived=0 FrameHeightInput=1920 FrameHeightSent=1080 FrameRateInput=31 FrameRateSent=17 FrameWidthInput=1080 FrameWidthSent=1920 ¡­ ¡­/org.appspot.apprtc E/choise-RTCClient: bweforvideo = bweforvideo ActualEncBitrate=2251376 ReceiveBandwidth=0 SendBandwidth=2167490 BucketDelay=37 RetransmitBitrate=0 TargetEncBitrate=2167490 TransmitBitrate=2323016 H : 810 -> 1080 W : 1440 -> 1920
  • 42. WebRTC ¨C Real360 ?????? ??? ??? ???? 04 ???? ??? ??
  • 43. WebRTC ¨C Real360 ?????? ??¡­ 04 ??? ??? BWE ?? ???? ??
  • 44. WebRTC ¨C Real360 ???? ? ?? ????¡­ 04 Codecs Platform Web Peer ¡­ Services
  • 45. QnA