[jitsi-dev] How to change resolution and frame rate (FPS) of Jitsi?


#1

Dear Team,

I want to force the video quality of all user to *Low Quality*. Right now,
I've changed the config in config.js of Jitsi-meet. I've changed the
resolution to 180.

And in Jtisi-video-bridge, I've changed these parameter:

*private static final int MAX_FRAME_HEIGHT_DEFAULT = 2160;* => I change
2160 to 50

*private static final long TS_INCREMENT_PER_FRAME = 90000 /* Hz */ / 30 /*
fps */;*
=> I've change 30 to 5

*private static final double ONSTAGE_PREFERRED_FRAME_RATE_DEFAULT = 30;*
=> I've change 30 to 5.

But it's seem like doesn't affect. The video still at high quality.

Can you tell me how to force all user's video to Low Quality cause I don't
need high quality at all.

Thank you so much.


#2

I'd try changing the constraints in config.js to be low quality...that will
make the senders only acquire/send low quality media (and i expect will
also stop them from doing simulcast). The rate control should be dropping
the quality down if there are network issues though; are you saying that:
even though the network is capable of high quality, you want to force low
quality? Or is the network bad but the quality not being dropped
appropriately?

···

On Thu, May 17, 2018 at 4:44 AM, Nam Hoài Trần <namth4@topica.edu.vn> wrote:

Dear Team,

I want to force the video quality of all user to *Low Quality*. Right
now, I've changed the config in config.js of Jitsi-meet. I've changed the
resolution to 180.

And in Jtisi-video-bridge, I've changed these parameter:

*private static final int MAX_FRAME_HEIGHT_DEFAULT = 2160;* => I change
2160 to 50

*private static final long TS_INCREMENT_PER_FRAME = 90000 /* Hz */ / 30 /*
fps */;*
=> I've change 30 to 5

*private static final double ONSTAGE_PREFERRED_FRAME_RATE_DEFAULT = 30;*
=> I've change 30 to 5.

But it's seem like doesn't affect. The video still at high quality.

Can you tell me how to force all user's video to Low Quality cause I don't
need high quality at all.

Thank you so much.

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#3

Yes, what I want is even the network is good, the video quality still low.
Cause I don't need 720 and I want to reduce the bandwidth on mobile for
better call quality.

Thank you so much.

···

On Fri, May 18, 2018 at 1:07 AM, Brian Baldino <brian@jitsi.org> wrote:

I'd try changing the constraints in config.js to be low quality...that
will make the senders only acquire/send low quality media (and i expect
will also stop them from doing simulcast). The rate control should be
dropping the quality down if there are network issues though; are you
saying that: even though the network is capable of high quality, you want
to force low quality? Or is the network bad but the quality not being
dropped appropriately?

On Thu, May 17, 2018 at 4:44 AM, Nam Hoài Trần <namth4@topica.edu.vn> > wrote:

Dear Team,

I want to force the video quality of all user to *Low Quality*. Right
now, I've changed the config in config.js of Jitsi-meet. I've changed the
resolution to 180.

And in Jtisi-video-bridge, I've changed these parameter:

*private static final int MAX_FRAME_HEIGHT_DEFAULT = 2160;* => I change
2160 to 50

*private static final long TS_INCREMENT_PER_FRAME = 90000 /* Hz */ / 30
/* fps */;*
=> I've change 30 to 5

*private static final double ONSTAGE_PREFERRED_FRAME_RATE_DEFAULT = 30;*
=> I've change 30 to 5.

But it's seem like doesn't affect. The video still at high quality.

Can you tell me how to force all user's video to Low Quality cause I
don't need high quality at all.

Thank you so much.

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#4

Hi Nam,

Have you tried setting this in config.js:

     resolution: 180,
     constraints: {
         video: {
             aspectRatio: 16 / 9,
             height: {
                 ideal: 180,
                 max: 180,
                 min: 180
             }
         }
     },

Resolution is used in some cases, like chrome < 61, so you need and the
constraints for the newer versions.

Regards
damencho

Yes, what I want is even the network is good, the video quality still

low. Cause I don't need 720 and I want to reduce the bandwidth on mobile
for better call quality.

Thank you so much.

I'd try changing the constraints in config.js to be low quality...that

will make the senders only acquire/send low quality media (and i expect
will also stop them from doing simulcast). The rate control should be
dropping the quality down if there are network issues though; are you
saying that: even though the network is capable of high quality, you want
to force low quality? Or is the network bad but the quality not being
dropped appropriately?

Dear Team,

I want to force the video quality of all user to Low Quality. Right

now, I've changed the config in config.js of Jitsi-meet. I've changed the
resolution to 180.

And in Jtisi-video-bridge, I've changed these parameter:

private static final int MAX_FRAME_HEIGHT_DEFAULT = 2160; => I change

2160 to 50

private static final long TS_INCREMENT_PER_FRAME = 90000 /* Hz */ / 30

