question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Monitoring Attendee's Upload Speed

See original GitHub issue

Hi guys,

We’re currently working on a proctoring Electron app that will allow students of different academic institutions to take different exams while being recorded inside a Chime meeting. These meetings will consist of a single attendee (the student) who will get recorded (webcam + screenshare) using a media capture pipeline and then the institutions’ instructors will review such recordings.

To ensure that the instructors are able to properly review the exam sessions recordings, we need to make sure that the student has enough upload bandwidth to produce a good quality video recording. To implement this, we want to monitor the student’s uplink speed and be able to identify whenever it falls below a threshold value. This would be the cue for the app to let the students know that they are experimenting with network issues.

I’ve been going through your Quality, Bandwidth, and Connectivity SDK documentation and noticed that it’s possible for us to subscribe to the metricsDidReceive event and obtain stats metrics by calling the getObservableMetrics function included in the ClientMetricsReport object. From here, we’re reading the videoUpstreamBitrate property to ensure that the upload speed is good enough to produce a decent recording.

After running some test meetings where I throttled the app’s available upload bandwidth, I noticed that the videoUpstreamBitrate started to fall down to some pretty low values even below 1 Mbps. This resulted in recordings that looked pretty pixelated. After removing the app’s upload limit, the videoUpstreamBitRate went up resulting in smoother recordings.

With this in mind, I would like to ask you if you think this would be a solid approach to go with in order to let the students know whenever they are experiencing network issues that won’t allow the media capture pipeline to produce a decent quality recording.

I also noticed there are other events as well in that documentation (connectionDidSuggestStopVideo, connectionDidBecomePoor, etc…), but I don’t think those would work well in our scenario where there’s only one single attendee in the meeting that needs to always send both audio and video data to the Chime server.

Do you think that the videoUpstreamBitrate would be enough to determine whenever the student’s network status has become insufficient to produce a good quality meeting recording? Or are there any other events or tools in the SDK, that I haven’t gone through, that would help us get a better reading of the student’s upload speed and how it will affect the quality of the resulting recording?

Chime SDK Version 2.30.0

Thanks in advance!

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
ltrungcommented, May 26, 2022

Close the issue for now. Feel free to reopen if you have additional questions.

0reactions
hensmi-amazoncommented, May 25, 2022

Yes that is still the case, you can use https://aws.github.io/amazon-chime-sdk-js/interfaces/audiovideocontroller.html#setvideomaxbandwidthkbps to set the bitrate desired.

Read more comments on GitHub >

github_iconTop Results From Across the Web

What Internet Speed Do I Need for Zoom? - Reviews.org
To keep your Zoom calls as close to crystal clear as possible, you'll need somewhere between 150 Kbps and 1.1 Mbps dedicated to...
Read more >
What Is the Minimum Speed Required for Video Conferencing?
The minimum bandwidth required for video conferencing that's effective is 8Mbps for downloading and 1.5 Mbps for uploading. If downloading and uploading items ......
Read more >
How to Monitor Zoom Performance & Internet Connection
To continuously monitor your network and Zoom performance, we recommend using a tool like Obkio Network Monitoring software ...
Read more >
Setting up a Raspberry Pi Internet Speed Monitor - YouTube
In this video, we will be showing you how to set up an internet speed monitor on the Raspberry Pi.You can also follow...
Read more >
Monitor call and meeting quality in Teams - Microsoft Support
In this view you will get data on your network, audio, screen sharing, and outgoing video quality. These real-time metrics are updated every...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found