最近,某大佬、某某台长吐槽抱冤,听不到特区的FM电台了,仿佛三魂不见了七魄,那些什么蜓、什么米FM都被屏了.....
然后,居然某台长还搜来一篇路由器做网络收音机的帖子说要折腾:
http://bbs.hifidiy.net/thread-886160-1-1.html唉,说实话,现在都什么年代了,还用USB SOUND CARD做A/D这么不济的信源,真不明白此台长怎么当的

算了,不说某台长了,还是动手实际点:
这年头当然是SDR的天下啦,最简单的SDR莫属电视棒了
本想节省点¥,用路由器搞的,结果发现AR71XX的CPU,600MHz主频的路由器,居然跑rtl_fm很吃力的说

好吧,翻出抽屉底的raspberrypi 2B开始折腾:
1、首先得来个系统吧,dietpi.com是不二之选,占地小,方便简单,居然我的2G TF卡还能派上用场

,下载镜像写TF卡,此处省略几百字......
2、一轮更新后,重头戏来了:
安装SDR软件:apt-get install rtl-sdr
安装流媒体服务器:apt-get install ffmpeg
3、建立流媒本服务器配置文件:
rm /etc/ffserver.conf --删掉旧的配置,讨厌里面太多说明,不好看
nano /etc/ffserver.conf --重新写新的配置,内容如下:
HttpPort 1234
HttpBindAddress 0.0.0.0
MaxHTTPConnections 200
MaxClients 100
MaxBandwidth 2000
CustomLog -
#NoDaemon
<Feed feed2.ffm>
File /tmp/feed2.ffm
FileMaxSize 500k
ACL allow 127.0.0.1
</Feed>
<Stream demoAudio.mp3>
Format mp3
Feed feed2.ffm
AudioBitRate 128
AudioChannels 1
AudioSampleRate 44100
AVOptionAudio flags +global_header
NoVideo
</Stream>
写完后,用ctrl-o存盘,ctrl-x退出
5、启动流媒体服务器:
ffserver -f /etc/ffserver.conf &
--最后面的&符号表示丢到后台去运行
6、启动FM接收并推送到ffserver去:
rtl_fm -f 98.5M -M fm -s 170k -A std -l 0 -E deemp -r 44.1k | ffmpeg -f s16le -ac 1 -i pipe:0 -acodec libmp3lame -ab 128k
http://127.0.0.1:1234/feed2.ffm &
--我测试的接收电台频率是98.5MHz的佛山电台,要听其它的请自行修改
7、手机收听:
以我的安卓手机为例,水果请自行研究
下载安装VLC或MX PLAYER,并运行
选择播放“网络串流”,输入地址:http://你的公网地址或树莓派IP地址:1234/demoAudio.mp3
--说明一下,上面的:1234是端口,对应第4点的ffserver.conf里的HttpPort;demoAudio.mp3是虚拟流文件名,对应ffserver.conf里的<Stream demoAudio.mp3>,你可以根据自已口味修改吧
好了,一个网络收音机就这样搞定了,某台长的傻事又干完了.....
以上为本人实际操作,只发表在hellocq.net和本人blog,版权所有,未经许可请勿转载!!!
参考文章:
https://blog.csdn.net/zuijinhaoma8/article/details/45826001https://lansley.com/2014/09/27/using-rtl_fm-and-ffmpeg-to-stream-radio-audio-over-network/