Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.

Overview

Jitsi Meet

Jitsi Meet is a set of Open Source projects which empower users to use and deploy video conferencing platforms with state-of-the-art video quality and features.



Amongst others here are the main features Jitsi Meet offers:

  • Support for all current browsers
  • Mobile applications
  • Web and native SDKs for integration
  • HD audio and video
  • Content sharing
  • End-to-End Encryption
  • Raise hand and reactions
  • Chat with private conversations
  • Polls
  • Virtual backgrounds

And many more!

Using Jitsi Meet

Using Jitsi Meet is straightforward, as it's browser based. Head over to meet.jit.si and give it a try. It's anonymous, scalable and free to use. All browsers are supported!

Using mobile? No problem, you can either use your mobile web browser or our fully-featured mobile apps:

Android Android (F-Droid) iOS

If you are feeling adventurous and want to get an early scoop of the features as they are being developed you can also sign up for our open beta testing here:

Running your own instance

If you'd like to run your own Jitsi Meet installation head over to the handbook to get started.

We provide Debian packages and a comprehensive Docker setup to make deployments as simple as possible. Advanced users also have the possibility of building all the components from source.

You can check the latest releases here.

Jitsi as a Service

If you like the branding capabilities of running your own instance but you'd like to avoid dealing with the complexity of monitoring, scaling and updates, JaaS might be for you.

8x8 Jitsi as a Service (JaaS) is an enterprise-ready video meeting platform that allows developers, organizations and businesses to easily build and deploy video solutions. With Jitsi as a Service we now give you all the power of Jitsi running on our global platform so you can focus on building secure and branded video experiences.

Documentation

All the Jitsi Meet documentation is available in the handbook.

Security

For a comprehensive description of all Jitsi Meet's security aspects, please check this link.

For a detailed description of Jitsi Meet's End-to-End Encryption (E2EE) implementation, please check this link.

For information on reporting security vulnerabilities in Jitsi Meet, see SECURITY.md.

Contributing

If you are looking to contribute to Jitsi Meet, first of all, thank you! Please see our guidelines for contributing.



Built with ❤️ by the Jitsi team at 8x8 and our community.

