atyenoria / React Native Webrtc Janus Gateway
Video conference system for mobile application. Base technology is react-native-webrtc + Janus Webrtc Gateway
Stars: ✭ 164
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to React Native Webrtc Janus Gateway
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
Pikachu Volleyball P2p Online
Pikachu Volleyball peer-to-peer online via WebRTC data channels
Stars: ✭ 160 (-2.44%)
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
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
How it wokrs?
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
- Set up the janus with wss configured following by https://github.com/atyenoria/janus-webrtc-gateway-docker
- Change config.example.js to config.js and edit the content as you configured about Janus
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].