+ All Categories
Home > Documents > of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing...

of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing...

Date post: 19-Jun-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
23
1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology Bart Jansen Fernando Kuipers Columbia University Timothy Goodwin Varun Gupta Gil Zussman
Transcript
Page 1: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

1

Performance Evaluationof WebRTC-basedVideo Conferencing

IFIP WG 7.3 Performance 2017Bart Jansen

Delft University of Technology– Bart Jansen– Fernando Kuipers

Columbia University– Timothy Goodwin– Varun Gupta– Gil Zussman

Page 2: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

2

WebRTC

• Web Real Time Communications• Audio, Video and Data communication• Standard by W3C and IETF since 2012

• Benefits– Plugin less– Peer to peer– Cross browser/platform– Easy to use (API)

Page 3: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

3

Research motivations

• WebRTC is a new emerging technology– Easy to use– Adobe Flash dying out

• Fast changing protocol under active development

• Study WebRTC’s performance for both simulated and real world conditions

Page 4: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

4

WebRTC – Topologies

Peer to Peer

Thewaynetworknodesarearrangedinanetwork

SFU

Meshed SFU

Server to Client

Page 5: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

5

WebRTC – Interoperability• Adoption

• Media codecs

• Browser compatibility– Support for older browsers with plugin

SupportedAnnounced SupportUnsupported

Page 6: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

6

Congestion Control

• Google Congestion Control Algorithm– Dynamically adjusts send and receive rate

• Receiver: delay based• Sender: loss based

Arrival-time filter

Over-usedetector

Ratecontroller

Adaptive threshold

signal

Ar

mi

mi

As

Receiver-sideSender-side

Sender sidecontroller

RTP

REMBRTCP

Congestionoccurswhenanodecarriesmoredatathanitcanhandle

Page 7: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

7

Congestion Control

• Receiver side (delay based):

• Sender side (packet loss based):

• Send rate never exceeds receive rate:

Page 8: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

8

Experimental test setup

• Custom video stream• Network limiter• Statistics via RTCStatsReport

Networklimiter

WebRTC

bw delay pl

Video stream1920 x 1080

Gatherstatistics

everysecond

RTCStatsReport

WebRTC

Video stream1920 x 1080

Gatherstatistics

everysecond

RTCStatsReport

Node 1 Node 2

Synthetic network conditions

Page 9: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

9

Experimental test setup

• Avoid CPU and memory limitations• 5 tests averaged

• Statistics:– Data rate (kbps)– Framerate (fps)– Resolution (width * height) (pixels)– Round-trip-time (ms)

• Source code available at: https://github.com/Wimnet/webrtc_performance

Page 10: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

10

Performance Evaluation

• Baseline experiments• Cross traffic• Multi-party topologies• Video codecs• Mobile browsers• Real wireless networks

Page 11: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

11

Performance Evaluation

• As expected– 5% converges to maximum data rate– > 10% converge to minimum data rate

Network characteristics – Packet loss

00:00 00:30 01:00 01:30 02:00 02:30 03:00 03:30 04:00 04:30 05:00

Time (mm:ss)

0

500

1000

1500

2000

2500

3000

Da

ta r

ate

(kb

ps) no loss

5% packet loss

10% packet loss

20% packet loss

Page 12: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

12

Performance Evaluation

• 77% utilization• Follows GCC rates after minute 1:

1000 ∗ 1.05&' = 2300𝑘𝑏𝑝𝑠• Also after minute 3:

500 ∗ 1.05&0 = 1200𝑘𝑏𝑝𝑠

Network adaptability – Bandwidth

00:00 01:00 02:00 03:00 04:00 05:00Time (mm:ss)

0

500

1000

1500

2000

2500

3000

Da

ta r

ate

(kb

ps)

set data rate

data rate #1

data rate #2

00:00 01:00 02:00 03:00 04:00 05:00

Time (mm:ss)

0

200

400

RT

T (

ms)

RTT #1

RTT #2

Page 13: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

13

Performance Evaluation

• Three separate calls with 2Mbps limit• Fairness is reached with delay

Cross traffic – Intra-protocol fairness

00:00 00:30 01:00 01:30 02:00 02:30 03:00 03:30 04:00 04:30 05:00

Time (mm:ss)

0

200

400

600

800