Comments
  • 100% support for Firefox (and other non-Chrome browsers)

    100% support for Firefox (and other non-Chrome browsers)

    I'm using Jitsi Meet (The public service hosted at https://meet.jit.si/) for two years now and in my experience it doesn't work reliably with Firefox. I even think as soon as one of the conference members uses Firefox, sooner or later the conference will experience some audio or video issues. Consequently we can't use Jitsi Meet well for a wider/external audience because we can't demand them to use Chrome.

    The actual issues experienced range from voice and video drop outs, to connectivity issues (poor connectivity or connection lost). As soon as the Firefox members leaves, the issues stop appearing. Because these issues are so blur I can't provide any details at the moment. Therefore I have the general question, if you plan to support Firefox 100%? If I should provide more technical details about the issues, where can I find description how to gather those details?

    browser-support 
    opened by jans23 171
  • Screen sharing on mobile app does not exist

    Screen sharing on mobile app does not exist

    Is your feature request related to a problem you are facing? Teacher wants to share screen with class Uses Apple Ipad Starts Jitsi in Browser App comes up, can not be avoided App does not allow to share screen Materials not visible to students

    Describe the solution you'd like Enable screen sharing just as in browser

    Describe alternatives you've considered Use desktop computer instead of ipad But is not portable and has other apps / entire workflow would have to be changed

    Thanks for consideration.

    feature-request mobile ios 
    opened by quantumbeat 136
  • Meta - camera issues

    Meta - camera issues

    If your camera is not working, please test it on https://test.webrtc.org and report your results here.

    https://github.com/jitsi/jitsi-meet/issues/5236 https://github.com/jitsi/jitsi-meet/issues/5335 https://github.com/jitsi/jitsi-meet/issues/3532 https://github.com/jitsi/jitsi-meet/issues/5390 https://github.com/jitsi/jitsi-meet/issues/5195 https://github.com/jitsi/jitsi-meet/issues/5372 https://github.com/jitsi/jitsi-meet/issues/5186 https://github.com/jitsi/jitsi-meet/issues/1964 https://github.com/jitsi/jitsi-meet/issues/5358 https://github.com/jitsi/jitsi-meet/issues/5479 https://github.com/jitsi/jitsi-meet/issues/5466 https://github.com/jitsi/jitsi-meet/issues/5463 https://github.com/jitsi/jitsi-meet/issues/2495 https://github.com/jitsi/jitsi-meet/issues/5492 https://github.com/jitsi/jitsi-meet/issues/5155 https://github.com/jitsi/jitsi-meet/issues/5448 https://github.com/jitsi/jitsi-meet/issues/5430 https://github.com/jitsi/jitsi-meet/issues/5490 https://github.com/jitsi/jitsi-meet/issues/4163 https://github.com/jitsi/jitsi-meet/issues/5425

    Update: macOS users, please try this:

    • Open Activity Monitor
    • Search for "VDCAssistant"
    • Right click, force quit
    • Does it work now?

    Update 2:

    We have deployed a new Jitsi Meet version (on meet.jit.si) which we think solves this problem. Please give it a try! In order to know you are running the new version note that new mute buttons have a new appearance:

    Screen Shot 2020-04-02 at 13 56 36

    Update 3:

    I found an old webcam and could reproduce the problem! Any chance you can test the following? (SomeRandomRoomNameToTestTheCamera is a room name i just made up)

    https://meet.jit.si/SomeRandomRoomNameToTestTheCamera#config.constraints.video.aspectRatio=1.33

    Then try to select your camera.

    Update 4:

    The fix mentioned on update 3 is now deployed on meet.jit.si.

    confirmed meta devices 
    opened by saghul 117
  • jitsi meet android error connection custom server

    jitsi meet android error connection custom server

    Hi, I'm trying to use jitsi-meet for android using a custom jitsi server. My problem is that with the meet.jit.si server the connection is ok, but with my custom server the connection is not ok. I see a black screen. the certificate is self signed and in android I imported it in the local keychain.

    could you help me to understand the issue? Thank you very much

    opened by manang 102
  • iOS - changing Default_Server_URL breaks invitation functionality

    iOS - changing Default_Server_URL breaks invitation functionality

    Hi again,

    Just cloned the ios app and was able to compile and run ok. But when I click on "invite someone" in its new menu location, nothing happens. It used to work fine in the previous version when the button was on the display and not in the menu.

    All I see in the xcode debug logs is:

    2019-01-24 18:27:45.823077+0000 jitsi-meet[3494:1133586] [MC] Filtering mail sheet accounts for bundle ID: xxx.yyy.zzz, source account management: 1 2019-01-24 18:27:45.823574+0000 jitsi-meet[3494:1133586] [MC] Filtering mail sheet accounts for bundle ID: xxx.yyy.zzz, source account management: 2

    Hope this report helps.

    Cheers

    opened by pdarcos 82
  • feat: allow jitsi meet to be opened in a mobile browser

    feat: allow jitsi meet to be opened in a mobile browser

    Allow jitsi meet to run on a mobile browser based on a config parameter in the "interface_config.js".

    This topic came up a couple of times in the mailing list and the current solution as suggested here is not ideal.

    This feature is really useful for audio only requirements in apps that integrate with jitsi meet through the external api.

    Note: Running jitsi meet in the browser of a device is useless where webrtc is not supported.

    mobile 
    opened by riyadhzen 82
  • Feature Request: Breakout Rooms

    Feature Request: Breakout Rooms

    Thanks for making this, this is amazing! I would love to use this for the volunteer-led classes that a nonprofit I work for teaches and has had to transition to doing over video conferencing.

    The one feature that would really make this functionally stand out for us among the closed-source competition would be the ability to have breakout rooms. So if a teacher is hosting a call of ten students, the teacher could group the students into smaller calls of 2-3 students to do smaller discussions or activities together, drop in on different smaller calls to see how they're doing, then bring them back in to the larger call.

    Thanks again!

    feature-request 
    opened by JpTiger 78
  • Issues with SSL

    Issues with SSL

    Hi I have a subdomain pointing to the ip of jitsi and I have followed the quick install, it was giving me an error about invalid SSL, I tried a few things and uninstalled and reinstalled jitsi meet, the error still remains, and now I have issues opening the camera, I have to remove permissions and re add every time I came to the page, but now also the video screen has disappeared from the display.

    Any suggestions guys ?

    TIA

    opened by AdamMiltonBarker 78
  • After I type make, how can i attach it to the domain of my server?

    After I type make, how can i attach it to the domain of my server?

    vmadmin@cmi:~/m-health$ make
    ./node_modules/.bin/webpack -p
    Hash: fd6378a2ad87ed0113fcd8da8b89472361525b72
    Version: webpack 3.9.1
    Child
        Hash: fd6378a2ad87ed0113fc
        Time: 189447ms
                                               Asset       Size  Chunks                    Chunk Names
                  dial_in_info_bundle.min.js.LICENSE       1 kB          [emitted]         
                                   app.bundle.min.js    2.87 MB       0  [emitted]  [big]  app.bundle
                          dial_in_info_bundle.min.js     605 kB       2  [emitted]  [big]  dial_in_info_bundle
                                  alwaysontop.min.js     112 kB       3  [emitted]         alwaysontop
                          do_external_connect.min.js    1.99 kB       4  [emitted]         do_external_connect
                           app.bundle.min.js.LICENSE    7.11 kB          [emitted]         
        device_selection_popup_bundle.min.js.LICENSE    6.95 kB          [emitted]         
                device_selection_popup_bundle.min.js     2.4 MB       1  [emitted]  [big]  device_selection_popup_bundle
                          alwaysontop.min.js.LICENSE  529 bytes          [emitted]         
                                  app.bundle.min.map    14.1 MB       0  [emitted]         app.bundle
               device_selection_popup_bundle.min.map    11.9 MB       1  [emitted]         device_selection_popup_bundle
                         dial_in_info_bundle.min.map    3.14 MB       2  [emitted]         dial_in_info_bundle
                                 alwaysontop.min.map     395 kB       3  [emitted]         alwaysontop
                         do_external_connect.min.map    12.6 kB       4  [emitted]         do_external_connect
          [34] ./node_modules/@atlaskit/theme/dist/esm/index.js + 7 modules 13.2 kB {0} {1} [built]
          [51] (webpack)/buildin/global.js 509 bytes {0} {1} {2} [built]
         [141] ./react/features/base/config/parseURLParams.js 1.51 kB {0} {1} {2} {4} [built]
         [311] ./react/features/base/config/getRoomName.js 761 bytes {0} {1} {2} {4} [built]
         [397] ./react/features/base/react/prop-types-polyfill.js 227 bytes {0} {1} {2} [built]
         [939] multi babel-polyfill whatwg-fetch ./app.js 52 bytes {0} [built]
         [940] ./app.js + 2 modules 4.7 kB {0} [built]
         [962] ./modules/UI/UI.js 35.2 kB {0} [built]
         [977] ./react/index.web.js 1.06 kB {0} [built]
         [978] ./react/features/device-selection/popup.js 476 bytes {1} [built]
         [979] ./react/features/device-selection/DeviceSelectionPopup.js 12.3 kB {1} [built]
         [980] ./react/features/always-on-top/index.js + 3 modules 26.7 kB {3} [built]
         [981] multi babel-polyfill whatwg-fetch ./react/features/base/react/prop-types-polyfill.js ./react/features/invite/components/dial-in-info-page 64 bytes {2} [built]
         [982] ./react/features/invite/components/dial-in-info-page/index.js + 2 modules 4.02 kB {2} [built]
         [983] ./connection_optimization/do_external_connect.js 2.51 kB {4} [built]
            + 969 hidden modules
    Child
        Hash: d8da8b89472361525b72
        Time: 21360ms
                       Asset    Size  Chunks             Chunk Names
         external_api.min.js  115 kB       0  [emitted]  external_api
        external_api.min.map  568 kB       0  [emitted]  external_api
          [90] (webpack)/buildin/global.js 509 bytes {0} [built]
         [125] ./react/features/base/util/uri.js 14.1 kB {0} [built]
         [128] multi babel-polyfill ./modules/API/external/index.js 40 bytes {0} [built]
         [331] ./modules/API/external/index.js 171 bytes {0} [built]
         [332] ./modules/API/external/external_api.js 30.9 kB {0} [built]
         [334] ./modules/transport/index.js + 9 modules 24.5 kB {0} [built]
         [335] ./react/features/base/util/httpUtils.js 758 bytes {0} [built]
            + 331 hidden modules
    mkdir -p libs
    cp \
    	build/app.bundle.min.js \
    	build/app.bundle.min.map \
    	build/do_external_connect.min.js \
    	build/do_external_connect.min.map \
    	build/external_api.min.js \
    	build/external_api.min.map \
    	build/device_selection_popup_bundle.min.js \
    	build/device_selection_popup_bundle.min.map \
    	build/dial_in_info_bundle.min.js \
    	build/dial_in_info_bundle.min.map \
    	build/alwaysontop.min.js \
    	build/alwaysontop.min.map \
    	./analytics-ga.js \
    	libs
    cp \
    	node_modules/lib-jitsi-meet//lib-jitsi-meet.min.js \
    	node_modules/lib-jitsi-meet//lib-jitsi-meet.min.map \
    	node_modules/lib-jitsi-meet//connection_optimization/external_connect.js \
    	node_modules/lib-jitsi-meet//modules/browser/capabilities.json \
    	libs
    ./node_modules/.bin/node-sass css/main.scss css/all.bundle.css && \
    ./node_modules/.bin/cleancss css/all.bundle.css > css/all.css ; \
    rm css/all.bundle.css
    Rendering Complete, saving .css file...
    Wrote CSS to /home/vmadmin/m-health/css/all.bundle.css
    ([ ! -x deploy-local.sh ] || ./deploy-local.sh)
    rm -fr build
    
    opened by BlakeEram 75
  • Firefox support

    Firefox support

    This is just a support request.

    Chromium works very well. Please support also other browsers such as Firefox in the future.

    Thank you for your great work!

    opened by mokkin 73
  • Make Jitsi WCAG 2.1 compliant

    Make Jitsi WCAG 2.1 compliant

    WCAG 2.1 AA Compliance / Accessibility

    This PR is the followup to https://github.com/jitsi/jitsi-meet/pull/8423 @saghul @damencho

    We managed to make jitsi-meet (web) fully WCAG 2.1 AA compliant. This has been tested and approved by two independent entities. One feedback I want to share with the community came from a person who relies on a screen-reader for his daily work. He was very excited that he was finally able to participate in video conferences at his workplace.

    We would really appreciate if you could give this review some priority because it looks like there is currently a lot of work being done on UI elements and we already had a hard time keeping up with the master branch while doing our final code review 🙂

    This is a rather large PR (sorry 😉) because we had to modify almost every element of jitsi-meet web. But don't be afraid there are a lot of similar changes like aria attributes, color contrasts or keypress handler. I will go into more detail regarding PTT and global keyboard shortcuts below to give you more insights what we did and why we did it. This should make your life easier reviewing all these changes. If there are still things we missed to explain please let us know in the comments.

    Features

    • Full keyboard access to all UI elements
    • Better contrast for improved readability/visibility on some elements
    • Descriptive aria attributes and labels for screen readers
    • Highlighting of focused elements
    • Unified wording / More descriptive labels
    • A setting to disable keyboard shortcuts

    Fixes

    • No interference between input elements like buttons and PTT or other global keyboard shortcuts
    • Hide Mute Audio/Video moderation features from toolbox overflow menu if user is not a moderator
    • Re-integrated video mute button to toolbox overflow menu
    • Auto-Hide of toolbox will now recognize focused elements and stay open until unfocused
    • Auto-Hide of toolbox will now recognize when a user is hovering the remote-video-control menu
    • Fixed all places where eslint-disable-next-line react/jsx-no-bind was used to avoid unnecessary rerender
    • The SPACE key will now only unmute while pressed and you were muted before. The old behavior was to also activate mute on SPACE similar to the M key. If you take push-to-talk literally this was a wrong behavior and M should be the only shortcut to mute while SPACE will allow you to talk while holding SPACE when muted.
    • Minor UI fixes like z-index, padding issues, missing headlines in dialogs, responsiveness or overflowing elements

    Push-To-Talk (PTT) / Keyboard Shortcuts

    We decided on an approach that allowed us to keep global shortcuts (like PTT) the jitsi community is used to while adding space bar support to UI elements like buttons and menus. This took some extra work because PTT and other shortcuts like numbers can interfere with the expected experience of screen-reader users and keyboard users in general.

    1. We allow people to disable keyboard shortcuts entirely if features like PTT or number shortcuts are causing too much confusion when using a screen-reader for example. This is a new checkbox in the settings dialog. Keyboard shortcuts stay active by default though to make this a non-breaking change.
    2. We prioritized the keyboard handling of keyboard-focused elements (like input, button, checkbox, ...) over global keyboard shortcuts. Which means when you intentionally focus a button using the tab key the function of the space bar will be to trigger the button. You are also now able to remove focus from an element by pressing ESC. This allows keyboard users to have the native web experience they are used to while also having great features like PTT.

    Credits

    Big thanks to my team who did most of the hard work @agnesboldt @ahmadkadri @MaikHannemann @nurjinjafar @phk-nord

    Dataport would like to thank the Jitsi Open Source Community for a great product with this active contribution from its Phoenix Open Source Initiative – for further information please visit https://www.phoenix-werkstatt.de or https://www.dataport.de

    opened by skolmer 66
  • Add support for Hermes JS engine

    Add support for Hermes JS engine

    Is your feature request related to a problem you are facing? Yes, my team can't enable hermes as JS engine in our React Native application due to Jitsi SDK limitations. Jitsi adopted hermes in version 2.6.0 and left it again in version 2.10.0, since then is not possible to support Hermes if Jitsi SDK is used.

    Describe the solution you'd like I'd like Jitsi Meet SDK to use Hermes as JS engine. Hermes is now the default engine for all React Native apps (due to improvements) starting at React Native 0.70.0, this fact is even more important now that new RN architecture in near .

    Describe alternatives you've considered None.

    I am sure that Jitsi's team is making his best effort but I know this topic has been discussed in the past. I'd like to know if there is an estimated ETA for this change.

    Thanks.

    feature-request 
    opened by chema0 0
  • config.disableDeepLinking option not working when passed in URL

    config.disableDeepLinking option not working when passed in URL

    Description:

    #config.disableDeepLinking=True option not working when passed in URL

    Sample URL : https://meet.jit.si/jitsi#config.disableDeepLinking=True

    Expected behaviour:

    Meeting should be started directly without showing Jitsi Meet App options

    Actual behaviour:

    Native Option screen is displayed

    image

    opened by e2-rubaktechie 4
  • Local recording still showed as

    Local recording still showed as "REC" on my end after my peer hit the limit

    Description:

    My friend & I were trying the local recording feature on https://meet.jit.si (which, by the way, is very cool!): at the beginning of our conversation, he hit "record." By the end (about 90 minutes later) he went to go stop the recording to ensure it was saved, and found instead of an ongoing recording he'd very quietly gotten a 1.07GB download about 20 minutes prior. On his end, he reported the "REC" indicator had gone away to match the end of the recording, but on my end I still saw it.

    Steps to reproduce:

    I haven't reproduced this myself, but the steps we followed were:

    1. Start local recording with two people in a call
    2. Record for long enough to exceed the size limit (this would probably be easier to do if the limit were artificially reduced by a lot)

    Expected behavior:

    When my peer hits the recording limit, my end of the meeting reflects that recording has stopped. Or, additionally, we have a much more significant notification that recording has ended (similar to the excellent "recording is on" notification).

    Alternatively, if the recording had continued by "rolling over" to a new file, that would have also matched my expectations and what I saw in the UI.

    Actual behavior:

    No recording was ongoing, but I still saw the "REC" indicator at the top of the screen.

    Client information:

    • Browser / app version: Chrome 108.0.5359.124
    • Operating System: macOS
    opened by sethp 0
  • workflow: add luacheck as a GitHub action

    workflow: add luacheck as a GitHub action

    This commit adds a GitHub action which checks Lua codes via luacheck.

    We (me and @shawnchin) tested this workflow action in prosody-plugins. It seems OK.

    opened by emrahcom 1
