In this section a global overview of the Jitsi infrastructure is provided. If you just started contributing to the project, we highly recommend reading this section thoroughly.
Jitsi comprises a collection of projects:
Jitsi Meet is an open-source video-conferencing application based on WebRTC. In this tutorial, you will install and configure a Jitsi Meet server on Ubuntu 18.04. The default configuration allows anyone to create a new conference room.
- Here, you can download Jitsi Desktop, Jitsi Meet and Jitsi Videobridge. Use the stable builds for more consistent behaviour. Latest nightlies are also quite usable and contain all our latest and greatest additions.
- Jitsi Meet is one of the emerging video conferencing apps today. It is an open-source communication software that is free, easy to use, and requires little to no onboarding. It encrypts all your calls and does not sell your data.
- Jitsi Videobridge (JVB) - WebRTC compatible server designed to route video streams amongst participants in a conference.
- Jitsi Conference Focus (jicofo) - server-side focus component used in Jitsi Meet conferences that manages media sessions and acts as load balancer between each of the participants and the videobridge.
- Jitsi Gateway to SIP (jigasi) - server-side application that allows regular SIP clients to join Jitsi Meet conferences
- Jitsi Broadcasting Infrastructure (jibri) - set of tools for recording and/or streaming a Jitsi Meet conference that works by launching a Chrome instance rendered in a virtual framebuffer and capturing and encoding the output with ffmpeg.
External Software used by Jitsi:
- Prosody - XMPP server used for signalling
The individual connections between the previously described components, as well as their external integrations are described in the figure below.
What Is Jitsi Meet
The external connections can be categorized into two main groups. Firstly, the connections between clients that request a video or audio connection performed through remote requests and data streams. The second category of external connections is those to external services that help store recordings, stream recordings, stream videos or help with creating meetings.
In this section we will look at the main parts of the codebase and see what they can be used for.
./react/featuresThis folder is where it is best to start writing your code, as it contains most of the app components that are used in the apps on Android and iOS, as well as on the web version. This source folder is split up into all the different features that Jitsi has to offer, such as authentication, chat interaction, keyboard shortcuts, screenshot capture, remote control and virtual background. Each of these features has its own folder in this map, which is then again split up to keep a hierarchy and consistency throughout the code.
Each feature folder consists of a subfolder called components, in this folder all of the React, or React Native for mobile, components are expressed. Usually in this folder there will be a separation between native and web components, however in some cases the same component could be used for both Android, iOS and web browser, in which case there is no separation made.
As stated before, the codebase mostly consists of React and React Native, which is the React version for mobile applications. Most of the features make use of the so-called class component by React , however some new features start to use the new way to write functional components by using hooks.
The application makes use of React Redux as well, this is used as a general state store to keep track of important parameters that are used throughout the application. More on React Redux can be found here .
130 utc. Most features also contain a file called
middleware.js. This file acts as a bridge between the component and the functionality of the rest of the application.
./modules/external-apiIn this folder, the external API can be found. This API can be used in various events like participants joining/leaving the meeting, changes in avatars or chat, as well as errors in using the microphone or camera.
./android and ./iosBoth of these folders contain the basics of the Android and iOS app respectively. However, the code for the application itself and its components can be found in the react/features folder, which will be explained later in this section.
./conference.jsThis file can be found at the root of the project, and contains the foundation of any interaction between a user and a conference room. This consists of setting up a connection to it, joining the meeting room, muting and unmuting, but also functions to gather information about the participants that are in the room.
./langThis folder contains all the different translations that are present in Jitsi Meet. The translations can be found in the code with each of the keys in the translation maps that can be found in
./cssThis folder contains all the css that is used in the project. The files (mostly .scss files) are split up into features like the React features that they are used in.
The main form of testing code changes is done through torture tests, next to this the code is tested manually.
The torture tests are located in a separate repository, Jitsi Meet Torture. The project contains end to end tests for several key functions such as peer to peer and invites. The testing can be done for iOS, Android and web, which are all the platforms that Jitsi Meet can be used on. The testing is done automatically for pull requests by project members, where it is used in combination with the continuous integration by a Jenkins instance running the tests, testing on the meet.jit.si instance. Other members can run the tests locally. The test results can be viewed on an automatically generated web page.
Manual testing is performed while doing code reviews, however there are also testing releases that can be freely downloaded and deployed, or can be used on the beta test server.
Currently, the best way to communicate and reach out to other people is through platforms that allow us to make video calls or conferences. Jitsi Meet is one of this apps and it is the favorite of many because it is free, easy to use, and it doesn’t have any limitations. In this app you can call all the people you want for all the time you want, hold large conferences with all the people you need and they don’t even need to have the app installed. It is such a powerful tool nowadays, so on this post we tell you how to download Jitsi Meet and how to start using it.
How to download Jitsi Meet?
Getting this app on your device is easy. You can download Jits in your smartphone through a simple process and it is a fast step by step process that you can do right now. You can do it through this post or do it directly through the app store of your device.
The first option is to tap on the download button that we leave you in this post. Then, tap on your device OS system, Android or iOS. The page will take you to the app store for you and you will be able to download Jitsi Meet from there. Just tap on the Install button, accept the terms and conditions of this app and wait until the process is completed and you get the app installed.
The second option is to open your app store and find the app by its name. The rest of the process is the basically the same. Tap on the Install button, accept the conditions and wait a couple of minutes. Once the app is installed, you are able to start using it once you create your account in it.
How to use Jitsi Meet to make calls?
As we mentioned, through this app you can call anybody. Friends, family, coworkers, clients, everybody. They don’t need the app. You just create the conference room and you send them a link. They tap on it and it will redirect them to the room chat you created. They can talk to you in a videocall easily in this platform, and your conversation will be encrypted and private by default.
The best feature is that this app doesn’t have any limits. So, you can create a conference with all the people you need. The only limit will be your own bandwidth and speed. Also, it doesn’t have time limit, so you can talk with your people as long as you want to. This make the conversation easier, efficient and fast. This is way people love this app and they are using it to communicate with everybody. You can also do this just by downloading it.
Another great feature is that you don’t even need to create an account. You just create your room, set up a password and you can start using the app immediately. Other people don’t need an account either.