Go to file
bgrozev 090f2f9ccb Restructures the analytics events (#2333)
* ref: Restructures the pinned/unpinned events.

* ref: Refactors the "audio only disabled" event.

* ref: Refactors the "stream switch delay" event.

* ref: Refactors the "select participant failed" event.

* ref: Refactors the "initially muted" events.

* ref: Refactors the screen sharing started/stopped events.

* ref: Restructures the "device list changed" events.

* ref: Restructures the "shared video" events.

* ref: Restructures the "start muted" events.

* ref: Restructures the "start audio only" event.

* ref: Restructures the "sync track state" event.

* ref: Restructures the "callkit" events.

* ref: Restructures the "replace track".

* ref: Restructures keyboard shortcuts events.

* ref: Restructures most of the toolbar events.

* ref: Refactors the API events.

* ref: Restructures the video quality, profile button and invite dialog events.

* ref: Refactors the "device changed" events.

* ref: Refactors the page reload event.

* ref: Removes an unused function.

* ref: Removes a method which is needlessly exposed under a different name.

* ref: Refactors the events from the remote video menu.

* ref: Refactors the events from the profile pane.

* ref: Restructures the recording-related events.

Removes events fired when recording with something other than jibri
(which isn't currently supported anyway).

* ref: Cleans up AnalyticsEvents.js.

* ref: Removes an unused function and adds documentation.

* feat: Adds events for all API calls.

* fix: Addresses feedback.

* fix: Brings back mistakenly removed code.

* fix: Simplifies code and fixes a bug in toggleFilmstrip

when the 'visible' parameter is defined.

* feat: Removes the resolution change application log.

* ref: Uses consistent naming for events' attributes.

Uses "_" as a separator instead of camel case or ".".

* ref: Don't add the user agent and conference name

as permanent properties. The library does this on its own now.

* ref: Adapts the GA handler to changes in lib-jitsi-meet.

* ref: Removes unused fields from the analytics handler initializaiton.

* ref: Renames the google analytics file and add docs.

* fix: Fixes the push-to-talk events and logs.

* npm: Updates lib-jitsi-meet to 515374c8d383cb17df8ed76427e6f0fb5ea6ff1e.

* fix: Fixes a recently introduced bug in the google analytics handler.

* ref: Uses "value" instead of "delay" since this is friendlier to GA.
2018-01-03 13:24:07 -08:00
android [Android] Add module that provides getWiFiStats 2017-12-19 11:07:11 +01:00
connection_optimization Updates config feature and whitelists options that can be overridden. (#2282) 2017-12-12 11:16:55 -08:00
css ref(toolbar): re-wrap buttons for torture tests 2017-12-26 16:08:40 -06:00
debian Cleanup, removes unused obsolete files. 2017-12-07 11:14:21 -06:00
doc Adds warning to manual-install doc. 2018-01-02 17:18:06 -06:00
flow-typed/npm Upgrade NPM dependencies/packages: react-native 0.50 2017-12-04 00:45:18 -06:00
fonts [RN] Add recent-list feature 2017-12-19 18:35:51 -06:00
images Remove obsolete file 2017-08-16 17:07:38 -05:00
ios [iOS] 1024x1024 AppIcon required by Apple 2017-12-20 12:38:11 -06:00
lang Commit from translate.jitsi.org by user ibauersachs.: 409 of 410 strings translated (0 fuzzy). 2017-12-29 15:21:18 +00:00
modules Restructures the analytics events (#2333) 2018-01-03 13:24:07 -08:00
react Restructures the analytics events (#2333) 2018-01-03 13:24:07 -08:00
resources On token verification failure return error, reason and stop processing. 2017-10-26 14:01:21 -05:00
service ref(settings): convert panel to react 2017-12-04 16:19:18 -06:00
sounds JWT client support 2016-06-13 16:11:44 -05:00
static fix(css): load css before js 2017-12-05 08:50:13 -06:00
.buckconfig Merge jitsi-meet-react's mobile support 2016-10-12 10:31:52 -05:00
.editorconfig The Makefile file format requires tab characters 2016-11-23 15:54:03 -06:00
.eslintignore flow-typed 2017-02-03 16:36:14 -06:00
.eslintrc.js use central jitsi eslint config (#2108) 2017-10-25 16:02:14 -07:00
.flowconfig Upgrade NPM dependencies/packages: react-native 0.50 2017-12-04 00:45:18 -06:00
.gitattributes react-native 0.40.0 2017-01-22 12:32:08 -06:00
.gitignore Upgrade NPM dependencies/packages: react-native 0.50 2017-12-04 00:45:18 -06:00
.watchmanconfig Merge jitsi-meet-react's mobile support 2016-10-12 10:31:52 -05:00
CONTRIBUTING.md Updates docs report issue part. 2017-05-15 10:57:31 -05:00
ConferenceEvents.js feat(eslint): Enable for non react files 2017-10-16 14:36:29 -05:00
LICENSE Moves original contribution note 2015-09-19 12:23:54 -05:00
Makefile Restructures the analytics events (#2333) 2018-01-03 13:24:07 -08:00
README.md doc: Adds a note on security (as suggested in #409). (#2322) 2017-12-26 10:49:46 -08:00
analytics-ga.js Restructures the analytics events (#2333) 2018-01-03 13:24:07 -08:00
app.js ref(css): move aui css to jitsi-meet 2017-12-05 08:50:13 -06:00
base.html add support for possible ssi of <base> attribute 2016-05-20 16:51:37 -05:00
conference.js Restructures the analytics events (#2333) 2018-01-03 13:24:07 -08:00
config.js Restructures the analytics events (#2333) 2018-01-03 13:24:07 -08:00
connection.js Coding style 2017-10-16 15:37:13 -05:00
favicon.ico Added favicon.ico for 1) better jitsi brand recognition and 2) getting rid of warnings in web server log files 2014-06-05 13:22:44 +03:00
index.android.js feat(web/RN): update React to v16 and React Native to 0.49 2017-11-02 14:32:35 +01:00
index.html fix(css): load css before js 2017-12-05 08:50:13 -06:00
index.ios.js feat(web/RN): update React to v16 and React Native to 0.49 2017-11-02 14:32:35 +01:00
interface_config.js Updates the unsupported mobile browser page. 2017-12-05 09:52:44 -06:00
logging_config.js feat(eslint): Enable for non react files 2017-10-16 14:36:29 -05:00
package-lock.json Restructures the analytics events (#2333) 2018-01-03 13:24:07 -08:00
package.json Restructures the analytics events (#2333) 2018-01-03 13:24:07 -08:00
plugin.head.html Adds empty SSI templates to avoid 404. 2015-03-31 11:17:26 +02:00
title.html Moves favicon into the title html. 2016-08-01 17:11:16 -05:00
webpack.config.js ref(css): move aui css to jitsi-meet 2017-12-05 08:50:13 -06:00

README.md

Jitsi Meet - Secure, Simple and Scalable Video Conferences

Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, secure and scalable video conferences. You can see Jitsi Meet in action here at the session #482 of the VoIP Users Conference.

You can also try it out yourself at https://meet.jit.si .

Jitsi Meet allows for very efficient collaboration. It allows users to stream their desktop or only some windows. It also supports shared document editing with Etherpad.

Installation

Installing Jitsi Meet is quite a simple experience. For Debian-based systems, we recommend following the quick-install document, which uses the package system.

For other systems, or if you wish to install all components manually, see the detailed manual installation instructions.

Download

You can download Debian/Ubuntu binaries:

You can download source archives (produced by make source-package):

You can get our mobile versions from here:

Building the sources

Node.js >= 6 is required.

On Debian/Ubuntu systems, the required packages can be installed with:

sudo apt-get install npm nodejs-legacy
cd jitsi-meet
npm install

To build the Jitsi Meet application, just type

make

Working with the library sources (lib-jitsi-meet)

By default the library is build from its git repository sources. The default dependency path in package.json is :

"lib-jitsi-meet": "jitsi/lib-jitsi-meet",

To work with local copy you must change the path to:

"lib-jitsi-meet": "file:///Users/name/local-lib-jitsi-meet-copy",

To make the project you must force it to take the sources as 'npm update' will not do it.

npm install lib-jitsi-meet --force && make

Or if you are making only changes to the library:

npm install lib-jitsi-meet --force && make deploy-lib-jitsi-meet

Alternative way is to use npm link. It allows to link lib-jitsi-meet dependency to local source in few steps:

cd lib-jitsi-meet

# create global symlink for lib-jitsi-meet package
npm link

cd ../jitsi-meet

# create symlink from the local node_modules folder to the global lib-jitsi-meet symlink
npm link lib-jitsi-meet

So now after changes in local lib-jitsi-meet repository you can rebuild it with npm run install and your jitsi-meet repository will use that modified library. Note: when using node version 4.x, the make file of jitsi-meet do npm update which will delete the link, no longer the case with version 6.x.

If you do not want to use local repository anymore you should run

cd jitsi-meet
npm unlink lib-jitsi-meet
npm install

Contributing

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

Embedding in external applications

Jitsi Meet provides a very flexible way of embedding it in external applications by using the Jitsi Meet API.

Security

WebRTC today does not provide a way of conducting multiparty conversations with end-to-end encryption. As a matter of fact, unless you consistently vocally compare DTLS fingerprints with your peers, the same goes for one-to-one calls. As a result when using a Jitsi Meet instance, your stream is encrypted on the network but decrypted on the machine that hosts the bridge.

The Jitsi Meet architecture allows you to deploy your own version, including all server components, and in that case your security guarantees will be roughly equivalent to these of a direct one-to-one WebRTC call. This is what's unique to Jitsi Meet in terms of security.

The meet.jit.si service is maintained by the Jitsi team at Atlassian.

Mobile app

Jitsi Meet is also available as a React Native app for Android and iOS. Instructions on how to build it can be found here.

Acknowledgements

Jitsi Meet started out as a sample conferencing application using Jitsi Videobridge. It was originally developed by then ESTOS' developer Philipp Hancke who then contributed it to the community where development continues with joint forces!