Actions

Difference between revisions of "Broadcastify/RTLSDR-Airband"

From The RadioReference Wiki

(71 intermediate revisions by the same user not shown)
Line 1: Line 1:
RTLSDR-Airband receives analog radio voice channels and produces audio streams which can be routed to various outputs.
+
RTLSDR-Airband or rtl_airband receives analog radio voice channels and produces audio streams which can be routed to various outputs.
 +
 
  
 
Download: https://github.com/szpajder/RTLSDR-Airband
 
Download: https://github.com/szpajder/RTLSDR-Airband
  
Broadcastify Fully Supports RTLSDR-Airband
 
  
<nowiki>
+
Broadcastify Fully Supports RTLSDR-Airband or rtl_airband.
=== Sample Config Files ===
+
 
 +
 
 +
RTLSDR-Airband or rtl_airband - User's Manual: https://github.com/szpajder/RTLSDR-Airband/wiki
 +
 
 +
 
 +
 
 +
RTLSDR-Airband or rtl_airband support multiple frequency channel scanning features.
 +
 
 +
 
 +
 
 +
Here is a custom rtl_airband.conf config file for Broadcastify server and local Icecast server if you have it setup in your Raspberry Pi unit.
 +
 
 +
 
 +
 
 +
Else you can set "disable = true;" if you do not need that section profile enabled. Otherwise set "disabled = false;" if you need that section profile to be enabled for active usage.
 +
 
 +
 
 +
 
 +
--- BOF /usr/local/etc/rtl_airband.conf ---
  
# Sample file of "rtl_airband.conf" custom for BroadCastify.com server streaming
+
<nowiki>
# https://github.com/szpajder/RTLSDR-Airband/wiki
+
# Sample file of "rtl-airband.conf" output to BroadCastify.com icecast streaming server
 +
# RTLSDR-Airband - User's Manual: https://github.com/szpajder/RTLSDR-Airband/wiki
  
 
# index = 0 => First dongle  
 
# index = 0 => First dongle  
Line 17: Line 36:
 
   type = "rtlsdr";
 
   type = "rtlsdr";
 
   index = 0;
 
   index = 0;
   gain = 28;
+
   gain = 22.9;
 
   correction = 0;
 
   correction = 0;
 
   mode = "scan";
 
   mode = "scan";
