Skip to content

Latest commit

 

History

History
41 lines (25 loc) · 1.61 KB

File metadata and controls

41 lines (25 loc) · 1.61 KB

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.

Using Publisher on a different computer in the same network

If you want to stream audio through a different device then the server , you may need to visit chrome://flags/#unsafely-treat-insecure-origin-as-secure and add http://192... or http://li.ve to the list so that Chrome allows you to use the microphone.

Credit

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