Virtual Classbox 3 - Keio Universityg-edu.kmd.keio.ac.jp/~tetsuya/RP_Rizal.pdfImplementation WebRTC

download Virtual Classbox 3 - Keio Universityg-edu.kmd.keio.ac.jp/~tetsuya/RP_Rizal.pdfImplementation WebRTC

of 31

  • date post

    16-Jun-2019
  • Category

    Documents

  • view

    212
  • download

    0

Embed Size (px)

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:

+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 cant run in

unstable network

Skype and

Teamviewer cant 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