Line 24: Line 43:
 
     {
 
     {
 
# squelch = 30; # Uncomment to set squelch manually
 
# squelch = 30; # Uncomment to set squelch manually
       freqs = ( 118200000, 119450000, 121900000, 124200000 ); # MODIFY_YOUR_AIRPORT_AIRBAND_FREQUENCY
+
       freqs = ( 118200000, 119450000, 121900000, 124200000 );     # MODIFY_YOUR_AIRPORT_AIRBAND_FREQUENCY
       labels = ( "Tower", "S-Approach", "Ground", "N-Approach" ); # MODIFY_YOUR_AIRPORT_AIRBAND_FREQUENCY_NAME_LABELS
+
       labels = ( "Tower", "S-Approach", "Ground", "N-Approach" );     # MODIFY_YOUR_AIRPORT_AIRBAND_FREQUENCY_NAME_LABELS
 
       outputs: (
 
       outputs: (
  
 
  # For local IceCast server
 
  # For local IceCast server
 
         {
 
         {
 +
          disable = true;      # IF_NO_LOCAL_ICECAST_SERVER_IS_AVAILABLE_SET_IT_TO_TRUE
 
           type = "icecast";
 
           type = "icecast";
 
           server = "127.0.0.1";
 
           server = "127.0.0.1";
Line 38: Line 58:
 
           username = "source";
 
           username = "source";
 
           password = "hackme";
 
           password = "hackme";
           send_scan_freq_tags = true;
+
           send_scan_freq_tags = false;
 
  description = "LOCAL IceCast Server";
 
  description = "LOCAL IceCast Server";
 
         },
 
         },
Line 44: Line 64:
 
  # For remote BroadCastify server
 
  # For remote BroadCastify server
 
         {
 
         {
 +
          disable = false;      # THIS_PROFILE_TEMPLATE_ACTIVE_IN_USED
 
           type = "icecast";
 
           type = "icecast";
           server = "audioX.radioreference.com"; # FROM_YOUR_RR_FEED_PROVIDER_PAGE
+
           server = "audioXXXXXXXX.radioreference.com";     # FROM_YOUR_RR_FEED_PROVIDER_PAGE
           port = 80; # PORT_OF_RR_FEED_PROVIDER_ICECAST_SERVER_USUALLY_8000
+
           port = 80;     # PORT_OF_RR_FEED_PROVIDER_ICECAST_SERVER_USUALLY_8000
           mountpoint = "XXXXXXXX"; # MOUNT_POINT_FROM_YOUR_RR_FEED_PROVIDER_PAGE
+
           mountpoint = "XXXXXXXX";     # MOUNT_POINT_FROM_YOUR_RR_FEED_PROVIDER_PAGE
           name = "XXXXXXXX"; # FEED_NAME_THAT_RR_GAVE_YOU_WHEN_YOU_APPLIED
+
           name = "XXXXXXXX";     # FEED_NAME_THAT_RR_GAVE_YOU_WHEN_YOU_APPLIED
 
  genre = "ATC";
 
  genre = "ATC";
 
           username = "source";
 
           username = "source";
           password = "XXXXXXXX"; # PASSWD_FROM_YOUR_RR_FEED_PROVIDER_PAGE
+
           password = "XXXXXXXX";     # PASSWD_FROM_YOUR_RR_FEED_PROVIDER_PAGE
           send_scan_freq_tags = true;
+
           send_scan_freq_tags = false;
  description = "XXXXXXXX"; # DESCRIPTION_ASSIGNED_FROM_YOUR_RR_FEED_APPLICATION
+
  description = "XXXXXXXX";     # DESCRIPTION_ASSIGNED_FROM_YOUR_RR_FEED_APPLICATION
 
         }
 
         }
 
 
# If you need more outputs, put here ...
+
# If you need more outputs, put under here ...
 +
 
  
# Make sure you remove the comma at the end of the profile segment template e.g. "}," to "}" else you get and error !
+
# NOTICE: Make sure you remove the comma at the end of the profile segment template.
 +
        # e.g. From "}," to "}" else you get an error. For the last profile template segment only.
  
 
       );
 
       );
Line 66: Line 89:
 
);
 
);
 
</nowiki>
 
</nowiki>
 +
 +
--- EOF /usr/local/etc/rtl_airband.conf ---
 +
 +
 +
 +
 +
Recommended RTL-Airband sample compile script for Raspberry Pi 2/3 uses V3D GPU mode by Tomasz Lemiech [mailto:szpajder@gmail.com szpajder@gmail.com]
 +
 +
 +
--- BOF /root/rtl-airband-compile.sh ---
 +
 +
<nowiki>
 +
#!/bin/bash
 +
clear
 +
cd ~
 +
apt-get install build-essential libmp3lame-dev libshout3-dev libconfig++-dev libraspberrypi-dev librtlsdr-dev git cmake libfftw3-dev -y
 +
git clone https://github.com/szpajder/RTLSDR-Airband.git
 +
cd RTLSDR-Airband
 +
git checkout unstable
 +
make help
 +
sleep 10
 +
cp /usr/local/etc/rtl_airband.conf /usr/local/etc/rtl_airband.conf.old
 +
rm /usr/local/etc/rtl_airband.conf -R -f
 +
make clean
 +
make PLATFORM=rpiv2
 +
make install
 +
ldconfig
 +
cd ~
 +
</nowiki>
 +
 +
--- EOF /root/rtl-airband-compile.sh ---
 +
 +
 +
 +
 +
Instruction to activate and run at service mode... https://github.com/szpajder/RTLSDR-Airband/wiki/Running-the-program
 +
 +
 +
Else see here is the summary of commands on the shell terminal...
 +
 +
<nowiki>
 +
sudo chown root.root /etc/systemd/system/rtl_airband.service
 +
