Commit 2aaf1ff0 authored by Sebastian Dröge's avatar Sebastian Dröge
Browse files

Add README.md

parent 495e42f4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
The MIT License (MIT)

Copyright (c) 2017 Sebastian Dröge <sebastian@centricular.com>.
Copyright (c) 2020 Sebastian Dröge <sebastian@centricular.com>.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

README.md

0 → 100644
+43 −0
Original line number Diff line number Diff line
# WebRTC Audio Publishing

This repository contains an application 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
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 https://localhost:8080 --server-room "test"
```

## License

All code in this repository is licensed under the [MIT license](LICENSE).