Video conference system for mobile application. Base technology is react-native-webrtc + Janus Webrtc Gateway
Switch branches/tags
Nothing to show
Clone or download
Latest commit e965929 Mar 30, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
__tests__ init Nov 6, 2017
android [wip] rich ui Nov 19, 2017
ios work png Nov 19, 2017
src make src dir Nov 19, 2017
.babelrc init Nov 6, 2017
.buckconfig init Nov 6, 2017
.editorconfig Audio mute, Video mute, Unpublish and publish Nov 12, 2017
.flowconfig init Nov 6, 2017
.gitattributes init Nov 6, 2017
.gitignore janus host config Nov 6, 2017
.watchmanconfig init Nov 6, 2017
README.md android works Mar 30, 2018
app.json init Nov 6, 2017
config.example.js janus host config Nov 6, 2017
demo.png demo Nov 19, 2017
index.js make src dir Nov 19, 2017
package.json android works Mar 30, 2018
work.png work png Nov 19, 2017

README.md

Demo

demo

How it wokrs?

work

Application

Dependent Libaries

  • "react-native": "^0.50.3",
  • "react-native-webrtc": "^1.58.3"
  • "react-native-incall-manager": "^2.2.0"
  • "react-native-vector-icons": "^4.4.2"
  • "react-native-elements": "^0.18.2"
  • "react-native-tab-navigator": "^0.3.4"
  • "react-native-gifted-chat": "^0.3.0"

Functionality

  • Janus WebRTC Gateway Video Room Implementation
  • Mobile users can send teh audio and video msg to other paritciapnts up to 6 max (can configure in janus)
  • Friendly text chat

TODO

  • iOS works
  • Android works
  • Janus Plugin Demo: Video Room works ( https://janus.conf.meetecho.com/videoroomtest.html )
  • Local camera view
  • Remote view
  • Audio mute
  • Video mute
  • Audio Speaker
  • Unpublish and publish
  • Switch front and back camera with react-native-webrtc MediaStreamTrack.prototype._switchCamera()
  • End call
  • Problem: the delay of receving remote viedeos increases when recreating the webrtc session by unpublish/publish. Soulution: use janus.destroy() for republishing instead of unpublish and publish
  • Rerender teh remote video view if others join and leave continuously
  • Rerender my video view when publishing and unpublishing
  • Switching camera works after recreating the session
  • Connecting modal when creating session
  • Redux integration
  • Better handling the janus session by simple redux
  • Better restarting the the janus session by simple queue system
  • Text Chat Mock
  • Rich UI
  • Refactor index.js and janus.mobile.js
  • More Details about how to use this Documentation
  • PR to awesome-react-native ( https://github.com/jondot/awesome-react-native )
  • Other Janus Plugin(Audio bridge, Streaming, Sip, Video Call ... etc)

Setup for iOS and Android

Setup for iOS

  • Code Signing for building on real device
  • Change the node path for you env, Build Phases -> Bundle React Native code and images ("export NODE_BINARY=/Users/jima/.nodebrew/current/bin/node")
  • Build the iOS project in release or debug

Setup for Android

License

  • MIT

Contributor

  • @atyenoria

Any request and bug repoting?

  • Could you create a new issue?