sudo chmod 0777 /etc/systemd/system/rtl_airband.service
 +
sudo systemctl disable rtl_airband
 +
sudo systemctl daemon-reload
 +
sudo systemctl enable rtl_airband
 +
sudo systemctl restart rtl_airband
 +
sudo systemctl status rtl_airband
 +
</nowiki>
 +
 +
 +
 +
--- BOF /etc/systemd/system/rtl_airband.service ---
 +
<nowiki>
 +
[Unit]
 +
Description=SDR AM/NFM demodulator
 +
Documentation=https://github.com/szpajder/RTLSDR-Airband/wiki
 +
Wants=network.target
 +
After=network.target
 +
 +
[Service]
 +
Type=simple
 +
ExecStart=/usr/local/bin/rtl_airband -Fe -c /usr/local/etc/rtl_airband.conf
 +
# The program may exit only due to startup failure (eg. misconfiguration)
 +
# or due to failure of all SDR devices (eg. disconnection). In either case,
 +
# there is no point to restart it, because it would fail once again.
 +
Restart=no
 +
 +
[Install]
 +
WantedBy=multi-user.target
 +
</nowiki>
 +
 +
--- EOF /etc/systemd/system/rtl_airband.service ---
 +
 +
 +
 +
 +
* Acknowledgement to Tomasz Lemiech [mailto:szpajder@gmail.com szpajder@gmail.com] for his constant guide and tutorial mentoring to make this simplifed manual guide easy for newbies... a big "Thank You" to him... else I would not have perfected my RTL-Airband audio streaming at http://rodyeo.dyndns.org/ ;)
 +
 +
 +
 +
Multiple source streaming sample file config @ http://rodyeo.dyndns.org/download/rb24-vhf-share.zip by http://rodyeo.dyndns.org/
 +
 +
Also reference to another thread posting ... https://wiki.radioreference.com/index.php/Raspberry_Pi_RTL-SDR_Broadcastify
 +
 +
 +
[[Category:Software for Live Audio Broadcasting]]

Revision as of 23:46, 2 March 2020

RTLSDR-Airband or rtl_airband receives analog radio voice channels and produces audio streams which can be routed to various outputs.


Download: https://github.com/szpajder/RTLSDR-Airband


Broadcastify Fully Supports RTLSDR-Airband or rtl_airband.


RTLSDR-Airband or rtl_airband - User's Manual: https://github.com/szpajder/RTLSDR-Airband/wiki


RTLSDR-Airband or rtl_airband support multiple frequency channel scanning features.


Here is a custom rtl_airband.conf config file for Broadcastify server and local Icecast server if you have it setup in your Raspberry Pi unit.


Else you can set "disable = true;" if you do not need that section profile enabled. Otherwise set "disabled = false;" if you need that section profile to be enabled for active usage.


--- BOF /usr/local/etc/rtl_airband.conf ---

# Sample file of "rtl-airband.conf" output to BroadCastify.com icecast streaming server
# RTLSDR-Airband - User's Manual: https://github.com/szpajder/RTLSDR-Airband/wiki

# index = 0 => First dongle 
# index = 1 => Second dongle

