All Projects → atyenoria → React Native Webrtc Janus Gateway

atyenoria / React Native Webrtc Janus Gateway

Video conference system for mobile application. Base technology is react-native-webrtc + Janus Webrtc Gateway

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to React Native Webrtc Janus Gateway

Opentok Node
OpenTok Server SDK for node.js
Stars: ✭ 152 (-7.32%)
Mutual labels:  webrtc
Nextrtc Signaling Server
NextRTC is simple WebRTC signaling server written in java. It provides signal exchange and easy to integrate API
Stars: ✭ 158 (-3.66%)
Mutual labels:  webrtc
Opentok React Native
OpenTok React Native - a library for OpenTok iOS and Android SDKs
Stars: ✭ 161 (-1.83%)
Mutual labels:  webrtc
Pychat
webchat via WebSockets/WebRTC that allows messaging/video call/screen sharing
Stars: ✭ 152 (-7.32%)
Mutual labels:  webrtc
Udonarium
WebRTCを使ってブラウザ間通信を行うオンセツール
Stars: ✭ 157 (-4.27%)
Mutual labels:  webrtc
Pikachu Volleyball P2p Online
Pikachu Volleyball peer-to-peer online via WebRTC data channels
Stars: ✭ 160 (-2.44%)
Mutual labels:  webrtc
0x Mesh
A peer-to-peer network for sharing 0x orders
Stars: ✭ 149 (-9.15%)
Mutual labels:  webrtc
Spitfire
An easy to use WebRTC Datachannels library for .NET applications.
Stars: ✭ 164 (+0%)
Mutual labels:  webrtc
P2p Cdn Sdk Javascript
Free p2p cdn github javascript sdk to reduce video streaming costs of live and on demand video using webrtc by upto 90% and improve scalability by 6x - 🚀 Vadootv 🚀
Stars: ✭ 158 (-3.66%)
Mutual labels:  webrtc
Video Call App
A text, audio and video chat application built with webRTC and Ratchet (PHP WebSocket)
Stars: ✭ 161 (-1.83%)
Mutual labels:  webrtc
Webrtc Qr
WebRTC Connect Experiment - https://aquigorka.com/webrtc-qr/
Stars: ✭ 154 (-6.1%)
Mutual labels:  webrtc
Kalm.js
The socket manager
Stars: ✭ 155 (-5.49%)
Mutual labels:  webrtc
Workerman Webrtc
php webrtc demo based on workerman
Stars: ✭ 161 (-1.83%)
Mutual labels:  webrtc
Meshenger Android
P2P Audio/Video calls over local networks. No server or Internet access needed.
Stars: ✭ 152 (-7.32%)
Mutual labels:  webrtc
Roomler
Roomler - Multi-party Video Conferencing & Team Collaboration Tool using WebRTC (Janus Gateway)
Stars: ✭ 160 (-2.44%)
Mutual labels:  webrtc
Rn Webrtc Arkit Integration
Capturing ARKit scene (Like `react-native-arkit`) into WebRTC video stream
Stars: ✭ 152 (-7.32%)
Mutual labels:  webrtc
P2pt
Simple WebRTC Peer 2 Peer connections using WebTorrent trackers as the signalling server. Use WebTorrent trackers for any kind of WebRTC app ! 🔥 Make WebRTC apps fast & easy ! 🚀⭐
Stars: ✭ 159 (-3.05%)
Mutual labels:  webrtc
Sfu
A future proof, experimental WebRTC VP9 SVC SFU wit end to end encryption support
Stars: ✭ 163 (-0.61%)
Mutual labels:  webrtc
Trango Self Hosted
Host trango and communicate with those around you without the internet!
Stars: ✭ 164 (+0%)
Mutual labels:  webrtc
Webrtc
Video chat App with WebRTC using Scaledrone Realtime Messaging Service
Stars: ✭ 161 (-1.83%)
Mutual labels:  webrtc

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

  • [x] iOS works
  • [x] Android works
  • [x] Janus Plugin Demo: Video Room works ( https://janus.conf.meetecho.com/videoroomtest.html )
  • [x] Local camera view
  • [x] Remote view
  • [x] Audio mute
  • [x] Video mute
  • [x] Audio Speaker
  • [x] Unpublish and publish
  • [x] Switch front and back camera with react-native-webrtc MediaStreamTrack.prototype._switchCamera()
  • [x] End call
  • [x] 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
  • [x] Rerender teh remote video view if others join and leave continuously
  • [x] Rerender my video view when publishing and unpublishing
  • [x] Switching camera works after recreating the session
  • [x] Connecting modal when creating session
  • [x] Redux integration
  • [ ] Better handling the janus session by simple redux
  • [ ] Better restarting the the janus session by simple queue system
  • [x] 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

Any request and bug repoting?

  • Could you create a new issue?
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].