How to get full screen preview in iOS application by using zoom video SDK

Description
I am using zoom video sdk , I am facing issue regarding the full screen preview.Can you please tell what should i do to get the full screen preview ?

I am setting aspect ratio like below
usersVideoCanvas.subscribe(with: onView, andAspectMode: .panAndScan)

Which iOS Video SDK version?
ZoomVideoSDK v1.1.1 (8661.0812)

https://ibb.co/9cJDQ5W

Smartphone (please complete the following information):

  • Device:iPhone 7
  • OS: 13.5.1

Hi @qazi,

When you are talking about the appearance of your UI with the Video SDK, it is entirely defined within your application. This means that you have complete control over the behavior and appearance of all of the UI end-to-end. For that reason, the Video SDK is not able to control how the UIView passed into your canvas appears. It can only render video on the provided view when calling the subscribe method.

Thanks!

Here my concern is about render view dimensions.

onUserVideoStatusChanged (iOS) i get video dimensions as width 640 , height 360 , fps 0 & bps 0.

Although in android it is height 64970 width 51312.

If I get the higher resolution in iOS it will appear in fullscreen as well.

Can you please tell me how I should get the higher resolution in iOS??

Why on android it is getting this much higher video dimensions?

Hi @qazi,

The resolution you are claiming to receive on Android is far beyond the capabilities of any consumer-grade Android device, and the bounds of the resolution our SDK (or any video product) could reasonably deliver. Can you please provide a code snippet showing how you are checking the width/height of the video? Also, is there any difference on Android if you update to v1.1.2?

Thanks!

Kindly arrange a technical team session to get it done instead of back and forth tickets. We want to wrap it up as soon as possible to go live with ZOOM video sdk.

Any update regarding above ? It will be quick if we can have a session with your technical team.

Hi @qazi,

Can you please provide the information I requested in my previous reply so that we can assess further?

Thanks!

Although android is working as expected and they are getting fullscreen preview of the remote video(https://ibb.co/hK4bkdv).

Our concern is iOS which is getting low resolution and not covered full screen

Code Reference iOS

func onUserVideoStatusChanged(_ helper: ZoomVideoSDKVideoHelper!, user userArray: [ZoomVideoSDKUser]!) {

print(“onUserVideoStatusChanged”)

// UserArray contains the users that had a video status change.

// Use helper to perform actions on a user.

if let userArray = userArray {

for user in userArray {

// Use .videoStatus.on to check if a user’s video is on or off.

print("user ", user.getName()!)

print(“onUserVideoStatusChanged:”)

print(user.getVideoStatisticInfo()?.width)

print(user.getVideoStatisticInfo()?.height)

print(user.getVideoStatisticInfo()?.fps)

print(user.getVideoStatisticInfo()?.bps)

}

}

}

Values From Above logs
Width = 640
Height = 360
Fps = 0
Bps = 0

Here are the screenshot
For Android : https://ibb.co/hK4bkdv
For iOS : https://ibb.co/58ydb7j

Hi @qazi,

The code you have provided is the iOS implementation, which seems to be returning rational values. Can you please provide the code from your Android implementation? The values you are comparing (64970 & 51312) to are not a valid resolution that the SDK is capable of delivering. To ensure that the Android SDK is actually delivering a different resolution than iOS, we still need to get information about how you are getting these values on Android. Once we have enough context around your Android implementation, we can revisit the iOS side to compare it.

Thanks!

Here are the logs from android using v1.1.2

#logUser: User :::
user ID: 33555456,
userName: 1429,
muted: true,
audioType: ZoomVideoSDKAudioType_None,
host: false
video: false,
video FPS: 1878856248,
video HxW: 64970 x 51520,
video bpf: -701906611

Code Reference

fun logUser(user: ZoomVideoSDKUser) {
Timber.e(
“User ::: \n” +
“user ID: ${user.userID}, \n” +
“userName: ${user.userName}, \n” +
“muted: ${user.audioStatus.isMuted},\n” +
“audioType: ${user.audioStatus.audioType},\n” +
“host: ${user.isHost}\n” +
“video: ${user.videoStatus.isOn},\n” +
“video FPS: ${user.videoStatisticInfo.fps}, \n” +
“video HxW: ${user.videoStatisticInfo.height} x ${user.videoStatisticInfo.width}, \n” +
“video bpf: ${user.videoStatisticInfo.bpf}”
)
}

Please wrap it up quicker.We need to go live soon with android - iOS and web app and all are using Zoom Video SDK.
We can have a technical session to debug with your team.

Hi @qazi,

Thanks for the additional information. There is very clearly something wrong in the QoS metrics you are seeing in the Android SDK. Based on my testing, the SDK returns valid values so it isn’t yet clear why you are seeing this. Can you please provide the Android SDK logs so that we can investigate this further? You can obtain them from your device under sdcard/Android/data/${PACKAGE_NAME}/logs, where a last_log_file_id.txt file will tell you the postfix of the most recent log file. The log file we are looking for will be encrypted. Once you have this ready, please send it over via a ticket on our developer support site and reference this thread so it gets correctly routed.

Thanks!

Logs

Here are the required files.
Can we have a technical session with your team to close the above issue.

Hi @qazi,

Thank you for providing the logs. We will look into this and let you know as soon as we have an update. At this time, scheduling a meeting would not be an effective use of anyone’s time, as we still need to investigate this issue further. If anything changes on that front, I will be sure to let you know. :slightly_smiling_face:

Thanks!

Hi @qazi,

After investigating the logs provided, there unfortunately is not enough information present to determine why you are seeing invalid QoS data on Android. We are going to improve our logging in this area in the next release so that we can better debug this issue.

Thanks!

Thanks for your updates regarding android. Kindly let us know once you release a version for improving logging.

But please try to understand our first priority issue which is related to iOS SDK.

How to get full screen preview in iOS application by using zoom video SDK

We have tried all aspect ratios (Original,Full_Filled, LetterBox & PanAndScan) of video provided by zoom but were unable to get the desired result.

Our developer on the web end using Zoom JS SDK is sending the video height width but Height and Width is not reflecting at iOS or Android side.
Here is the link he is using to sending video constraint
https://marketplacefront.zoom.us/sdk/custom/web/interfaces/capturevideooption.html

Looking forward to hear from you

Hi @qazi,

I will need to follow up on which release this will be included in and get back to you.

Regarding the video resolution, I would not expect the aspect ratio to have any effect on the underlying resolution of the video the SDK is able to receive. These only change whether or not the video view will have black bars and/or cropping in order to fit the allocated space as described here.

Our developer on the web end using Zoom JS SDK is sending the video height width but Height and Width is not reflecting at iOS or Android side.

Thanks for clarifying that the video dimensions are being manually set on the web side when you’ve tested this. Can you please confirm what values are being used here?

Thanks!

Hi @qazi,

Just a quick follow-up on the timeline for the improved logging. We have a release coming this month, but will not be able to include this change. This will be included in the following release.

Thanks!

If aspect ratio will not solve then I am curious what can I do to get full screen vision ?

Hi @qazi,

The primary difference in the screenshots you’ve provided appears to be the resolution sent from the device, rather than how you are trying to display the video. If this is not the case, we will need to wait until we are able to obtain accurate QoS data on both Android and iOS for comparison.

Thanks!