Releases(stable/jitsi-meet_8138)
👀 iOS11 demo application for age and gender classification of facial images.

Faces Vision Demo iOS11 demo application for age and gender classification of facial images using Vision and CoreML. Model This demo is based on the a

Cocoa AI 300 Dec 9, 2022
Takes those cursed usernames you see on social networks and lets them be accessible to screen readers.

AccessibleAuthorLabel ?? Takes those cursed usernames you see on social networks and lets them be accessible to screen readers so everyone can partake

Christian Selig 40 Jan 25, 2022
🏷 iOS11 demo application for predicting gender from first names.

Names CoreML Demo A Demo application using CoreML framework for predicting gender from first names. Model This demo is based on An introduction to Mac

Cocoa AI 34 Jan 29, 2022
😃 iOS11 demo application for sentiment polarity analysis.

Sentiment Polarity CoreML Demo A Demo application using CoreML framework for sentiment polarity analysis. Model CoreML model was converted from Scikit

Cocoa AI 113 Dec 14, 2022
🖼 iOS11 demo application for image style classification.

Styles Vision Demo A Demo application using Vision and CoreML frameworks to detect the most likely style of the given image. Model This demo is based

Cocoa AI 47 Oct 22, 2022
🌸 iOS11 demo application for flower classification.

Flowers Vision Demo iOS11 demo application for flower classification using Vision and CoreML frameworks. Model This demo is based on Caffe CNNs for th

