WASP is an audio streaming application which allows you to publish PulseAudio and JACK streams via WebRTC to a "room" on a server, which is the distributed to one or more browser clients via WebRTC.
The server application can be found in the server directory, the publisher application in the publisher directory. Common code between the two is shared via common.
See instructions for Rust and GStreamer.
$ 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
$ 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
--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"))
All code in this repository is licensed under the MIT license.
This software has been developed by Centricular Ltd. in collaboration with selma Studio für Elektronische Music und Akustik with the support of the HfMDK