Open source, multi-user SDR receiver software with a web interface
Go to file
ha7ilm 06054b1291 backported max_clients 2015-05-21 21:13:30 +02:00
htdocs backported max_clients 2015-05-21 21:09:35 +02:00
plugins backported bugfixes 2015-05-16 18:09:37 +02:00
README.md readme fix 2014-11-30 19:22:21 +01:00
config_rtl.py backported bugfixes 2015-05-16 18:09:37 +02:00
config_webrx.py backported max_clients 2015-05-21 21:13:30 +02:00
openwebrx.py backported max_clients 2015-05-21 21:13:30 +02:00
rtl_mus.py backported bugfixes 2015-05-16 18:09:37 +02:00
rxws.py WebSocket, JavaScript fixes, etc. 2014-12-12 13:55:10 +01:00
screenshot.png screenshot fix, tnx hg2ecz 2014-11-29 18:47:50 +01:00

README.md

OpenWebRX

OpenWebRX is a multi-user SDR receiver software with a web interface.

OpenWebRX

It has the following features:

  • libcsdr based demodulators (AM/FM/SSB),
  • filter passband can be set from GUI,
  • waterfall display can be shifted back in time,
  • it extensively uses HTML5 features like WebSocket, Web Audio API, and <canvas>.
  • it works in Google Chrome, Chromium (above version 37) and Mozilla Firefox (above version 28),
  • currently only supports RTL-SDR, but other SDR hardware may be easily added.

Setup

OpenWebRX currently requires Linux and python 2.7 to run.

First you will need to install the dependencies:

After cloning this repository and connecting an RTL-SDR dongle to your computer, you can run the server:

python openwebrx.py

You can now open the GUI at http://localhost:8073.

Please note that the server is also listening on the following ports (on localhost only):

  • port 8888 for the I/Q source,
  • port 4951 for the multi-user I/Q server.

Now the next step is to customize the parameters of your server in config_webrx.py.

Actually, if you do something cool with OpenWebRX (or just have a problem), please drop me a mail:
Andras Retzler, HA7ILM <randras@sdr.hu>

I would like to maintain a list of online amateur radio receivers on openwebrx.org.

Usage tips

You can zoom the waterfall display by the mouse wheel. You can also drag the waterfall to pan across it.

The filter envelope can be dragged at its ends and moved around to set the passband.

However, if you hold down the shift key, you can drag the center line (BFO) or the whole passband (PBS).

Configuration tips

If you want to run OpenWebRX on a remote server instead of localhost, do not forget to set server_hostname in config_webrx.py, or you may get a WebSocket error.

DSP CPU usage can be fine-tuned in plugins/dsp/csdr/plugin.py: you can set transition bandwidths higher (thus degrade filter performance by decreasing the length of the kernel, but also decrease CPU usage), and also set fft_size lower.

If you constantly get audio overrun errors, you may change audio_buffer_maximal_length_sec in openwebrx.js from the default 1.7 to 3.

If you want a chat-box to the top of the page, here is a snippet for you to include in config_webrx.py.

Todo

Currently, clients use up a lot of bandwidth. This will be improved later.