Cocoa AI 93 Nov 16, 2022
🌅 iOS11 demo application for visual sentiment prediction.

Sentiment Vision Demo A Demo application using Vision and CoreML frameworks to detect the most likely sentiment of the given image. Model This demo is

Cocoa AI 34 Jan 29, 2022
Scutil - The swift version of my ASOC scutilUtil application. An interesting learning excercise

scutil this is the swift version of my ASOC "scutilUtil" application. An interes

null 1 Feb 15, 2022
Spokestack: give your iOS app a voice interface!

Spokestack provides an extensible speech recognition pipeline for the iOS platform. It includes a variety of built-in speech processors for Voice Acti

Spokestack 28 Oct 19, 2022
DeepInfant® is a Neural network system designed to predict whether and why your baby is crying.

DeepInfant DeepInfant® is a Neural network system designed to predict whether and why your baby is crying. DeepInfant uses artificial intelligence and

Skytells AI Research 14 Oct 19, 2022
A simple deep learning library for estimating a set of tags and extracting semantic feature vectors from given illustrations.

Illustration2Vec illustration2vec (i2v) is a simple library for estimating a set of tags and extracting semantic feature vectors from given illustrati

Masaki Saito 661 Dec 12, 2022
BrainCore is a simple but fast neural network framework written in Swift.

