The video quality always 180p in android app

Dear Team,

We have a Jitsi server set up on a Ubuntu 22.04 physical server on a private network. The software was installed via apt followed steps for Self-Hosting Guide - Debian/Ubuntu server | Jitsi Meet .
All of my clients are in the same LAN, everything worked very well in the browser , but there are 2 problems in the android app used androidSDK:

  1. The video resolution can be automatic switched in the desktop browser (e.g. 180, 360, 720).
    But it always received 180p in android app, whether the view mode in tileView or largeVideo.
    In the browser console , i am seeing some logs like “<Xd.setSenderVideoConstraints>: setting max_height=2160 …” when i choosing the “Toggle Tile View” button in another browser, but nothing happened in the browser console when i pinned the same remote participant in android app.
    Am I missing something?

  2. I’ve changed these parameter: “disableTileEnlargement: true” in config.js ,but it’s only worked in the desktop browser.
    How should I get it to be work in the android app?

Any help greatly appreciated. Thanks for your time!

Is the bridge channel working?

Hi! Thanks for the reply!

In Jvb logs, i am seeing a SEVERE line like “Endpoint.scheduleEndpointMessageTransportTimeout$lambda-29#687: EndpointMessageTransport still not connected.”
But this only happens for a minute after the android client is joined the room, the browser client doesn’t have this situation and it works very well.

My current environment is as follows:

  1. all components of jitsi-meet in the same machine.
  2. all clients are in the same local network, and the host machine too.
  3. I’m chose “Let’s Encrypt Certificate” option when I installed the jitsi-meet software.
  4. when we tested it, there were only 3 participants on the entire server (2 broswers and 1 android app).
  5. I modified some code in the “JitsiMeetView.java” with the androidSDK to skip certificate validation , examples are as follows:
    public void join(@Nullable JitsiMeetConferenceOptions options) {

        OkHttpClientFactory factory = new OkHttpClientFactory() {
            @Override
            public OkHttpClient createNewNetworkModuleClient() {
                return new OkHttpClient.Builder()
                    .sslSocketFactory(SSLSocketClient.getSSLSocketFactory(), SSLSocketClient.getX509TrustManager())
                    .hostnameVerifier(SSLSocketClient.getHostnameVerifier())

                    .connectTimeout(0, TimeUnit.MILLISECONDS)
                    .readTimeout(0, TimeUnit.MILLISECONDS)
                    .writeTimeout(0, TimeUnit.MILLISECONDS)
                    .cookieJar(new ReactCookieJarContainer())
                    .build();
            }
        };
        OkHttpClientProvider.setOkHttpClientFactory(factory);

        setProps(options != null ? options.asProps() : new Bundle());
    }

I’m attaching logs from JVB and Jicofo :
jvb.log (59.1 KB)
jicofo.log (16.7 KB)
prosody.log (8.2 KB)

Can you grab the Android logcat?

Thanks for your time answering.

I’m seeing “Stream resume enabled, but WebSockets are not enabled” in the logcat from Android Studio.
Is that the problem? But I have already enabled websocket in the configuration file.

I’m attaching android logcat and configuration files :
logcat_all.log (69.9 KB)
logcat_warning.log (3.5 KB)
jvb.conf.txt (193 Bytes)
172.16.10.55-config.js.txt (63.7 KB)
172.16.10.55.cfg.lua.txt (5.2 KB)

Your jvb.conf is wrong. domain = "172.16.10.55:443" this is not accessible from the outside network. It needa to be the domain which you use to access it through the browser.

You better install using a domain name. Haveing an ip will not allow you to have a valid certificate which is a requirement for using the mobile app.

Thanks for your reply! I will try to get the domain name.

Another question:
I’ve changed these parameter “disableTileEnlargement: true” in config.js ,but it’s only worked in the desktop browser. In android app, it displays only a central part of each video frame.
How should I get it to be work in the android app? I tried the following code in android-sdk-samples from GitHub - jitsi/jitsi-meet-sdk-samples: Jitsi Meet SDK examples (Android and iOS), but it doesn t work either:

JitsiMeetConferenceOptions options
                    = new JitsiMeetConferenceOptions.Builder()
                    .setRoom("myroom")
                    .setUserInfo(uInfo)
                    .setConfigOverride("disableTileEnlargement", true)
                    .build();

That setting is not implemented on Android because tiles have always been squares with a 1:1 aspect ratio.