Giter Site home page Giter Site logo

rtl_mus's Introduction

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. It has also the functionality to serve IQ samples from an external process (aka fake dongle mode).

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.

DSP fake dongle mode

When configuring the tool for reading the samples from an external tool you don't need to use a real rtl_tcp server. You can use this mode for reading the samples from a file (in RAW format) or from a FIFO (for example connected to the PIPE output of another tool that generates the samples). Then you don't need at all to have a real RTL dongle for using any RTL-SDR tool.

Inside the config file you can found and example for read the samples from a fifo file using the simple dd tool. You need to fill up the fifo using another process (for example with cat /my-file > /raw-fifo). This mode it's enabled setting the client port to 0.

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 [email protected]

rtl_mus's People

Contributors

alexander-sholohov avatar ha7ilm avatar lars18th avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.