Skip to content

porjo/babelcast

Repository files navigation

Babelcast

A server which allows audio publishers to broadcast to subscribers on a channel, using nothing more than a modern web browser.

It uses websockets for signalling & WebRTC for audio.

The designed use case is for live events where language translation is happening. A translator would act as a publisher and people wanting to hear the translation would be subscribers.

Building

Download a precompiled binary or build it yourself.

Usage

Usage of ./babelcast:
  -debug
        enable debug log
  -port int
        listen on this port (default 8080)

Then point your web browser to http://localhost:8080/

If the PUBLISHER_PASSWORD environment variable is set, then publishers will be required to enter the password before they can connect.

TLS

Except when testing against localhost, web browsers require that TLS (https://) be in use any time media devices (e.g. microphone) are in use. You should put Babelcast behind a reverse proxy that can provide SSL certificates e.g. Caddy.

See this Stackoverflow post for more information.

Credit

Thanks to the excellent Pion library for making WebRTC so accessible.