WebRTCDummyClient

WebRTC dummy client

Go/Golang WebRTC Cluster Analysis

Task

As part of my research at Sophia university (上智大学) I had to create a dummy WebRTC client cluster for testing purposes. The idea is to have multiple clients join the same stream, where the number is increasing every second or few seconds. At the same time the stream quality has to be measured.

Full paper available

Solution

The solution I opted for was to create an application in Go, which would simulate a determined number of clients joining the same stream. Each client would be added every second and the stream is recorded (video and audio) as a .webm file, which can later be analyzed. After the desired number of peers joins the stream, the process continues at the constant number until a timer times out and the application exits. The peers also record the timestamps of each received packet from the streeam, which are then used to determine the loss in quality of the stream for each user.

Demo

The project is publicly available on GitHub here.

A demo is available under the Posts, WebRTC testing. The post is a collection of multiple WebRTC projects created to work together and act as a demo of testing WebRTC for streaming purposes. You may take a look here.

Please feel free to take a look!