Actions

Difference between revisions of "Raspberry Pi RTL-SDR Broadcastify"

From The RadioReference Wiki

(Created page with "These instructions show you how to purchase and setup a completely self contained Raspberry Pi with an RTL-SDR stick(s) to broadcast a live audio feed to Broadcastify.com")
 
Line 1: Line 1:
 
These instructions show you how to purchase and setup a completely self contained Raspberry Pi with an RTL-SDR stick(s) to broadcast a live audio feed to Broadcastify.com
 
These instructions show you how to purchase and setup a completely self contained Raspberry Pi with an RTL-SDR stick(s) to broadcast a live audio feed to Broadcastify.com
 +
 +
== Purchase Equipment ==
 +
 +
Raspberry Pi 2 Model B Project Board - 1GB RAM - 900 MHz Quad-Core CPU
 +
* http://amzn.to/1Ku3T9Y
 +
 +
RTL-SDR - RTL2832U & R820T USB Stick
 +
* http://amzn.to/1DJA79d
 +
 +
Male MCX Connector to...
 +
* F Female - http://amzn.to/1KtVwIt
 +
* PL259 - http://amzn.to/1JLgjV7
 +
* BNC - http://amzn.to/1DJqZ4A
 +
* SMA - http://amzn.to/1JLgAav
 +
* Lots of connectors - http://amzn.to/1Ku4c4s
 +
 +
Power Supply for Raspberry Pi
 +
* http://amzn.to/1U2r8cD
 +
 +
Memory Card for Raspberry Pi
 +
* http://amzn.to/1U2r8JG
 +
 +
Case for Raspberry Pi
 +
* http://amzn.to/1JLgNe3
 +
 +
== Install pre-reqs and update raspberry pi to latest version ==
 +
 +
sudo apt-get update
 +
sudo apt-get upgrade
 +
sudo apt-get install git cmake libusb-1.0-0.dev build-essential
 +
sudo apt-get install libmp3lame-dev libvorbis-dev libshout-dev
 +
sudo rpi-update && sudo reboot
 +
 +
== Install the latest rtl-sdr code ==
 +
 +
This latest git release is needed for padding zeros when squelch is enabled (-E pad option)
 +
 +
git clone https://github.com/keenerd/rtl-sdr/
 +
cd rtl-sdr/
 +
mkdir build
 +
cd build
 +
cmake ../
 +
make
 +
sudo make install
 +
sudo ldconfig
 +
sudo mv $HOME/rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/rtl-sdr.rules
 +
 +
== Blacklist the kernel's bundled RTL drivers ==
 +
 +
We do this so we don't conflict with the RTL drivers we're about to install
 +
 +
sudo su -
 +
echo "blacklist r820t" >> /etc/modprobe.d/dvb-blacklist.conf
 +
echo "blacklist rtl2832" >> /etc/modprobe.d/dvb-blacklist.conf
 +
echo "blacklist rtl2830" >> /etc/modprobe.d/dvb-blacklist.conf
 +
echo "blacklist dvb_usb_rtl28xxu" >> /etc/modprobe.d/dvb-blacklist.conf
 +
exit
 +
 +
== Install and configure ezstream ==
 +
 +
sudo apt-get install ezstream
 +
 +
Create this configuration file at /etc/ezstream_bcfy.xml and replace with your mount, password, and stream name
 +
 +
<ezstream>
 +
    <url>http://audio#.broadcastify.com:80/your_mount</url>
 +
    <sourcepassword>your_source_password</sourcepassword>
 +
    <format>MP3</format>
 +
    <filename>stdin</filename>
 +
    <svrinfoname>Stream Name</svrinfoname>
 +
    <svrinfourl>http://www.broadcastify.com</svrinfourl>
 +
    <svrinfogenre>Scanner</svrinfogenre>
 +
    <svrinfodescription></svrinfodescription>
 +
    <svrinfobitrate>16</svrinfobitrate>
 +
    <svrinfochannels>1</svrinfochannels>
 +
    <svrinfosamplerate>22050</svrinfosamplerate>
 +
    <svrinfopublic>0</svrinfopublic>
 +
</ezstream>
 +
 +
== Command for AM Aviation Scanning ==
 +
 +
rtl_fm -M am -f 124.55M -f 133.4M -f 121.6M -l 65 -p 69 -g 40 -t 0 -E pad -s 8k
 +
| lame -r -s 8 -m m -b 16 --cbr --lowpass 4 --scale 16 - -
 +
| ezstream -c /etc/ezstream_bcfy.xml &
 +
 +
rtl_fm - command line tuner for rt stick
 +
-M am          tune to AM Mode
 +
