Go to file
Saúl Ibarra Corretgé ddea60efe9 [RN] Add initial Jitsi Meet SDK for Android
Dames en heren, welcome to Jitsi Meet SDK for Android, the Jitsi Meet library
for Android.

The Jitsi Meet SDK encapsulates React Native and all the dependencies Jitsi
Meet has so other aopplications can integrate it easily.

Unlike iOS, creating "fat" libraries is not allways (if at all) possible on
Android, however, effort was put into making the integration as easy as
possible.

While React Native can be embedded in native applications, I don't think it was
designed to be embedded as part of an Android library, hidden away from the
application using it. This surfaced as a number of issues which had to be
addressed specifically due to our use-case:

- Activity lifecycle methods must be linked with the React Native engine, so the
  library provides wrapper methods.
- Custom fonts have to be manually added as assets, since the provided gradle
  script doesn't work properly in a library target.
- The RN packager has to be manually triggered since the gradle script will no
  longer do it for us.

At this stage, the Jitsi Meet application is just a small single activity
application which uses the Jitsi Meet SDK to create a single activity which
represents the entire application. Events and external conference handling are
forthcoming.

PS: Yours truly would like to add that it was a lot more fun to work on the iOS
side of things.
2017-06-09 00:03:23 -05:00
android [RN] Add initial Jitsi Meet SDK for Android 2017-06-09 00:03:23 -05:00
connection_optimization [RN] Support JSON Web Token (JWT) 2017-05-09 00:21:14 -05:00
css fix(popover): z-index should be greater than toasts 2017-06-08 09:37:40 -05:00
debian Fixes crashing jwt util for anonymous domains. 2017-05-16 08:21:46 -05:00
doc Updates quick-install with mention of jvb behind nat and link to config. 2017-05-16 16:26:47 -05:00
flow-typed/npm Removes redux compose utility function 2017-06-05 13:31:38 -05:00
fonts font(jitsi): add ninja icon 2017-06-06 11:13:02 -05:00
images Adds dial-out UI. 2017-05-23 09:00:40 -05:00
ios [RN] Simplify signing embedded iOS frameworks 2017-06-08 01:13:12 -05:00
lang Move ConferenceUrl.inviteURL into React and redux 2017-06-01 21:04:31 -05:00
modules fix(video): use onplaying to ensure video height and width are set 2017-06-07 10:44:05 -05:00
react [RN] Fix regression handling ToolbarButton onPress 2017-06-08 09:36:58 -05:00
resources Fixes using public key to verify tokens. 2017-05-25 16:45:08 -05:00
service fix(vertical-filmstrip): move video status labels back to top right 2017-05-23 13:28:27 -07:00
sounds JWT client support 2016-06-13 16:11:44 -05:00
static feat(device_selection): Implement popup 2017-06-07 09:23:40 -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 Remote control - display the authorization dialog in meet (#1541) 2017-05-03 18:57:52 -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 Remote control - display the authorization dialog in meet (#1541) 2017-05-03 18:57:52 -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 Adds download source archive link to the README. 2017-05-22 11:28:04 -05:00
analytics.js feat(Analytics): Multiple analytics handlers support 2016-11-16 16:36:32 -06:00
app.js Fix the initialization of the (external) API 2017-05-30 09:38:18 -05:00
base.html add support for possible ssi of <base> attribute 2016-05-20 16:51:37 -05:00
conference.js fix(conference): ensure avatar url and email changes act on strings 2017-06-07 13:25:24 -05:00
config.js config: enable P2P by default 2017-05-26 12:59:24 -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 include local.html file meant to define local analytics properties (#1612) 2017-05-30 13:37:43 -05:00
index.ios.js Merge jitsi-meet-react's mobile support 2016-10-12 10:31:52 -05:00
interface_config.js fix(deviceselectionpopup): the name and position of device selection button for film strip only mode 2017-06-08 21:46:58 -05:00
local.html include local.html file meant to define local analytics properties (#1612) 2017-05-30 13:37:43 -05:00
logging_config.js log: CallStats log level 'info' 2017-04-11 13:11:20 -05:00
package.json Updates field-text dependency version and add autofocus prop. 2017-06-07 17:06:48 -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 feat(device_selection): Implement popup 2017-06-07 09:23:40 -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

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!