electron-webrtc - ⚛ Use WebRTC in Node.js via a hidden Electron process

  •        239

WebRTC is a powerful web API that lets browsers make peer-to-peer connections, and has already been deployed in many popular browsers. It may sometimes be useful to let Node.js programs use WebRTC, e.g. in webtorrent-hybrid. However, the modules for WebRTC in Node (node-webrtc and node-rtc-peer-connection) are either hard to install, broken, or incomplete.As a hack, this module talks to an invisible Electron instance in the background (using electron-eval) to use Chromium's built-in WebRTC implementation.

https://github.com/mappum/electron-webrtc#readme

Dependencies:

debug : ^2.2.0
electron-eval : ^0.9.0
get-browser-rtc : ^1.0.2
hat : ^0.0.3

Tags
Implementation
License
Platform

   




Related Projects

webtorrent-hybrid - WebTorrent (with WebRTC support in Node.js)

  •    Javascript

In node.js, the webtorrent package only connects to normal TCP/UDP peers, not WebRTC peers. If you want to connect to all types of peers, including WebRTC peers, from node.js, you need to use this package (webtorrent-hybrid). Previous versions (0.x) of this package used wrtc, a WebRTC implementation via native extensions, the current one is based on electron-webrtc (which in turn uses electron-prebuilt) for better compatibility. It creates a hidden Electron process (which is based on Chromium, so WebRTC support is great!) and communicates with that process to enable WebRTC in Node.js. This adds a lot of overhead, so we are looking forward to using a pure JavaScript implementation, like perhaps Node-RTCPeerConnection when it's ready.

glipchat - video chatroom using meteor + webrtc + react + redux

  •    Javascript

glipchat is a real-time video chatroom application. glipchat is powered by Meteor, with React + Redux + WebRTC on the frontend. Other browsers and operating systems may not support WebRTC.

screencat - :cat2: webrtc screensharing electron app for mac os (Alpha)

  •    CSS

ScreenCat is named after cats, but also for the idea of 'catting' a screen (as in unix cat). It has two C/C++ dependencies, Electron (which includes node.js) and robotjs for creating mouse + keyboard events.To download the latest build visit the releases page. Builds for your OS may not be available and you may have to build it yourself, sorry.

webtorrent-desktop - ❤️ Streaming torrent app for Mac, Windows, and Linux

  •    Javascript

Download specific installer files from the GitHub releases page. Try the (unstable) development version by cloning the Git repository. See the "How to Contribute" instructions.

webrtc-sdk - WebRTC Simple Calling API + Mobile SDK - A simplified approach to RTCPeerConnection for mobile and web video calling apps

  •    Javascript

WebRTC SDK Upgraded! ES6, new camera control and 100x less code than v1. At PubNub we believe simplicity is essential for our SDK usability. We've taken a simplified approach to WebRTC Peer Connections by creating and easy-to-use SDK for developers. The ideas of simplicity should span all platforms and devices too and that's why we also support Android WebRTC mobile calling with compatibility for iOS native Objective-C based WebRTC SDK. This simple developer WebRTC SDK is powered by PubNub Data Stream Network.


webrtc - A reference gradle project that let you explore WebRTC Android in Android Studio.

  •    C++

WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose. Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.

webrtc - A pure Golang implementation of the WebRTC Native API

  •    Go

See DESIGN.md for an overview of features and future goals. Check out the example applications to help you along your Pion WebRTC journey.

spreed-webrtc - WebRTC audio/video call and conferencing server.

  •    Javascript

Spreed WebRTC implements a WebRTC audio/video call and conferencing server and web client. The latest source of Spreed WebRTC can be found on GitHub. If you are a user, just wanting a secure and private alternative for online communication make sure to check out the Spreedbox, providing a ready to use hardware with Spreed WebRTC included.

electron-prebuilt - 🎂 Retired project. See README

  •    Javascript

This project has been merged into the electron/electron repository, and the electron module is now published to npm as part of the Electron release process. If you're having trouble installing or using Electron, please file an issue on the electron/electron repo.