/* fps */;

=> I've change 30 to 5

private static final double ONSTAGE_PREFERRED_FRAME_RATE_DEFAULT = 30;
=> I've change 30 to 5.

But it's seem like doesn't affect. The video still at high quality.

Can you tell me how to force all user's video to Low Quality cause I

don't need high quality at all.

···

On Thu, May 17, 2018 at 10:11 PM Nam Hoài Trần <namth4@topica.edu.vn> wrote:

On Fri, May 18, 2018 at 1:07 AM, Brian Baldino <brian@jitsi.org> wrote:

On Thu, May 17, 2018 at 4:44 AM, Nam Hoài Trần <namth4@topica.edu.vn> wrote:

Thank you so much.

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#5

Hi Damencho,

Yes, I've already set it but the video quality still high. Actually now I
have limit the bandwidth at Jitsi Video Bridge and it works.

Thank you so much.

···

On Fri, May 18, 2018 at 10:15 AM, Damian Minkov <damencho@jitsi.org> wrote:

Hi Nam,

Have you tried setting this in config.js:

     resolution: 180,
     constraints: {
         video: {
             aspectRatio: 16 / 9,
             height: {
                 ideal: 180,
                 max: 180,
                 min: 180
             }
         }
     },

Resolution is used in some cases, like chrome < 61, so you need and the
constraints for the newer versions.

Regards
damencho

On Thu, May 17, 2018 at 10:11 PM Nam Hoài Trần <namth4@topica.edu.vn> > wrote:

> Yes, what I want is even the network is good, the video quality still
low. Cause I don't need 720 and I want to reduce the bandwidth on mobile
for better call quality.

> Thank you so much.

> On Fri, May 18, 2018 at 1:07 AM, Brian Baldino <brian@jitsi.org> wrote:

>> I'd try changing the constraints in config.js to be low quality...that
will make the senders only acquire/send low quality media (and i expect
will also stop them from doing simulcast). The rate control should be
dropping the quality down if there are network issues though; are you
saying that: even though the network is capable of high quality, you want
to force low quality? Or is the network bad but the quality not being
dropped appropriately?

>> On Thu, May 17, 2018 at 4:44 AM, Nam Hoài Trần <namth4@topica.edu.vn> > wrote:

>>> Dear Team,

>>> I want to force the video quality of all user to Low Quality. Right
now, I've changed the config in config.js of Jitsi-meet. I've changed the
resolution to 180.

>>> And in Jtisi-video-bridge, I've changed these parameter:

>>> private static final int MAX_FRAME_HEIGHT_DEFAULT = 2160; => I change
2160 to 50

>>> private static final long TS_INCREMENT_PER_FRAME = 90000 /* Hz */ / 30
/* fps */;
>>> => I've change 30 to 5

>>> private static final double ONSTAGE_PREFERRED_FRAME_RATE_DEFAULT = 30;
>>> => I've change 30 to 5.

>>> But it's seem like doesn't affect. The video still at high quality.

>>> Can you tell me how to force all user's video to Low Quality cause I
don't need high quality at all.

>>> Thank you so much.

>>> _______________________________________________
>>> dev mailing list
>>> dev@jitsi.org
>>> Unsubscribe instructions and other list options:
>>> http://lists.jitsi.org/mailman/listinfo/dev

>> _______________________________________________
>> dev mailing list
>> dev@jitsi.org
>> Unsubscribe instructions and other list options:
>> http://lists.jitsi.org/mailman/listinfo/dev

> _______________________________________________
> dev mailing list
> dev@jitsi.org
> Unsubscribe instructions and other list options:
> http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#6

Hi @Nam_Hoai_Tr_n and @damencho

How do you limit the bandwidth of the Jitsi Video Bridge?
What variable do you change and in which file?

(Sorry if this is already answered. The answer above has so many layers of comments that it is very hard to tell what is what.)

Thanks!!


#7

This is how you limit it to 720, you can change it to 360 or 180 if you want.

resolution: 720,
    constraints: {
        video: {
            aspectRatio: 16 / 9,
            height: {
                ideal: 720,
                max: 720,
                min: 240
            }
        }
    },

#8

Does this configuration get used by the mobile clients (that use the SDK)? I’m experiencing a mobile client that still sends very high definition quality video, despite these settings.


#9

I think so, mobile downloads config.js and passes options to lib-jitsi-meet. But somebody from the mobile team can confirm this behavior.


#10

@saghul, didn’t you once tell me that the config.js and/or interface_config get ignored (even though there’s some code that pretends to process these resources)?


#11

This came up in todays community call. If I interpreted the response correctly, then,

  1. The mobile SDK ignored interface_config.js, but does read config.js
  2. The modile SDK will ignore the resolution constraints that are in config.js, and will default to 720.
  3. The Jitsi team will start to track a new issue that intends to add a feature where mobile clients can specify resolution constraints

#12

@Guus_der_Kinderen Correct on all accounts.