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?
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?
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.
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?
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)