Skip to content
An application that sends audio through the WebRTC data channel between two peers
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Wrapped socket io inside window onload Jul 7, 2017
app.js Writing comments and cleaning up in app.js and local.js Aug 11, 2017
package.json Letsencrypted app.js. gitignored app.js for github Jul 7, 2017

WebRTCDataMedia - Multimedia through the WebRTC Data Channel


  • Submit the room name in the prompt.
  • Send the link or the room name to a peer.
  • Chat with eachother with audio and video through the WebRTC data channel.

This WebRTC system attempts to apply the WebRTC datachannel to transmit uncompressed audio and video between peer-browsers.

The system attempts to mimic how current music collaboration tools transmit audio over IP-nettworks, i.e. uncompressed and unbuffered. The aim is to achieve an audio connection with lower delay (and higher quality) compared to the standard audio channel in WebRTC.

Installation Guide

git clone

npm install
node local.js

Then open http://localhost:8080 to see your app.

  • The server file local.js is used to run localhost, while app.js is deployed to the server.

The system

The system consists of a server and client.


A server is implemented to provider "rooms" for peers of clients to meet. is applied to implement room-support and simple "vanilla" forwarding of messages between room-members are performed.

Currently only two member per room is supported.

Server JavaScript-code is in app.js.


After loading the client page requires "vanilla" selection of a room name (of the user choice). When two clients have join a room, audio may be exchanged.

  • Batch forwarding: A peer may record an audio clip and forward to the other peer. Receiveing peer may play out the clip.
  • Realtime: A peer may initiate a live audiostream

All audio is forwarded across the WebRTC datachannel.

Client JavaScript-code is in js/main.js.


The system is very much under development, and currently not fully implemented.

You can’t perform that action at this time.