devices: ({
  type = "rtlsdr";
  index = 0;
  gain = 22.9;
  correction = 0;
  mode = "scan";
  channels:
  (
    {
# squelch = 30; # Uncomment to set squelch manually
      freqs = ( 118200000, 119450000, 121900000, 124200000 );      # MODIFY_YOUR_AIRPORT_AIRBAND_FREQUENCY
      labels = ( "Tower", "S-Approach", "Ground", "N-Approach" );      # MODIFY_YOUR_AIRPORT_AIRBAND_FREQUENCY_NAME_LABELS
      outputs: (

	  # For local IceCast server
        {
          disable = true;      # IF_NO_LOCAL_ICECAST_SERVER_IS_AVAILABLE_SET_IT_TO_TRUE
          type = "icecast";
          server = "127.0.0.1";
          port = 8000;
          mountpoint = "LOCAL";
          name = "Airport_ICAO";
          genre = "ATC";
          username = "source";
          password = "hackme";
          send_scan_freq_tags = false;
	  description = "LOCAL IceCast Server";
        },
	
	  # For remote BroadCastify server
        {
          disable = false;      # THIS_PROFILE_TEMPLATE_ACTIVE_IN_USED
          type = "icecast";
          server = "audioXXXXXXXX.radioreference.com";     # FROM_YOUR_RR_FEED_PROVIDER_PAGE
          port = 80;      # PORT_OF_RR_FEED_PROVIDER_ICECAST_SERVER_USUALLY_8000
          mountpoint = "XXXXXXXX";      # MOUNT_POINT_FROM_YOUR_RR_FEED_PROVIDER_PAGE
          name = "XXXXXXXX";      # FEED_NAME_THAT_RR_GAVE_YOU_WHEN_YOU_APPLIED
	  genre = "ATC";
          username = "source";
          password = "XXXXXXXX";      # PASSWD_FROM_YOUR_RR_FEED_PROVIDER_PAGE
          send_scan_freq_tags = false;
	  description = "XXXXXXXX";      # DESCRIPTION_ASSIGNED_FROM_YOUR_RR_FEED_APPLICATION
        }
		
	# If you need more outputs, put under here ...


	# NOTICE: Make sure you remove the comma at the end of the profile segment template. 
        # e.g. From "}," to "}" else you get an error. For the last profile template segment only.

      );
    }
  );
 }
);

--- EOF /usr/local/etc/rtl_airband.conf ---



Recommended RTL-Airband sample compile script for Raspberry Pi 2/3 uses V3D GPU mode by Tomasz Lemiech szpajder@gmail.com


--- BOF /root/rtl-airband-compile.sh ---

#!/bin/bash
clear
cd ~
apt-get install build-essential libmp3lame-dev libshout3-dev libconfig++-dev libraspberrypi-dev librtlsdr-dev git cmake libfftw3-dev -y
git clone https://github.com/szpajder/RTLSDR-Airband.git
cd RTLSDR-Airband
git checkout unstable
make help
sleep 10
cp /usr/local/etc/rtl_airband.conf /usr/local/etc/rtl_airband.conf.old
rm /usr/local/etc/rtl_airband.conf -R -f
make clean
make PLATFORM=rpiv2
make install
ldconfig
cd ~

--- EOF /root/rtl-airband-compile.sh ---



Instruction to activate and run at service mode... https://github.com/szpajder/RTLSDR-Airband/wiki/Running-the-program


Else see here is the summary of commands on the shell terminal...

sudo chown root.root /etc/systemd/system/rtl_airband.service
sudo chmod 0777 /etc/systemd/system/rtl_airband.service
sudo systemctl disable rtl_airband
sudo systemctl daemon-reload
sudo systemctl enable rtl_airband
sudo systemctl restart rtl_airband
sudo systemctl status rtl_airband


--- BOF /etc/systemd/system/rtl_airband.service ---

[Unit]
Description=SDR AM/NFM demodulator
Documentation=https://github.com/szpajder/RTLSDR-Airband/wiki
Wants=network.target
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/rtl_airband -Fe -c /usr/local/etc/rtl_airband.conf
# The program may exit only due to startup failure (eg. misconfiguration)
# or due to failure of all SDR devices (eg. disconnection). In either case,
# there is no point to restart it, because it would fail once again.
Restart=no

[Install]
WantedBy=multi-user.target

--- EOF /etc/systemd/system/rtl_airband.service ---



  • Acknowledgement to Tomasz Lemiech szpajder@gmail.com for his constant guide and tutorial mentoring to make this simplifed manual guide easy for newbies... a big "Thank You" to him... else I would not have perfected my RTL-Airband audio streaming at http://rodyeo.dyndns.org/ ;)


Multiple source streaming sample file config @ http://rodyeo.dyndns.org/download/rb24-vhf-share.zip by http://rodyeo.dyndns.org/

Also reference to another thread posting ... https://wiki.radioreference.com/index.php/Raspberry_Pi_RTL-SDR_Broadcastify