6

What documented protocol or API does WebSDR use to stream audio over the internet?

I'm interested in capturing a WebSDR audio stream using a small embedded device which has lots of audio DSP capability, good internet access (TCP/UDP network sockets, raw http, etc.), but no (HTML/JS) browser or Java/JVM runtime.

hotpaw2
  • 13,316
  • 6
  • 45
  • 76
  • 2
    Why not politely ask the author? http://www.websdr.org/background.html – sessyargc.jp Oct 28 '14 at 00:40
  • Where did this ever end up? I was going to embed a client to WebSDR in my RadioWorld app for iPhone but I also got a negative reply from the author of the software. His vision is that everyone uses his terrible UI, for some unknown reason. Intentionally opening up the SDR server over an official API would really do wonders for the community. – Kevin Elliott Jan 14 '17 at 09:41
  • I decided to use a more open solution, using rtl_tcp to stream IQ data and demodulating the data at the client end (on an iOS device). That protocol seems to be popular, well documented, and easy to implement (even in Swift 3). – hotpaw2 Jan 14 '17 at 11:14

2 Answers2

5

The "HTML5"-compatible (not using Java applets) audio interface for WebSDR uses audio samples streamed over a WebSocket connection — this can be seen from the JS client files it downloads.

However, the author of WebSDR has indicated that they do not wish the software used in ways other than via the provided web client (in their FAQ and even in a comment in the very JS file I'm speaking of!) so I recommend that you do not pursue this project without asking the author, as they might well consider it abuse of their service for you to connect with an alternate client.

If you merely want a remote radio receiver and not specifically to use the hardware of existing WebSDR installations, there are several open-source possibilities. If you're interested in that option, I suggest asking about it as a separate question.

Kevin Reid AG6YO
  • 24,506
  • 7
  • 51
  • 103
1

The FAQ makes no mention of third party clients, and the JS file merely has standard boilerplate about being able to distribute that file unmodified.

There are already clients for other platforms (eg. glsdr, isdr)

I say to the OP, go for it.. The protocol is very simple, controlled from basic HTTP GET commands. 5 minutes on tcpdump should get you everything you need.

Tony Hoyle
  • 11
  • 1