Spreed WebRTC implements a WebRTC audio/video call and conferencing server and web client.
The latest version of Spreed WebRTC can be found on GitHub: https://github.com/strukturag/spreed-webrtc
Spreed WebRTC compiles directly to native code and has no external runtime dependencies. See here for details.
If you got spreed-webrtc from the git repository, you will first need
to run the included
autogen.sh script to generate the
Configure does try to find all the tools on your system at the standard locations. If the dependencies are somewhere else, add the corresponding parameters to the ./configure call.
$ ./configure $ make
There are several make targets available. Get Go external dependencies at
least once with
make get, all the other targets depend on this.
$ make get $ make assets $ make binary
-c="./server.conf": Configuration file. -cpuprofile="": Write cpu profile to file. -h=false: Show this usage information and exit. -l="": Log file, defaults to stderr. -memprofile="": Write memory profile to this file. -v=false: Display version number and exit.
An example configuration file can be found in server.conf.in.
Connect to the server URL and port with a web browser and the web client will launch.
To build styles and translations, further dependencies are required. The source tree contains already built styles and translations, so these are only required if you want to make changes.
The following Node.js modules are required, these may be installed
locally by running
npm install from the project root. Consult the
package.json file for more details.
Styles can be found in src/styles. Translations are found in src/i18n. Each folder has its own Makefile to build the corresponding files. Check the Makefile.am templates for available make targets.
Running server for development
Copy the server.conf.in to server.conf.
The server runs on http://localhost:8080/ per default.
Running for production
Spreed WebRTC should be run through a SSL frontend proxy with
support for Websockets. Example configuration for Nginx can be
In addion for real world use, one also needs a STUN/TURN server configured (with shared secret support).
See https://code.google.com/p/rfc5766-turn-server/ for a free open source TURN server implementation. Make sure to use a recent version (We recommend 3.2). Versions below 2.5 are not supported.
- "Fork" develop branch.
- Create a feature branch.
- Make changes.
- Do your commits (run
make jshintbefore commit).
- Send "pull request" for develop branch.
Spreed WebRTC uses the AGPL license, see our