1000

1200

1400

1600

1800

2000

Da

ta r

ate

(kb

ps)

call #1

call #2

call #3

total

Page 14: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

14

Performance Evaluation

• 2Mbps limit• Competing TCP flows• Fairness can be improved

Cross traffic – Inter-protocol fairness

00:00 02:00 04:00 06:00 08:00 10:00 12:00

Time (mm:ss)

0

500

1000

1500

2000

Da

ta r

ate

(kb

ps)

WebRTC flowTCP flow

Page 15: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

15

Performance Evaluation

• 2,3 and 4 person calls• Results averaged on uplink and downlink• CPU limitations

Multi-party - Meshed

00:00 00:30 01:00 01:30 02:00 02:30 03:00 03:30 04:00 04:30 05:00

Time (mm:ss)

0

2000

4000

6000

8000

10000

12000

Da

ta r

ate

(kb

ps)

2 persons

3 persons

4 persons

Page 16: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

16

Performance Evaluation

• Less uplink bandwidth required• Start up delay

Multi-party - SFU

00:00 00:30 01:00 01:30 02:00 02:30 03:00 03:30 04:00 04:30 05:00

Time (mm:ss)

0

1000

2000

3000

Da

ta r

ate

(kb

ps)

Average data rates - 2p SFU

uplink rate

downlink rate

00:00 00:30 01:00 01:30 02:00 02:30 03:00 03:30 04:00 04:30 05:00

Time (mm:ss)

0

2000

4000

6000

Da

ta r

ate

(kb

ps)

Average data rates - 3p SFU

uplink rate

downlink rate

00:00 00:30 01:00 01:30 02:00 02:30 03:00 03:30 04:00 04:30 05:00

Time (mm:ss)

0

2000

4000

6000

8000

10000

Da

ta r

ate

(kb

ps)

Average data rates - 4p SFU

uplink rate

downlink rate

SFU

Page 17: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

17

Performance Evaluation

• VP8 (default), VP9 and H.264• Room for improvement:

– H.264 needs to balance between framerate and resolution

– VP9 needs to scale up when congestion disappears

Video codec comparison

00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00

Time (mm:ss)

0

500

1000

1500

2000

2500

3000

Da

ta r

ate

(kb

ps)

H.264

VP8

VP9

limit

00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00

Time (mm:ss)

0

100

200

300

400

500

RT

T (

ms)

H.264

VP8

VP9

limit

00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00

Time (mm:ss)

0

2

4

6

8

10

Re

solu

tion

(p

ixe

ls)

× 105

H.264

VP8

VP9

00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00

Time (mm:ss)

0

10

20

30

40

50

60

Fra

me

rate

(F

PS

)

H.264

VP8

VP9

Page 18: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

18

Experimental test setup

• 3 nodes:– Local wireless node (NYC)– Local wired node (NYC)– Remote wired nodes (Oregon or Sydney)

• Varying:– AP transmission power (to 1mW)– Distance from AP (5ft – 25ft)– MAC retry limit

Wireless performance

Page 19: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

19

Performance Evaluation

• 5ft vs 25ft AP distance

• Results– Higher RTTs results in more packet loss

and lower quality

Wireless network conditions

Page 20: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

20

Performance Evaluation

• Limit retransmissions in AP– From MAC retry limit 1 (min) and 15 (max)

• Results– Trade off between RTT and packet loss– Less video freezes– GCC relies too heavy on packet loss

Wireless network conditions

Page 21: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

21

Summary

• Improved browser interoperability

• Thorough evaluation of WebRTC– Custom video stream– Similar results

• Improved cross traffic fairness

• Poor performance over wireless due to:– Bursty losses– Packet retransmissions

Page 22: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

22

Conclusions

• Heavily reliant on packet loss

• Multi-party– When more than 3 people: Add SFUs

• Room for improvement– Mobile performance– Video codecs

Page 23: of WebRTC-based Video Conferencing...1 Performance Evaluation of WebRTC-based Video Conferencing IFIP WG 7.3 Performance 2017 Bart Jansen Delft University of Technology – Bart Jansen

23

Future Work

• Take CPU limitations into account– Energy consumption (battery)– Call characteristics when CPU is

exhausted

• Simulate Google Congestion Control

• Tests with cellular connections


Recommended