How to get 720p on Android

Hi,
We’re looking at the video-sdk for android. We want to conduct 1:1 video calls with at least 720p resolution. We have tried the sample sdk and get, at best, 480p. Searching the forum and the code shows a lot of “when will android support 720p resolution” questions with no clear answer. In the documentation, looking at handling raw data, there is this line: “The Android SDK supports receiving videos in the resolutions enumerated in the reference entry for ZoomSDKVideoResolution on the Android SDK reference page, with the exception of 720p resolution.”

Can I use this sdk to get HD on Android?
Jerry

Hi @jerry_onscreen , I see you’re getting that from this doc which points to this reference here, but our other Android Video SDK reference has 720p resolution listed as an option so admittedly I’m a bit confused myself.

Have you tried the latter? I need to connect with the SDK team to confirm the most accurate information.

Thanks for bringing this to our attention!

Have tried this:
int ret= user.getVideoPipe().subscribe(ZoomVideoSDKVideoResolution.VideoResolution_1080P, rawDataRenderer);
which is in the sample code.
So far, 480 p is best i can get. Is there a formula that includes aspect ratio? It seems the sample app sticks to 4:3,

Hi @jerry_onscreen but you haven’t tried ZoomVideoSDKVideoResolution.VideoResolution_720P?

Which sample code are you referring to please?

Apologies for dropping the ball on this, but as soon as you share the sample code reference, I can follow up with our SDK engineers.

Hi,
I’m talking about the mobilertc sample app that comes with the video-sdk …
package us.zoom.sdksample;
I download it from the marketplace, step 2 .
The setting is made (I believe) in MeetingActivity.java:
I have just tried switching to ZoomVideoSDKVideoResolution.VideoResolution_720P, and still got 480 p

    protected void subscribeVideoByUser(ZoomVideoSDKUser user) {
        if (renderType == RENDER_TYPE_ZOOMRENDERER) {
            ZoomVideoSDKVideoAspect aspect = ZoomVideoSDKVideoAspect.ZoomVideoSDKVideoAspect_LetterBox;
            if (ZoomVideoSDK.getInstance().isInSession()) {
                aspect = ZoomVideoSDKVideoAspect.ZoomVideoSDKVideoAspect_Original;
            }
            if (null != currentShareUser) {
                currentShareUser.getShareCanvas().unSubscribe(zoomCanvas);
            }
            user.getVideoCanvas().unSubscribe(zoomCanvas);
            int ret=user.getVideoCanvas().subscribe(zoomCanvas, aspect);
            if(ret!= ZoomVideoSDKErrors.Errors_Success)

            {
                Toast.makeText(this,"subscribe error:"+ret,Toast.LENGTH_LONG).show();
            }
        } else {
            if (ZoomVideoSDK.getInstance().isInSession()) {
                rawDataRenderer.setVideoAspectModel(RawDataRenderer.VideoAspect_Original);
            } else {
                rawDataRenderer.setVideoAspectModel(RawDataRenderer.VideoAspect_Full_Filled);
            }
            if (null != currentShareUser) {
                currentShareUser.getSharePipe().unSubscribe(rawDataRenderer);
            }
            user.getVideoPipe().unSubscribe(rawDataRenderer);
            Log.i(TAG,"about to subscribe with video resolution 1080p");
           int ret= user.getVideoPipe().subscribe(ZoomVideoSDKVideoResolution.VideoResolution_1080P, rawDataRenderer);
           if(ret!= ZoomVideoSDKErrors.Errors_Success)
           {
               Toast.makeText(this,"subscribe error:"+ret,Toast.LENGTH_LONG).show();
           }
        }
        mActiveUser = user;
        onUserActive(mActiveUser);

        if (null != user.getVideoStatus()) {
            updateVideoAvatar(user.getVideoStatus().isOn());
        }

        if (null != currentShareUser) {
            btnViewShare.setVisibility(View.VISIBLE);
        } else {
            btnViewShare.setVisibility(View.GONE);
        }
    }

I can point you to the place where I download it, but it is included with the SDK … hope that helps.
Jerry

You use low frame rate in the android to get better results like 720p.

Hi Mican,
Is this the official Zoom position? I am at 15fps, so going lower will not give smooth video. How low do you say to go to get 720p?
Jerry

Hi @gianni.zoom ,
Is there any update on this? I tried Mican’s idea to lower framerate…still 480 p at best

At @jerry_onscreen , I’m following up on this. Could you please clarify the version you’ve been using?

zoom-video-sdk-android-1.4.0
Jerry

Hi @jerry_onscreen , from speaking with my internal SDK teammates 720p is possible and you could specify the resolution, but whether it can reach that resolution is dependent on factors like network, devices, etc. If you feel these factors should fully support 720p resolution, can you please provide the SDK log for further investigation?

Thanks!

Please remind me where i find those?

Hi @jerry_onscreen ,

Hi, I have tried to update to the latest 1.5.1 Video Sdk to recreate the logs. However, I keep getting an error 1507 when trying to create a meeting. I don’t see this on the error page: Error Codes however I did see a question in the forum about it. It said the problem is from not matching tpc in JWT with the sessionName typed in to sample app. I used “tpc”: “onscreen”, and typed in onscreen . Any thoughts? The sdk is only out a few days, maybe the sample app needs modification? I don’t know what to do about the 1507.

So I gave up on 1.5.1 and used same key in 1.4.0 and ran tests. I made 2 connections, first with Zoom renderer and second with EGL renderer. Both had 640x480 resolution in both directions. The zip has logs in 2 directories…one is one end, other is other end.

I must be missing something, but it looks like i can only upload images here? I have zip at
https://storage.googleapis.com/onscreen-dev/transfers/zoom_logs.zip

Jerry

Hi @jerry_onscreen , thanks for sending the logs. We’ll be looking into it further!

Still investigating! Just wanted to provide an update :slight_smile:

I was just coming here to check!

Hey @jerry_onscreen , this got stuck in review but conceivably you are receiving 640x480 resolution due to one of the other factors such as network bandwidth, device hardware, etc. Are you able to confirm if you can achieve 720p through iOS or other mobile option such as React Native? We have also updated our video quality guidance for Video SDK here: Video quality preference