I am encountering an issue with the Zoom Video SDK where participant video displays in a 9:16 aspect ratio on desktop browsers when the participant joins from a mobile browser.
I have already set the originalRatio property to false in the stream.startVideo() configuration.
My expectation is for all participant videos to consistently maintain a 16:9 aspect ratio, irrespective of the device or browser used by the participant to join.
Despite this configuration, videos from participants joining via mobile browsers appear as portrait (9:16) when viewed on a desktop browser.
Environment:
SDK Version: (Please fill in the specific version you are using)
Platforms:
Participant Device: Mobile Browser (Android/iOS; Chrome/Safari)
This is from the host’s end, where the video of the ‘Guest’ participant is being accessed using an M1 Pro device running Google Chrome (version 131.0.6778.205, Official Build, arm64).
Currently, we don’t support originalRatio:false on the iOS platform due to performance concerns.
I will further explain the reason:
Before Safari 16.4, we used a canvas as an intermediary to obtain video frame data. This allowed us to crop the video frames through the canvas. However, this approach had poor performance and often caused lag.
Starting with Safari 16.4, we switched to using VideoFrame for video data cropping directly, which improved performance. However, if cropping is still required, we would have to revert to the canvas intermediary solution.
After evaluation, we have decided not to support originalRatio: false natively on the iOS platform. For those who need this functionality, our upcoming version will introduce an interface for adding a customized video processor, allowing developers to implement their own cropping logic.