BrainCore is a simple but fast neural network framework written in Swift. It uses Metal which makes it screamin' fast. If you want to see it

Alejandro Isaza 377 Jun 29, 2022
MLKit is a simple machine learning framework written in Swift.

MLKit (a.k.a Machine Learning Kit) ?? MLKit is a simple machine learning framework written in Swift. Currently MLKit features machine learning algorit

Guled 152 Nov 17, 2022
A simple Swift package which acts as an OpenAI client for the GPT-3 API.

SwiftyGPT3 A simple Swift package which acts as an OpenAI client for GPT-3 brought to you by the Airgift Crew. Supports GPT-3 Codex! Requirements iOS

Airgift 23 Dec 25, 2022
WhatPet - A basic app that classifies images of dogs, cats and rabbits using CoreML

WhatPet ✓ A basic app that classifies images of dogs, cats and rabbits using Cor

Micaella Morales 0 Jan 6, 2022
CoreMLSample - CoreML Example for in app model and download model

CoreMLSample Sample for CoreML This project is CoreML Example for in app model a

Kim Seonghun 2 Aug 31, 2022
App made to educate people about cybersecurity and internet safety.

Cybersafe App made to educate people about cybersecurity and internet safety. [please open the app on an Iphone 11 if you have Xcode!] What to expect:

keira 2 Jul 25, 2022
BetterMood is an iOS app that uses Tensorflow to recognize user’s emotions

BetterMood is an iOS app that uses Tensorflow to recognize user’s emotions, convert it into categories then send via our api along with the user’s date of birth and name, to end up with a emotion analyse and horoscope prediction.

Yosri 2 Sep 30, 2021
A note on the Construction of the watchOS App Notes

This document is a note on the Construction of the watchOS App "Notes" Learn about the main topics of this watchOS project In this SwiftUI tutorial, w

Daniel Beatty 0 Dec 6, 2021