Skip to content

MaxWindt/live_audio_broadcaster

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.

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published