Skip to content
This repository has been archived by the owner on May 28, 2020. It is now read-only.

ha7ilm/rtl_mus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rtl_mus

RTL Multi-User Server is a small python script to allow multiple clients control the same RTL-SDR compatible DVB-T tuner, while also receiving I/Q samples.

Update 2020-05-27: This project is not developed anymore. Check the nmux tool in csdr for a faster alternative (however, that does not support forwarding commands, so it's not an exact replacement).

How does it work?

  • rtl_mus requires an instance of rtl_tcp to connect to.
  • When it receives a command from any of its clients, rtl_mus resends it to the rtl_tcp server.
  • It continously reads samples from rtl_tcp, and resends them to the clients.

Other features

DSP processing

rtl_mus can also execute a command to perform DSP processing on the I/Q stream; then the processed I/Q stream is sent to its clients. A sample command for FLAC processing is included in the config file. FLAC is a loseless codec originally intended for audio, but it seems to work on sampled RF, too... 😄 As of a FLAC processed I/Q stream requires about 20% less bandwidth than the original, it might help to transport I/Q signals over a low-bandwidth internet link, but as of none of the SDR software can decode FLAC right now, another instance of rtl_mus has to be run locally, to decode the FLAC-encoded signal.

Permissions on commands

By changing the source code, one can easily allow and deny remote clients execute particular commands on the rtl_tcp server. Commands that are not allowed are simply not forwarded by rtl_mus.

On rtl_tcp crash it fills clients with zeros

It can be particularly useful to avoid your GNU Radio flowgraph hang when using an OsmoSDR Source block.

Authors

András Retzler ha7ilm@sdr.hu

About

RTL Multi-User Server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages