• Stars
    star
    189
  • Rank 204,649 (Top 5 %)
  • Language
    JavaScript
  • Created about 8 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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?

More Repositories

1

janus-webrtc-gateway-docker

Perfect Docker Image for Media Streaming Expert User ( https://github.com/meetecho/janus-gateway )
Dockerfile
682
star
2

livekit-whisper-transcribe

Python
12
star
3

gin-websocket-mongo-mysql-client-jwt-redis

Jwt authentification is implemeted with gin using mysql, mongo,mysql or redis.
Go
10
star
4

MCU-Media-Server

clone repo https://sourceforge.net/p/mcumediaserver/code/HEAD/tree/ doc: https://github.com/atyenoria/MCU-Media-Server/blob/master/Installation%20and%20configuration%20guide.pdf
C++
10
star
5

janus-gateway-benchmark

🚧 performance investigation about janus gateway
Python
9
star
6

nuxt-janus-gateway

Minimal Working Demo for using Nuxt.js and Janus WebRTC Gateway
JavaScript
7
star
7

uv4l-webrtc-datachannel

test. for m2m realtime control
C++
6
star
8

recordRTC

JavaScript
4
star
9

develop-accelerator

🚧 Platform example for Laravel application . Scalability, fault tolerance, and maintainability are considered by using coreos, circle-ci, amazon-s3, consul, consul-template, registrator, mariadb-galera-cluster, digital ocean floating ip, redis-cluster, elasticsearch-fluentd-kibana, nginx.
Shell
4
star
10

machine-translation-experiment

Python
3
star
11

react-native-login-actioncable-chat-example

Chat example of action cable. Rails app is integrated in this example, so that management of user info is very easy.
JavaScript
3
star
12

iot_project

JavaScript
1
star
13

myclan

C/C++ support for my mac
C
1
star
14

laravel_blog

PHP
1
star
15

ffserver_express_nginx

1
star
16

ansible_laravel_ubuntu_test

PHP
1
star
17

swift_node_test

Swift
1
star
18

Packer-Ansible_DigitalOcean_Droplet_Build

Packer template for deploying Ansible-provisioned droplets on DigitalOcean.
1
star
19

server-client

just test
JavaScript
1
star
20

myruby

support for my mac
Ruby
1
star
21

docker_base

Shell
1
star
22

basic_setting

Shell
1
star
23

template_rails

browser-sync
Ruby
1
star
24

apache2

ApacheConf
1
star
25

reveal_test

1
star
26

php7-openresty-image

docker image for php7 and openresty
Shell
1
star
27

horitait

HTML
1
star
28

unicorn_test

test for redmine
Ruby
1
star
29

rsync-lsyncd

Shell
1
star
30

docker_drone

1
star
31

go-server-api

just test
Go
1
star
32

template_vagrant

Shell
1
star
33

docker_rails

dockerized application test
Ruby
1
star
34

material

HTML
1
star
35

bs

JavaScript
1
star
36

myshell

Shell
1
star
37

video-chat-go-react

test only. not production
JavaScript
1
star
38

ansible_rails_ubuntu_test

Python
1
star
39

gulp-react

HTML
1
star
40

pd-emitter

IoT Network Stack / Data transmission support daemon/tools.
Ruby
1
star
41

server-socket.io

Jwt authentification is implemeted with socket.io. Test client is also available.
JavaScript
1
star
42

digitalocean-useful-tool

Shell
1
star
43

react-native-swift-module-counter-example

Pure example of native swift module in react native. This demo is based on Counter(react-native redux). As of now(20160904), this repo works. So, if you get confused about official react native doc, use this. Reference(https://github.com/ModusCreateOrg/swift-modules-for-react-native)
Objective-C
1
star
44

tuto2

Ruby
1
star