Demo: https://webrtc-stud.uninett.no
- 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.
git clone https://github.com/hungqt/PeerAudio.git
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 consists of a server and client.
A node.jo server is implemented to provider "rooms" for peers of clients to meet. socket.io
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.