Virtual Classbox 3 - Keio Universityg-edu.kmd.keio.ac.jp/~tetsuya/RP_Rizal.pdfImplementation WebRTC...
Transcript of Virtual Classbox 3 - Keio Universityg-edu.kmd.keio.ac.jp/~tetsuya/RP_Rizal.pdfImplementation WebRTC...
+
Implementation WebRTC as Multimedia Real-Time
Communication in Virtual Classbox for
Limited Capacity Network
By Rizal Muhammad Nur
DSP Research and Technology Group
Electrical Engineering Dept. | ITB
+Outline
Background
Issues
Specification & Requirement
Comparison
WebRTC
Implementation
Testbed Testing
Conclusion
+Background
There are various education method depend on area
In city (downtown), most of them have relative better learning
method than in country side
Education
+Background
Needs for sharing knowledge between school
Teacher exchange (Call teacher from another school)
Send CD/tools of education
Delivery digital learning by teleconference
Sharing knowledge
+Background
Indonesia is archipelago country contain >10.000 island
This become one of obstacle for schools to share knowledge
among them
Geographic of Indonesia
+Background
Avg. of Indonesia network connection is1.5Mbps (Akamai,
2013)
Of course many schools have connection lower than 1.5Mbps
Distance learning by teleconference should run well at least in
this bandwidth
Latency and jitter of network that cant be guarantee
Currently no network connection dedicated connecting schools
Mostly using third party network provider (leased line,
GSM/CDMA, etc.)
Network Connection
+Background
Virtual Classbox (VCB) is one of our research that focus on
delivering digital learning service especially in rural area
Main feature is provide multimedia conference so that
students in remote class can interact with teacher that is
teaching in local class
Previous research has successfully developed VCB prototype,
but main issues is high latency and unreliability streaming
process due to low bandwidth
Virtual Classbox (VCB)
+Issues
Fact: We cant guarantee sites/school have stable connection with high bandwidth
Factor reliability of stream A/V :
Bandwidth
Impact to audio and video quality on encoding process such as bitrate and resolution
Latency
More hops relatively increase latency. High latency make conversation not comfortable
Peer-to-peer connection is a way to reduce hops
Jitter
Data stream depart synchrounous order but arrival asynchronous order. Arrival data need to be synchronized before be displayed
High jitter can broke stream connection
Obstacle when building this system
+Specification & Requirement
Streaming Audio&Video
Video Resolution: 480x640 pixel
Latency: <150ms
Adaptive bandwidth management
Can be operate in local network
Run in network with <1Mbps bandwidth
Presentation Document
Doc Type: JPG, JPEG, PNG (Images format)
User Interaction
Web GUI
Text Chat
+Comparison
Backend
Backend
Linux|Ubuntu
Java (GUI)
Skype, VLC, Teamviewer
Previous Current
• Backend
• Linux|Ubuntu
• HTML5, CSS, JavaScript
• WebRTC, STUN, TURN
+Comparison
End-Point Configuration
Camera+MicCamera+Mic
TeacherTeacher
ProjectorProjector Monitor
Wire
less
PCPC
Keyboard+Mouse
OperatorOperator Student
PO
V
PO
VINTERNET
UTP Cable
+Comparison
Previous | Topology
Internet
End-Point End-Point
Skype/TeamViewer Server
Router | NAT Router | NAT
Local-Network
End-Point End-Point
RouterRouter
A/V Flow
Topology 1
(Using Skypee/Teamviewer)Topology 2
(Using VLC)
Issues
• High latency
(>1000ms)
• Using VCL can’t run in
unstable network
• Skype and
Teamviewer can’t run
in local network (must
connect to internet)
+Comparison
Current | Topology
Internet
End-Point End-Point
Router | NATRouter | NAT
End-Point is configured as STUN Server
Internet
End-Point End-Point
Router | NAT Router | NAT
End-Point is configured as STUN+TURN Server
Internet
End-Point as STUN Server End-Point
RouterRouter
End-Point also can be configured become STUN and/or TURN Server
Session Flow
A/V Flow
Session+A/V Flow
Topology 1 Topology 2 Topology 3
+WebRTC
WebRTC is opensource project initiate by Google Inc. to providereal-time communication, and now standardization held by IETF and W3C
This provide to enable real-time communication betweenbrowser without adds third-party
Features
Network detection: throughput, jitter, latency, packet loss
Bandwidth management: adaptive streaming (resolution, bitrate)
Cross platform
Support various A/V codec
Audio: iSAC, Opus, iLBC with various bitrate
Video: VP8 with various resolution
About
+WebRTC
Communication
Web Browser
STUN
Application based WebRTC
Web Socket
Web Browser
Web SocketApplication based
WebRTC
Web Browser
STUN
Application based WebRTC
Web Socket
Web Browser
Web SocketApplication based
WebRTC
TURN
A/V Stream Flow
Session Flow
• STUN is used to
transfer session
before p2p connection
build
• TURN is used as
alternative way
be passed by A/V
stream
Scheme 1
Scheme 2
+WebRTC
Interfacing | Implementation
Chrome
WebAPI|WebRTC
Camera | Mic
NodeJS
Linux OS
Keyboard | Mouse
LCD | Projector
Local Media Stream
Signaling
Hard Drive
Signaling to another end-point
peer-to-peer connectionAudio/Video
+WebRTC
Interaction | Implementation
Implementation | Layout
+Testbed Testing
Testing conducted in 2 elementary school (nodes) at Cianjur,
West Java, Indonesia
Bandwidth test by using iperf between each node to external
STUN server:
Node 1: ~580kbps Node 2: ~370kbps
Throughput of Audio (avg 68kbps) Throughput of Video (avg. 310kbps)
Latency (avg. 165ms) Jitter (avg. 25ms)
Video Resolution
+Conclusion
Implementation WebRTC in VCB can work at low bandwidth
(~380kbps)
Latency can be hold around 150ms
This system can adapt to network condition by change video
resolution
+Plan for future works
Further research about STUN and TURN
Possibility to multicast data-stream using WebRTC
Add more interactive features