Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/atyenoria/react-native-webrtc-janus-gateway
Video conference system for mobile application. Base technology is react-native-webrtc + Janus Webrtc Gateway
https://github.com/atyenoria/react-native-webrtc-janus-gateway
andorid ios janus-gateway react react-natvie webrtc
Last synced: about 2 months ago
JSON representation
Video conference system for mobile application. Base technology is react-native-webrtc + Janus Webrtc Gateway
- Host: GitHub
- URL: https://github.com/atyenoria/react-native-webrtc-janus-gateway
- Owner: atyenoria
- Created: 2016-09-16T18:31:43.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-03-30T13:51:23.000Z (almost 7 years ago)
- Last Synced: 2024-12-15T17:53:44.953Z (about 2 months ago)
- Topics: andorid, ios, janus-gateway, react, react-natvie, webrtc
- Language: JavaScript
- Homepage: https://github.com/atyenoria/react-native-janus-gateway-webrtc-video-chat
- Size: 1.72 MB
- Stars: 195
- Watchers: 13
- Forks: 76
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Demo
![demo](https://github.com/atyenoria/react-native-webrtc-video-chat/blob/master/demo.png "demo")# How it wokrs?
![work](https://github.com/atyenoria/react-native-webrtc-video-chat/blob/master/work.png "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
- 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
- @atyenoria# Any request and bug repoting?
- Could you create a new issue?