README.md 1.93 KiB
Newer Older
Selma Development's avatar
Selma Development committed
# WASP - WebRTC Audio Streaming Publisher

Selma Development's avatar
Selma Development committed
WASP is an audio streaming application which allows you to publish [PulseAudio](https://www.freedesktop.org/wiki/Software/PulseAudio/) and [JACK](https://jackaudio.org/) streams via [WebRTC](https://webrtc.org/) to a "room" on a server, which is the distributed
Sebastian Dröge's avatar
Sebastian Dröge committed
to one or more browser clients via [WebRTC](https://webrtc.org/).

The server application can be found in the [server](server) directory, the publisher application in the [publisher](publisher)
directory. Common code between the two is shared via [common](common).

## Running

### Installing Dependencies

See instructions for [Rust](https://rustup.rs) and [GStreamer](https://gstreamer.freedesktop.org).

### Server

```sh
$ cd server

# Prints the command-line parameter help of the server.
$ cargo run -- --help

# Runs it on port 8080 with TLS and the provided certificates.
$ cargo run -- -t -c cert.pem -k key.pem --static-files static
```

### Publisher

```sh
$ cd publisher

# Prints the command-line parameter help of the publisher application.
$ cargo run -- --help

# Captures audio from the default PulseAudio stream and publishes it on the given
# server into the "test" room.
$ cargo run -- --input-stream pulseaudio:default --server wss://localhost:8080/ws/publish --server-room "test" --certificate-file ../server/cert.pem
Sebastian Dröge's avatar
Sebastian Dröge committed
```

Selma Development's avatar
Selma Development committed
#### Additional Client Options
```
--turn_server
--stun_server
--bitrate (default_value = "96000")
--volume (default_value = "1.0"))
--sample_rate (default_value = "48000")
--channel_configuration (default_value = "mono")
--server_latency (default_value = "200"))
```

Sebastian Dröge's avatar
Sebastian Dröge committed
## License

All code in this repository is licensed under the [MIT license](LICENSE).
Selma Development's avatar
Selma Development committed

## Authors
This software has been developed by [Centricular Ltd.](https://www.centricular.com/) in collaboration with [selma](https://selma.hfmdk-frankfurt.de/) Studio für Elektronische Music und Akustik with the support of the [HfMDK](https://www.hfmdk-frankfurt.de/)