electron-vue - An Electron & Vue

  •    Javascript

The boilerplate for making electron applications built with vue (pretty much what it sounds like). The aim of this project is to remove the need of manually setting up electron apps using vue. electron-vue takes advantage of vue-cli for scaffolding, webpack with vue-loader, electron-packager or electron-builder, and some of the most used plugins like vue-router, vuex, and so much more.

vue-cli-plugin-electron-builder - A Vue Cli 3 plugin for Electron with no required configuration

  •    Javascript

A Vue Cli 3 plugin for Electron with no required configuration that uses Electron Builder. IMPORTANT: These docs are for the v1.0.0-beta release of VCP Electron Builder. If you were previously using an older version of vue-cli-plugin-electron-builder (<1.0.0), please see the upgrade guide or view the old docs.

electron-forge - A complete tool for creating, publishing, and installing modern Electron applications

  •    TypeScript

A complete tool for building modern Electron applications. Electron Forge unifies the existing (and well maintained) build tools for Electron development into a simple, easy to use package so that anyone can jump right in to Electron development.

electron-packager - Customize and package your Electron app with OS-specific bundles (

  •    Javascript

Package your Electron app into OS-specific bundles (.app, .exe, etc.) via JavaScript or the command line. Electron Packager is a command line tool and Node.js library that bundles Electron-based application source code with a renamed Electron executable and supporting files into folders ready for distribution.

serverless-webrtc - A demo of using WebRTC with no signaling server.

  •    Javascript

This is a tech demo of using WebRTC without a signaling server -- the WebRTC offer/answer exchange is performed manually by the users, for example via IM. This means that the app can run out of file:/// directly, without involving a web server. You can send text messages and files between peers.Chat is fully interoperable between all of the above (Node, Chrome, Firefox) in any combination (tested with Chrome 35 and Firefox 29).

webrtc-streamer - WebRTC streamer for V4L2 capture devices and RTSP sources

  •    C++

This is a try to stream video sources through WebRTC using simple mechanism. It embeds a HTTP server that implements API and serve a simple HTML page that use them through AJAX.

wave-share - Serverless, peer-to-peer, local file sharing through sound

  •    C++

A proof-of-concept for WebRTC signaling using sound. Works with all devices that have microphone + speakers. Runs in the browser. Nearby devices negotiate the WebRTC connection by exchanging the necessary Session Description Protocol (SDP) data via a sequence of audio tones. Upon successful negotiation, a local WebRTC connection is established between the browsers allowing data to be exchanged via LAN.

electron-mocha - Run Mocha tests in Electron

  •    Javascript

and then electron will be added to your path. Or, you can download a version from https://github.com/atom/electron/releases and then set an environment variable ELECTRON_PATH pointing to the binary. Note if you're using Mac OS X, the path would be to the actual executable and not the app directory e.g. /Applications/Electron.app/Contents/MacOS/Electron.You should probably just install electron-prebuilt as it simplifies things.

fiddle - 🚀 The easiest way to get started with Electron

  •    TypeScript

Electron Fiddle lets you create and play with small Electron experiments. It greets you with a quick-start template after opening – change a few things, choose the version of Electron you want to run it with, and play around. Then, save your Fiddle either as a GitHub Gist or to a local folder. Once pushed to GitHub, anyone can quickly try your Fiddle out by just entering it in the address bar. Try Electron without installing any dependencies: Fiddle includes everything you'll need to explore the platform. It also includes examples for every API available in Electron, so if you want to quickly see what a BrowserView is or how the desktopCapturer works, Fiddle has got you covered.

electron-api-demos - Explore the Electron APIs

  •    HTML

This is a desktop app that interactively and with sample code demonstrates core features of the Electron API. It's built with Electron, too, of course. This app works on Windows, macOS and Linux operating systems. Use this app to see what you can do with Electron and use the source code to learn how to create a basic Electron app.