All Projects → aryaminus → Rn Voice Video Call

aryaminus / Rn Voice Video Call

Licence: mit
Usage of WebRTC for voice & video call with peer-to-peer or conference with Login and Register screen using response & Async storage with Call Dis/Connect, Failed and Idle views in react native. Youtube:

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Rn Voice Video Call

Decentralized Video Chat
🚀 Zipcall- Acquired @ 250k users 🚀 Peer to peer browser video calling platform with unmatched video quality and latency.
Stars: ✭ 3,284 (+3184%)
Mutual labels:  webrtc, peer-to-peer
Briefing
Secure direct video group chat
Stars: ✭ 710 (+610%)
Mutual labels:  call, webrtc
Libdatachannel
C/C++ WebRTC Data Channels and Media Transport standalone library
Stars: ✭ 336 (+236%)
Mutual labels:  webrtc, peer-to-peer
Nextcloud Spreed Signaling
Standalone signaling server for Nextcloud Talk.
Stars: ✭ 201 (+101%)
Mutual labels:  call, webrtc
Hyperhost
P2P Node Servers in the Browser
Stars: ✭ 46 (-54%)
Mutual labels:  webrtc, peer-to-peer
peerjs-python
Python port of PeerJS client
Stars: ✭ 56 (-44%)
Mutual labels:  webrtc, peer-to-peer
Gfile
Direct file transfer over WebRTC
Stars: ✭ 598 (+498%)
Mutual labels:  webrtc, peer-to-peer
Pikachu Volleyball P2p Online
Pikachu Volleyball peer-to-peer online via WebRTC data channels
Stars: ✭ 160 (+60%)
Mutual labels:  webrtc, peer-to-peer
Spreed
📞😀 Nextcloud Talk – chat, video & audio calls for Nextcloud
Stars: ✭ 994 (+894%)
Mutual labels:  call, webrtc
Peer Calls
Group peer to peer video calls for everyone written in Go and TypeScript
Stars: ✭ 837 (+737%)
Mutual labels:  webrtc, peer-to-peer
Peer To Peer Cue System
Cue system for simple two-way communication and visual signaling using a PeerJS peer-to-peer connection.
Stars: ✭ 190 (+90%)
Mutual labels:  webrtc, peer-to-peer
Laplace
Laplace is an open-source project to enable screen sharing directly via browser. Based on WebRTC for low latency peer-to-peer connections, and WebSocket implemented in golang for signaling.
Stars: ✭ 81 (-19%)
Mutual labels:  webrtc, peer-to-peer
Video Meeting
Google Meet / Zoom clone in a few lines of code
Stars: ✭ 187 (+87%)
Mutual labels:  webrtc, peer-to-peer
Oorja
[archived] effortless video-voice chat with realtime collaborative features. extensible using react components 🙌
Stars: ✭ 270 (+170%)
Mutual labels:  webrtc, peer-to-peer
Trango Self Hosted
Host trango and communicate with those around you without the internet!
Stars: ✭ 164 (+64%)
Mutual labels:  webrtc, peer-to-peer
Sharedrop
Easy P2P file transfer powered by WebRTC - inspired by Apple AirDrop
Stars: ✭ 5,222 (+5122%)
Mutual labels:  webrtc, peer-to-peer
Wt Tracker
High-performance WebTorrent tracker
Stars: ✭ 144 (+44%)
Mutual labels:  webrtc, peer-to-peer
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 (+58%)
Mutual labels:  webrtc, peer-to-peer
Uproxy P2p
Internet without borders
Stars: ✭ 798 (+698%)
Mutual labels:  webrtc, peer-to-peer
Camus
Peer-to-peer group video chat using WebRTC, Python, and Javascript
Stars: ✭ 75 (-25%)
Mutual labels:  webrtc, peer-to-peer

RNVideoVoiceCall

RNVideoVoiceCall is the 4th session build for showing the implementation of Signin and Signup screen to login or create user for voice call along with video call for both peer to peer or conference using Voximplant for react native.

In this main branch, we will be focusing on UserSide branch from which certain properties to be upgraded which can be referred here:

https://github.com/aryaminus/RN-voice-video-call/tree/UserView

RNVideoVoiceCall demo

The main GUI is working as expected where the user after logging in is given a text field to enter the caller user id with toogle option to Peer-to-peer and Video toogle which when true shows the Remote View and Self View. On pressing Call icon the receiver get option to accept or reject the call and then on accept the user and receiver is shown option to toogle speaker, video, mute, keypad & hang-up. On Call fail and reject, alert is shown to the user.

The Backend part can be refered here:

https://github.com/aryaminus/RN-voice-video-call/tree/HttpApiSetup

RNVideoVoiceCall demo

Todos

  • [ ] Fullscreen RemoteView for VideoCall
  • [ ] Integrating Messaging and other Delegate Protocol
  • [ ] Hiding the main account credentials in Register.js
  • [ ] Navigation to Boiler only after the SDK Login is complete from server

PRs are always welcome

Note:

  1. The response's JSON maybe required to be stringified, so make sure you use it when formatting
  2. As the react-native-voximplant package sends responses as the state of the account is changed, we use DeviceEventEmitter for listening and changing certain variables
  3. The icons are setup as createIconSet, you can change it by change the FontFamily in android/app/src/main/assets/fonts and custom.ttf
  4. Further layout can be changed within Stylesheet if your device is not rendering the view properly

Next, we store the login values or the new user create values locally using Async Storage and then use it next time the user opens the app so that s/he does not have to login each time the app is opened.

We will be using HTTPAPI of Voximplant.

Note:

  1. Arch Linux with VS-Code, thus support focused on Android App
  2. Extensions: React Native Tools , React-Native Snippets , Prettier
  3. Device run instead of SDK-build using Vysor
  4. Remove/Add Comment of the required system in Register.js : Create new Application and fetch application_id and assign user to it or assign user to all applications. Default is assign all where you may once create and fetch app_id and then put the app_id in place of all. Refer to Video Session

Installation

Clone the source locally:

$ git clone https://github.com/aryaminus/RN-voice-video-call/
$ cd RN-voice-video-call

Start the application in development mode

npm install
react-native link
react-native run-android

or for VS-Code:

npm install
react-native link

then press F1 or Fn+F1 and React Native:Run Android on Device

Else Follow Code.txt and Youtube

Packages:

  1. react-navigation
  2. react-native-voximplant
  3. react-native-loading-spinner-overlay
  4. react-native-vector-icons
  5. react-native-button
  6. react-addons-update

Additional Links:

  1. VoxImplantDelegate
  2. HTTP API
  3. Control Panel
  4. Voximplant official demo app

Installation

Follow Code.txt, Manual.md and UserViewWorking.png and ServerWorking.png(inside /app/images)

Working demo

Contributing

  1. Fork it (https://github.com/aryaminus/RN-voice-video-call/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request
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].