I am LAZY bones? AN ancient AND boring SITE

2009年 02月 05日 的归档

linux下架设个人电台的方法

两年前(基本上刚好是两年了),我还在用windows的时候,曾经写过一篇win下架电台的文章,后来不用windows了,基本上也就没搞过这个事情了,最近看到有个icecast,就忍不住试了一下,在这里汇报下结果。
首先用于广播的,不用说就是icecast了,安装也就不说了,emerge或者apt-get随便,反正不是难事。装完以后,稍微修改一下 /etc/icecast2/icecast.xml ,里面的内容基本上很好懂,是xml格式,注意 icecast–limits–clients 是最大用户数,按需修改;icecast–authentication–source-password是源密码,这里随便设置一个,后面要用到的;admin-user和admin-password是web管理的时候的用户名和密码,按需修改;listen-socket — port 默认是8000可以不用动,注意这个端口不仅是web管理的端口,也是音频源的连接端口。其他的基本上默认就没问题了。
然后是用于产生音频源的软件,有如下几个选择:

  • darkice :只能从声卡获得数据,还需要播放器支持。同时声卡要被占用,重采样以后可能会对音质有影响,我没有用这个。
  • ices 2.X :支持声卡模式和文件模式,但是文件只能打开ogg格式的声音,我这里ogg格式的不多,基本没用
  • ices 0.X :这个系列的倒是支持从mp3文件获取流,但是不管是gentoo还是ubuntu的源里都没有,需要自己编译。我下载了 ices 0.4 ,编译安装后,怎么配置都连不上源,而且软件包里面自带的文档居然有很多无效的内容,照着配是会出错的,还得我看源码才配置好,但是还是不能把数据送到icecast,出现了 socket error。。。
  • mpd :这个是我试成功的一个,mpd/mpc的用法可以自己google一把,这里就稍微提下不同点。

mpd用于icecast唯一的区别就是在 /etc/mpd.conf 里面,audio_output 那段要如下设置:

audio_output {
	type			"shout"           #必须
	name			"bones radio"     #随便起个名
	host			"localhost"       #icecast主机
	port			"8000"            #icecast端口
	mount			"/mpd"            #挂载点
	password		"xxx"             #icecast密码
	bitrate			"128"             #比特率
	format			"44100:16:2"	  #格式
	user			"source"          #icecast用户名
	encoding		"mp3"             #输出流编码方式
}

好了,配置完了以后,就
sudo /etc/init.d/icecast start
sudo /etc/init.d/mpd start
启动服务,再用你的mpc控制mpd播放,就可以对外广播啦。
收听广播,执行 mplayer http://your-IP:your-port/mpd 就行了。还可以用浏览器打开 http://your-IP:your-port 就可以看到当前播放的信息等,用之前说的web管理用户名和密码登录还可以看到更多信息和进行更多操作。