webrtc.org

caniuse.com/#search=webrtc Oye provides real-time video, audio and textual communication between web browsers. Oye is not a service, it is a WebRTC server-client stack. You need a GNU/Linux host for Oye.

Oye establishes communication between two or more peers in a same "room". All clients need a compatible browser, no other software or plugin need to be installed. A url to the server along with an access code is sufficient to grant peers access to rooms.



A room shares a WebRTC session with connected clients. Session data streams can be configured to flow "peer-to-peer"; traffic can also be relayed through the server.

peer to peer broadcast - one to many chatroom - many to many

Oye is based on a fork of Licode. Licode upstream is a solid, active codebase. Oye fronts the web with Nginx and runs three Node.js processes on the server. Only the higher level control logic is JavaScript, core modules are written in C++. There are no proprietary components.



An automated install script for Debian GNU/Linux server stack is provided. Clone the repo and follow the readme.



Current stable releases of Firefox, Chrome/Chromium and Opera browsers on GNU/Linux, Windows and Mac OS X clients have built-in support.

Oye is cloud software but can operate also "off the grid" disconnected from the internet. The Oye system is self-contained; once installed, it does not require resources from the internet if all peers are within the same local network.



To connect with peers on the internet, a STUN server is needed for public ip discovery. Oye does not yet have this feature, and defaults to using a public GTalk server to lookup the ip on both the server and the clients.

Inter-process communication is arranged using RPC over unix sockets. Licode upstream uses AMQP for this purpose, but Oye drops this RabbitMQ dependency to reduce complexity. MongoDB persistence layer is also removed to empower Raspberry Pi host platforms. Therefore Oye doesn't scale with the default backend. (Licode upstream architecture is web-scale.)