All Projects → palavatv → palava-machine

palavatv / palava-machine

Licence: AGPL-3.0 license
WebRTC signaling done in Ruby

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to palava-machine

conference
A WebRTC signaling server with support of MQTT and WebSocket as transport protocols, token based authentication (JSON Web Token) and external policy based authorization.
Stars: ✭ 27 (-73.53%)
Mutual labels:  webrtc-signaling
agora-react-native-rtm
React Native around the Agora RTM SDKs for Android and iOS agora
Stars: ✭ 55 (-46.08%)
Mutual labels:  signaling
palava-client
Signaling client for WebRTC video-/audio conferencing using the palava protocol
Stars: ✭ 61 (-40.2%)
Mutual labels:  palava
webrtc-signal-http
opinionated webrtc signal provider using http as a protocol
Stars: ✭ 21 (-79.41%)
Mutual labels:  webrtc-signaling
trystero
🤝 Serverless WebRTC matchmaking for painless P2P — Make any site multiplayer in a few lines — Use BitTorrent, IPFS, or Firebase
Stars: ✭ 512 (+401.96%)
Mutual labels:  signaling
Peerjs Server
Server for PeerJS
Stars: ✭ 3,313 (+3148.04%)
Mutual labels:  signaling
sdp
A Go implementation of the SDP
Stars: ✭ 89 (-12.75%)
Mutual labels:  signaling
go-tcap
TCAP implementation in Golang.
Stars: ✭ 16 (-84.31%)
Mutual labels:  signaling
Wave Share
Serverless, peer-to-peer, local file sharing through sound
Stars: ✭ 1,641 (+1508.82%)
Mutual labels:  webrtc-signaling
webrtc-hotwire-rails
A video chat app demonstration using Hotwire and Ruby on Rails
Stars: ✭ 38 (-62.75%)
Mutual labels:  webrtc-signaling
singo
Simple WebRTC Signaling Server written in Go
Stars: ✭ 57 (-44.12%)
Mutual labels:  webrtc-signaling

palava | machine [version] [ci]

palava.tv is a cost-free, simple to use, secure, and open source platform for video calls, built on top of the WebRTC technology.

This repository contains an alternative implementation of the palava.tv signaling backend. There is an overview of all parts of palava.tv at palavatv/palava.

Descripiton

PalavaMachine is a WebRTC signaling server. Signaling describes the process of finding other peers and exchange information about how to establish a media connection. It works together with the palava-client.

The server is implemented in EventMachine and Redis PubSub and communication to the clients is done via WebSockets.

This application is currently not part of the palava.tv stack

It was replaced by the Elixir-based signaltower, which uses the same protocol. Although this project is currently not actively worked on, it still functions as a drop-in replacement for the SignalTower and might also be developed further at some point.

Installation & Usage

Make sure you have redis(https://redis.io/download) installed, then install the palava_machine gem:

$ gem install palava_machine

To start the server on port 4233, run:

$ palava-machine

Daemonized Version

The PalavaMachine can be started as a daemon process for production usage:

$ palava-machine-daemon start

Stop it with

$ palava-machine-daemon stop

Configure using Environment Variables

You can set the address of the redis server via environment variable. The default is 'localhost:6379'.

$ export PALAVA_REDIS="some_ip:some_port"
$ bin/palava-machine

Specs

To run the test suite use

$ rspec

Credits

AGPLv3. Part of the palava project.

Copyright (C) 2014-2020 palava e. V.  [email protected]

Copyright (C) 2013 Jan Lelis          [email protected]
Copyright (C) 2013 Marius Melzer      [email protected]
Copyright (C) 2013 Stephan Thamm      [email protected]
Copyright (C) 2013 Kilian Ulbrich     [email protected]

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public
License along with this program. If not, see
<http://www.gnu.org/licenses/>.
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].