Actions

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

From The RadioReference Wiki

(Redirected page to Broadcastify Raspberry Pi Image)
Tag: New redirect
 
(71 intermediate revisions by 13 users not shown)
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
+
#REDIRECT [[Broadcastify Raspberry Pi Image]]
 
 
== 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 and Streaming ==
 
 
 
/usr/local/bin/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
 
 
 
rtl_fm
 
-d 0          device 0 (first rtl stick, second rtl stick would be -d 1)
 
-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 8          sample in at 8k
 
-m m          encode mono
 
-b 16          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 for AM Mode
 
 
 
which is then piped to ezstream
 
 
 
ezstream -c /etc/ezstream_bcfy.xml
 
 
 
== Command for FM Scanning and Streaming ==
 
 
 
/usr/local/bin/rtl_fm -d 0 -M fm -f 461.4M -p 69 -l 65 -g 50 -t 2 -E pad -s 12k |
 
/usr/bin/lame -r -s 12 --resample 22.05 -m m -b 16 --cbr --lowpass 4 - - |
 
/usr/bin/ezstream -c /etc/ezstream_bcfy.xml > /var/log/bcfy2.log 2>&1 &
 
 
 
rtl_fm - command line tuner for rt stick
 
 
 
rtl_fm
 
-d 0          device 0 (first rtl stick, second rtl stick would be -d 1)
 
-M fm          tune to FM Mode
 
-f 461.4M      tune to 461.4 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 2            scanning delay (I set to 2, default is 10)
 
-E pad          when squelch is enabled pad output with zeros (required when broadcasting)
 
-s 12k          sample NFM at 12k
 
 
 
which is then piped to the mp3 lame encoder...
 
 
 
lame - MP3 encoder
 
-r          accept raw data input
 
-s          input at 12k
 
--resample 22.05  resample at 22.05Khz
 
-m m          encode mono
 
-b          encode at 16kbs bitrate
 
--cbr        use Broadcastify’s mp3 cbr standard
 
--lowpass 4  use a low pass filter of 4
 
 
 
which is then piped to ezstream
 
 
 
ezstream -c /etc/ezstream_bcfy.xml
 

Latest revision as of 09:44, 18 April 2021