Poor Video Quality Zoom Video SDK Web

I am currently developing a videocall integration within our software that should allow internal users to talk to end users and help with their needs.

As our end users have to show our internal employees damages on objects and also sometimes some important documents (written text) we have to rely on a good quality of the video stream provided by the end user.

We previously used Twilio for this purpose but now had to switch to Zoom Video SDK due to Twilio’s end of life in December. With Twilio we managed to get a decent (but not excellent) video stream quality. With Zoom we currently struggle to get the quality to the required level.

Some relevant information:

  • end users typically connect to the call by using our web application on Android or iPhones (no native app) typically with Chrome or Safari Mobile
  • end user video stream is set to use HD quality
  • internal user video stream is set to use lower quality
  • always 2 users in the call
  • SharedArrayBuffer is active and I can confirm this by checking typeof SharedArrayBuffer === ‘function’; and window.crossOriginIsolated which both return true
  • Video SDK Version: 1.11.10

Even though I set the stream to HD quality still only I only receive a resolution of 640x480px and only very very rarely a real HD stream.

What steps can I take to increase the quality? How can I ensure the main video stream gets most of the resources? If useful I can provide screenshots of the poor videocall quality (got an error while uploading here)

Additionally it would be very useful for some of our use cases to have access to the actual raw data. Is there a way to get this data in the Video SDK Web Version?

Hey @sas

Thanks for your feedback.

What steps can I take to increase the quality?

Currently, on mobile platforms, we can support sending up to 1080p video in landscape mode.

Additionally it would be very useful for some of our use cases to have access to the actual raw data.

We are working on a new video solution based on WebRTC that will support raw data.

Thanks
Vic

Thanks for your reply.

I am using the Web version on both ends (mobile and PC).
At the moment I am just able to receive 360p on both sides. Only sometimes i manage to receive 720p even under ideal circumstances.

Is there a way how I can verify the send resolution?

Kind regards

Hey @sas

Is there a way how I can verify the send resolution?

We provide the stream.subscribeVideoStatisticData method. Once encoding is subscribed, you will receive the video-statistic-data-change event, which provides resolution and FPS data.

Thanks
Vic

Thank you, I already found this method but only was able to get the “received” resolution which was 360p in most cases. Can I use this method also to see which resolution was actually send?

Hey @sas

Yes. You can use this method on the sending side (mobile platform). The encoding: true parameter indicates that it’s for sending statistic data.

Thanks
Vic

Hello @vic.yang,

Thank you for your response. I verified the send video stream and can confirm, that the logs indicate that no 720p video stream is send.
Do you have any idea why this might happen? What can I do to force sending of HD video. I have set the originalRatio: true video option. Can this be an issue?

Listening to ‘network-quality-change’ events indicate high network quality (4-5)

Hey @sas

Currently, we only support sending 720P or 1080P video in landscape mode. We are working on improving it.

Thanks
Vic