Go to file
virtuacoplenny d8cd3e75b4 feat(quality-slider): initial implementation (#1817)
* feat(quality-slider): initial implementation

- Add new menu button with an Inline Dialog slider for
  selecting received video quality.
- Place P2P status in redux store for the Inline Dialog
  to display a warning about not respecting video quality
  selection.
- Respond to data channel open events by setting receive
  video quality. This is for lonely call cases where a
  setting is set before the data channel is open.
- Remove dropdown menu from video status label and clean
  up related js and css.

* first pass at addressing feedback

- Move VideoStatusLabel to video-quality directory.
- Rename VideoStatusLabel to VideoQualityLabel.
- Open VideoQualitydialog from VideoQualityLabel.
- New CSS for making VideoQualityLabel display properly.
- Do not render VideoQualityLabel in filmstrip only instead of hiding with css.
- Remove tooltip from VideoQualityLabel.
- Show LD, SD, HD labels in VideoQualityLabel.
- Remove action SET_LARGE_VIDEO_HD_STATUS from conference.
- Create new action UPDATE_KNOWN_LARGE_VIDEO_RESOLUTION in large-video.
- Move VideoQualityButton into video-quality directory.
- General renaming (medium -> standard, menu -> dialog).
- Render P2P message between title and slider.
- Add padding to slider for displacement caused by P2P message's new placement.
- Fix display issue with VideoQualityButton displaying out of line in the
  primary toolbar.

* second pass at addressing feedback

- Fix p2p inline message color
- Force labels to break on words
- Resolve rebase issues, including only dispatching quality
  update on change. Before there was double calling of dispatch
  produced by an IE11 workaround. This breaks now when setting
  audio only mode to true twice.
- Rename some instances of quality to definition

* rename to data channel opened

* do not show p2p in audio only

* stop toggle audio only icon automatically

* remove fixme about toolbar button

* find closest resolution for label

* toggle dialog on button click

* redo last commit for both button and label
2017-08-09 14:40:03 -05:00
android [Android] Fix gradle and plugin versions with Android Studio 3.0 Canary 9 2017-08-08 14:48:43 -05:00
connection_optimization [RN] Support JSON Web Token (JWT) 2017-05-09 00:21:14 -05:00
css feat(quality-slider): initial implementation (#1817) 2017-08-09 14:40:03 -05:00
debian Installs required basexx when token package is installed. Fixes #1870. 2017-08-08 23:13:25 +03:00
doc doc(iframe_api): Fix the names of the properties in the options object. 2017-08-01 08:48:50 +03:00
flow-typed/npm Removes redux compose utility function 2017-06-05 13:31:38 -05:00
fonts Changes video thumbnail menu icon 2017-07-12 17:22:07 -05:00
images Adds dial-out UI. 2017-05-23 09:00:40 -05:00
ios [RN] Cache avatars and provide a default in case load fails 2017-08-03 13:45:41 -05:00
lang feat(quality-slider): initial implementation (#1817) 2017-08-09 14:40:03 -05:00
modules feat(quality-slider): initial implementation (#1817) 2017-08-09 14:40:03 -05:00
react feat(quality-slider): initial implementation (#1817) 2017-08-09 14:40:03 -05:00
resources Installs required basexx when token package is installed. Fixes #1870. 2017-08-08 23:13:25 +03:00
service feat: add config.startScreenSharing 2017-07-17 15:32:01 +02:00
sounds JWT client support 2016-06-13 16:11:44 -05:00
static fix(device_selection_popup): On Firefox 2017-06-13 14:08:50 -05: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 [flow] Take advantage of flow-typed 2017-02-03 16:36:14 -06:00
.flowconfig Uses languages.json to obtain supported languages. 2017-07-27 16:36:22 -05:00
.gitattributes react-native 0.40.0 2017-01-22 12:32:08 -06:00
.gitignore [RN] Add initial Jitsi Meet SDK for iOS 2017-06-08 00:50:00 -05:00
.jshintignore ref: module.exports -> export for the ES6 modules 2017-06-14 19:37:13 -05:00
.jshintrc use babel 2015-12-17 17:31:56 +02: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 fix(frame_api): toggle SS race condition 2017-04-11 12:19:28 -05:00
LICENSE Moves original contribution note 2015-09-19 12:23:54 -05:00
Makefile feat(device_selection): Implement popup 2017-06-07 09:23:40 -05:00
README.md misc: set supported Node version to >= 6 2017-07-10 17:45:25 -05:00
analytics.js feat(Analytics): Multiple analytics handlers support 2016-11-16 16:36:32 -06:00
app.js feat(notifications): implement a react/redux notification system (#1786) 2017-07-28 12:56:49 -05:00
base.html add support for possible ssi of <base> attribute 2016-05-20 16:51:37 -05:00
conference.js feat(quality-slider): initial implementation (#1817) 2017-08-09 14:40:03 -05:00
config.js feat: add config.startWithAudioMuted config.startWithVideoMuted 2017-07-28 12:06:42 -05:00
connection.js Add jwt module to react 2017-05-09 00:21:14 -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 Merge jitsi-meet-react's mobile support 2016-10-12 10:31:52 -05:00
index.html fix: Removes the inclusion of local.html. 2017-07-06 10:51:44 -05:00
index.ios.js Merge jitsi-meet-react's mobile support 2016-10-12 10:31:52 -05:00
interface_config.js feat(quality-slider): initial implementation (#1817) 2017-08-09 14:40:03 -05:00
logging_config.js log: CallStats log level 'info' 2017-04-11 13:11:20 -05:00
package.json [RN] Cache avatars and provide a default in case load fails 2017-08-03 13:45:41 -05: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 Simplify the source code 2017-06-16 12:06:59 -05: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, 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.

Mobile app

Jitsi Meet is also available as a React Native application 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!