Hyperpeer
A simple but powerful solution for implementing real-time peer-to-peer multimedia communication between browsers, desktops and the cloud.
Contact
Challenge
Real-time exchange of multimedia flows is fundamental for web and cloud applications that involve the interaction of users with remote agents for receiving support, advice, personalized experience, or mundane social interplay. Nowadays the best technologies for providing such capability between browser-based pieces of software are those packed together by the name of Web Real-Time Communication (WebRTC). However, while WebRTC provides a powerful API that allow web developers not to worry about handling complex video/audio processing algorithms and network protocols, it still expose a fair amount of complexity, it doesn’t provide a solution for exchanging the initial connection negotiation data between peers (a process known as signaling), and though currently supported in most modern browsers and mobile OS, it’s not supported (natively) by desktop/server operating systems.
There are some open-source libraries that simplify the WebRTC API and some others that include a signaling solution but all of them are focused on the browser, leaving out a desktop/server support that allows to build applications that not only involve human user behind browsers or mobile devices but also artificial intelligence agents running on servers, workstations or cloud environments.
Overview
Hyperpeer is a collection of libraries that provides a simple but powerful WebRTC-based solution for implementing real-time peer-to-peer multimedia communication between applications running on browsers, desktop operating systems, or cloud environments.
The Hyperpeer solution is composed of three different modules that wrap and simplify the complexity of the WebRTC API and its signaling exchange. Those modules are:
- hyperpeer-node: Node.js module for implementing the "signaling server", that is, the server to which all the peers connect in order to know about the availability of the other peers and to exchange WebRTC signaling data between peers until a peer-to-peer connection is established;
- hyperpeer-js: Javascript module for implementing browser peers;
- hyperpeer-py: Python module for implementing desktop and cloud peers.
Innovative features
- Solution based on the WebRTC standard that allows multimedia exchange directly in the browser without plugins;
- It allows the integration of real-time computer vision algorithms running in workstations, servers, or in the cloud with web applications;
- Safe, real-time streaming of video, audio and data with latencies of the order of 200ms.
Potential users
Developers and providers of:
- Telemedicine systems
- Teleconsultation and telepresence systems
- Augmented reality applications
- Personalized applications
- Telemonitoring and video surveillance systems
Impact sectors
Biomedical services, security, smart environments, marketing, entertainment.