-f 124.55M      tune to 124.55 MHz (use multiple -f entries to scan through frequencies)
 +
-l 65          set scanning squelch to 65 (adjust as needed)
 +
-p 69          ppm offset
 +
-g 40.2        gain (0-49.6) - adjust as needed
 +
-t 0            scanning delay (I set to 0, default is 10)
 +
-E pad          when squelch is enabled pad output with zeros (required when broadcasting)
 +
-s 8k          sample at 8k
 +
 +
which is then piped to the mp3 lame encoder...
 +
 +
lame - MP3 encoder
 +
-r          accept raw data input
 +
-s          encode at 8k
 +
-m          encode mono
 +
-b          encode at 16kbs bitrate
 +
--cbr        use Broadcastify’s mp3 cbr standard
 +
--lowpass 4  use a low pass filter of 4
 +
--scale 16  turn up the volume
 +
 +
which is then piped to ezstream
 +
 +
ezstream -c /etc/ezstream_bcfy.xml

Revision as of 18:41, 30 July 2015

These instructions show you how to purchase and setup a completely self contained Raspberry Pi with an RTL-SDR stick(s) to broadcast a live audio feed to Broadcastify.com

Purchase Equipment

Raspberry Pi 2 Model B Project Board - 1GB RAM - 900 MHz Quad-Core CPU

RTL-SDR - RTL2832U & R820T USB Stick

Male MCX Connector to...

Power Supply for Raspberry Pi

Memory Card for Raspberry Pi

Case for Raspberry Pi

Install pre-reqs and update raspberry pi to latest version

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git cmake libusb-1.0-0.dev build-essential
sudo apt-get install libmp3lame-dev libvorbis-dev libshout-dev
sudo rpi-update && sudo reboot

Install the latest rtl-sdr code

This latest git release is needed for padding zeros when squelch is enabled (-E pad option)

git clone https://github.com/keenerd/rtl-sdr/
cd rtl-sdr/
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig
sudo mv $HOME/rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/rtl-sdr.rules

Blacklist the kernel's bundled RTL drivers

We do this so we don't conflict with the RTL drivers we're about to install

sudo su -
echo "blacklist r820t" >> /etc/modprobe.d/dvb-blacklist.conf
echo "blacklist rtl2832" >> /etc/modprobe.d/dvb-blacklist.conf
echo "blacklist rtl2830" >> /etc/modprobe.d/dvb-blacklist.conf
echo "blacklist dvb_usb_rtl28xxu" >> /etc/modprobe.d/dvb-blacklist.conf
exit

Install and configure ezstream

sudo apt-get install ezstream

Create this configuration file at /etc/ezstream_bcfy.xml and replace with your mount, password, and stream name

<ezstream>
    <url>http://audio#.broadcastify.com:80/your_mount</url>
    <sourcepassword>your_source_password</sourcepassword>
    <format>MP3</format>
    <filename>stdin</filename>
    <svrinfoname>Stream Name</svrinfoname>
    <svrinfourl>http://www.broadcastify.com</svrinfourl>
    <svrinfogenre>Scanner</svrinfogenre>
    <svrinfodescription></svrinfodescription>
    <svrinfobitrate>16</svrinfobitrate>
    <svrinfochannels>1</svrinfochannels>
    <svrinfosamplerate>22050</svrinfosamplerate>
    <svrinfopublic>0</svrinfopublic>
</ezstream>

Command for AM Aviation Scanning

rtl_fm -M am -f 124.55M -f 133.4M -f 121.6M -l 65 -p 69 -g 40 -t 0 -E pad -s 8k 
| lame -r -s 8 -m m -b 16 --cbr --lowpass 4 --scale 16 - - 
| ezstream -c /etc/ezstream_bcfy.xml &
rtl_fm - command line tuner for rt stick
-M am           tune to AM Mode
-f 124.55M      tune to 124.55 MHz (use multiple -f entries to scan through frequencies)
-l 65           set scanning squelch to 65 (adjust as needed)
-p 69           ppm offset
-g 40.2         gain (0-49.6) - adjust as needed
-t 0            scanning delay (I set to 0, default is 10)
-E pad          when squelch is enabled pad output with zeros (required when broadcasting)
-s 8k           sample at 8k

which is then piped to the mp3 lame encoder...

lame - MP3 encoder
-r           accept raw data input
-s           encode at 8k
-m           encode mono
-b           encode at 16kbs bitrate
--cbr         use Broadcastify’s mp3 cbr standard
--lowpass 4  use a low pass filter of 4
--scale 16   turn up the volume

which is then piped to ezstream

ezstream -c /etc/ezstream_bcfy.xml