All Projects → amirsanni → Video Call App

amirsanni / Video Call App

A text, audio and video chat application built with webRTC and Ratchet (PHP WebSocket)

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Video Call App

Wt Tracker
High-performance WebTorrent tracker
Stars: ✭ 144 (-10.56%)
Mutual labels:  webrtc
Pychat
webchat via WebSockets/WebRTC that allows messaging/video call/screen sharing
Stars: ✭ 152 (-5.59%)
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 (-1.86%)
Mutual labels:  webrtc
Swiftywebrtc
Swift Framework for WebRTC
Stars: ✭ 147 (-8.7%)
Mutual labels:  webrtc
Opentok Node
OpenTok Server SDK for node.js
Stars: ✭ 152 (-5.59%)
Mutual labels:  webrtc
Ovmeet
MCU融屏、H5手机直播、H5视频教学、视频会议、H5视频直播、WebRtc、RTMP、SIP、RTSP、白板、视频录制、视频通话、旁路直播
Stars: ✭ 154 (-4.35%)
Mutual labels:  webrtc
Nile.js
Server
Stars: ✭ 1,757 (+991.3%)
Mutual labels:  webrtc
Workerman Webrtc
php webrtc demo based on workerman
Stars: ✭ 161 (+0%)
Mutual labels:  webrtc
Meshenger Android
P2P Audio/Video calls over local networks. No server or Internet access needed.
Stars: ✭ 152 (-5.59%)
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 (-1.86%)
Mutual labels:  webrtc
Tfobjwebrtc
Tensorflow Object Detection API Web Service wrapper that works on any <video> tag and WebRTC streams
Stars: ✭ 149 (-7.45%)
Mutual labels:  webrtc
Rn Webrtc Arkit Integration
Capturing ARKit scene (Like `react-native-arkit`) into WebRTC video stream
Stars: ✭ 152 (-5.59%)
Mutual labels:  webrtc
Kalm.js
The socket manager
Stars: ✭ 155 (-3.73%)
Mutual labels:  webrtc
Srs
SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT and GB28181.
Stars: ✭ 16,734 (+10293.79%)
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 (-1.24%)
Mutual labels:  webrtc
Littlechat
A peer-to-peer video chat application made using Phoenix, LiveView, and WebRTC. Want to know how it's made? Read the blog post: https://littlelines.com/blog/2020/07/06/building-a-video-chat-app-in-phoenix-liveview
Stars: ✭ 144 (-10.56%)
Mutual labels:  webrtc
Webrtc Qr
WebRTC Connect Experiment - https://aquigorka.com/webrtc-qr/
Stars: ✭ 154 (-4.35%)
Mutual labels:  webrtc
Webrtc
Video chat App with WebRTC using Scaledrone Realtime Messaging Service
Stars: ✭ 161 (+0%)
Mutual labels:  webrtc
Pikachu Volleyball P2p Online
Pikachu Volleyball peer-to-peer online via WebRTC data channels
Stars: ✭ 160 (-0.62%)
Mutual labels:  webrtc
Udonarium
WebRTCを使ってブラウザ間通信を行うオンセツール
Stars: ✭ 157 (-2.48%)
Mutual labels:  webrtc

Video Call App

A one-to-one text, audio and video chat application built with WebRTC and RatchetPHP.

Requirements

  • PHP >= 5.4
  • Composer

Features

  • Video call
  • Audio call
  • Recording
  • Text chat
  • Two participants only

If you require more than two participants, check out this and this.

Getting Started

To test this app on your local server:

  • Run composer install from the root directory to install dependencies.
  • Set your app root (base url) in /js/config.js.
  • Open /ws/bin/server.php and add your domain name and/or ip address to $allowed_origins array, then replace the localhost and PORT in $app = new Ratchet\App('localhost', PORT, '0.0.0.0'); with either your domain name or ip address and Port number respectively.
  • Set your web socket url in /js/config.js. Ensure the domain name and port matches what you set above. Use wss for secured connection.
  • Start Ratchet server by executing php ws/bin/server.php from your CLI.
  • Blam! Good to go. Open the app on two different devices to start chatting.
  • Works best on Chrome, Firefox and the latest versions of Opera desktop browser.
  • Xirsys' free STUN/TURN servers were used. If interested, you can get a free xirsys account, rename Server.example.php to Server.php and update it with your free credentials. Alternatively, you can use any STUN/TURN of your choice.

Note

To host this online, you'll need to set up a few things:

  • Create Ratchet as a service so it can run persistently on your server. Check the file create-ratchet-as-a-service-with-daemon.txt for the guide on how to do this on linux servers.

  • If on SSL, Ratchet won't work unless you make some changes on your server.

    • Enable mod_proxy.so

    • Enable mod_proxy_wstunnel.so

    • Open your apache SSL config file and add this: ProxyPass /wss-secured/ ws://WEB_SOCKET_DOMAIN:WEB_SOCKET_PORT/

      e.g. ProxyPass /wss-secured/ ws://www.abc.xyz:PORT/

      Note that you can substitute the wss-secured above with any path of your choice but you have to use the same path while connecting from the front-end as shown below.

    • Update your web socket url in /js/config.js:

      const wsUrl = 'wss://YOUR_WEB_SOCKET_DOMAIN/wss-secured';

  • Please note that most browsers will not allow access to media devices except the application is running on SSL or localhost (127.0.0.1).

Demo

You can test at https://1410inc.xyz/video-call-app.

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].