Alas, the instructions for working with lib-jitsi-meet won’t work properly for the mobile apps.

Instead, install the install-local npm package (npm i -g install-local) and use it to install your modified lib-jitsi-meet version:

(from tghe jitsi-meet directory)
install-local ../lib-jitsi-meet

I execute ‘npm i -g install-local’ in the ‘lib-jitsi-meet’ directory,is OK.
I execute ‘install-local …/lib-jitsi-meet’ in 'jitsi-meet’directory , and the prompt 'install-local ’ command does not exist.

‘lib-jitsi-meet’ for mobile applications?Again, ‘libjitsi’ for mobile and ‘/lib-jitsi-meet’ for PC.

I’m trying to reduce the bandwidth on the mobile side. I don’t have enough bandwidth to support multiple users.

It’s a global install (note -g) so it doesn’t matter where you run it.

Your PATH seems to be wrong, the global Node modules should be in it.

No, that’s not the case. The mobile applications are written with React Native and thus share most of the JS code in the web. The mobile apps use an unmodified version of lib-jitsi-meet.

Sorry, I have a problem with the presentation.What I want to ask is whether the modification of lib-jitsi-meet will affect mobile applications, such as
\lib-jitsi-meet\modules\connectivity\ connectionquality.js
const MAX_TARGET_BITRATE = 2500;
modified to
const MAX_TARGET_BITRATE = 1000;
can effectively reduce the bandwidth consumption?
When I’m done, I want to use the modified library to regenerate the mobile application.What should I do.

See here?

Build and use your own SDK artifacts/binaries

I’m not sure. I think it would be best to reduce the local resolution (not curtrently possible) and request lower quality (also not yet possible on mobile).


How does this project work, on the server side or the client side?Need to compile?


libjitsi is written in Java and currently used by the Jitsi Videobrodge (server side) amongst other projects. Jitsi Meet and lib-jitsi-meet are written in Java Script and you can view them as client applications to the server counterpart.

Will the audio and video streams sent by the client to the server be encoded and decoded by the server?I see ffmpeg related code to solve unknown format?

Does the default Android client use the Vp8 format? Or all the same, can you modify the unified codec format through configuration?
Or by WebRTC to determine the audio and video format.


Yes, we use VP8 as the default codec on all platforms. H.264 can be selected with a configuration option.

Which configuration option?Each one needs to be changed or only one service configuration needs to be changed.

// If set to true, prefer to use the H.264 video codec (if supported).
// Note that it's not recommended to do this because simulcast is not
// supported when  using H.264. For 1-to-1 calls this setting is enabled by
// default and can be toggled in the p2p section.
// preferH264: true,

I did not find the relevant configuration, I see the code also VP9, whether to support it.

This is the option. You can set it on your server’s config.js file and the clients will read and use it. VP9 is not fully supported at this point.

The previous command executed successfully, but failed while executing this command.

root@ubuntu:/home/yao/jitsi-meet# install-local …/lib-jitsi-meet
[install-local] installing into jitsi-meet
{ Error: Command failed: npm i --no-save “/tmp/node-local-install-hqveu1qv1jw65aucc/lib-jitsi-meet-0.0.0.tgz”
Error: EACCES: permission denied, open ‘/home/yao/jitsi-meet/node_modules/lib-jitsi-meet/lib-jitsi-meet.min.js’
npm WARN @atlaskit/inline-dialog@5.3.0 requires a peer of react@15.6.0 - 16.2.0 but none is installed. You must install peer dependencies yourself.
npm WARN @atlaskit/inline-dialog@5.3.0 requires a peer of react-dom@15.6.0 - 16.2.0 but none is installed. You must install peer dependencies yourself.
npm WARN @atlaskit/layer@2.9.1 requires a peer of react@15.6.0 - 16.2.0 but none is installed. You must install peer dependencies yourself.
npm WARN @atlaskit/theme@2.4.1 requires a peer of react@15.6.0 - 16.2.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {“os”:“darwin”,“arch”:“any”} (current: {“os”:“linux”,“arch”:“x64”})

npm ERR! errno 1
npm ERR! lib-jitsi-meet@0.0.0 postinstall: webpack -p
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the lib-jitsi-meet@0.0.0 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-05-27T09_05_47_046Z-debug.log

at ChildProcess.exithandler (child_process.js:294:12)
at ChildProcess.emit (events.js:189:13)
at maybeClose (internal/child_process.js:970:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)

killed: false,
code: 1,
signal: null,
‘npm i --no-save “/tmp/node-local-install-hqveu1qv1jw65aucc/lib-jitsi-meet-0.0.0.tgz”’ }

Do not use root for installing any project-local dependencies.

Can bandwidth be limited by modifying the bandwidth size of the SDP convention?Or during RTSP interactions, bandwidth is dynamically estimated to adjust, ignoring the previous SDP convention.

We don’t use SDP (I guess you meant b=AS) for bandwidth limitation, we instruct the bridge to send us simulcast layers of lower resolution, bandwidth adaptation is dynamic.

Videobridge whether there is an HD and a low resolution video, android current host request HD, thumbnail request low resolution video

Where I can set android to request low resolution video or where I can view the code.

There is a function in lib-Jitsi-Meet called setReceiveResolution (IIRC, I’m on mobile, can’t check right now).

However, as I said, this is not currently used by the mobile applications.

This method is not found.

FPS doesn’t seem to work in the videoCapturer.startCapture() method because JVB has a moderating effect and maintains a high frame rate on the client.

This is the method: https://github.com/jitsi/lib-jitsi-meet/blob/master/modules/RTC/RTC.js#L399