分页: 1 / 1

[转帖][分享]用Icecast+Ezstream架设网络广播平台

发表于 : 2008-03-21 0:40
lll9p
来源:http://imtho.com

一直想在Linux下面搞网络广播,现在终于可以搞出来了我选择了Icecast+Ezstream,这个是占用资源非常小的组合。
软件:<a href="http://www.icecast.org/">Icecast</a>+<a href="http://www.icecast.org/ezstream.php">Ezstream</a>
Icecast可以用apt-get install或者yum之类的直接下载安裝,或者可以编译安裝。Ezstream就只有自己<a href="http://www.icecast.org/ezstream.php#ez_ ... 上下载</a>编译了,按照README的提示./configure,然后sudo make ,sudo make install.
安裝完成之后就是配置了。
首先,把自己加入icecast用户组:

代码: 全选

$ vim /etc/group
把自己的用户名加入icecast组,如:icecast:x:121:<strong>lao</strong>,root
然后更改日志权限

代码: 全选

$ sudo chmod 775 /var/log/icecast2
把配置文件单独弄出来方便编辑:

代码: 全选

$ cd ~
$ mkdir .broadcast
$ cp /etc/icecast2/icecast.xml /usr/local/share/examples/ezstream/ezstream_mp3.xml ~/.broadcast/
这里用ezstream_mp3.xml 这个简单的例子就够了
Icecast必要配置:
最大允许的电台数:

代码: 全选

<limits>                         
   <sources>5</sources>
</limits>
改掉这里的密码:
   <source-password>hackme</source-password>

端口设置:
<listen-socket>
   <port>8000</port>  <!--这是用户连接所用的端口,每开一个电台需要指定一个端口-->
<!-- <bind-address>127.0.0.1</bind-address> -->
      <!--如果你的电脑有多个ip,可以在这里绑定一个,不绑定就应该是可以使用所有可用ip-->
</listen-socket>
Ezstream配置:

代码: 全选

编辑ezstream_mp3.xml即可,密码,端口设置和Icecast一样:
......
<url>http://192.168.1.50:3333/mp3</url>   <!--这里设置url,以后就是用这个地址来收听,记得保留'mp3'这样的挂载点-->
......
<filename>playlist.m3u</filename>  <!-- 播放列表,可以通过“find /your-mp3s'-dir/ -type f -name "*.mp3" > ~/.broadcast/playlist.m3u”命令来生成-->
到这步已经可以启动广播了,

代码: 全选

$ icecast2 -c ~/.broadcast./icecast.xml &
$ ezstream -c ~/.broadcast./ezstream_mp3.xml &
有趣的是,可以通过运行多个Ezstream启动多个广播,比如复制几个Ezstream的配置文件,把挂载点“mp3”换成其他的(“music...”),然后

代码: 全选

$ ezstream -c ~/.broadcast./*.xml &
现在你已经在开广播啦~
如果你嫌每次启动这两个程序麻烦,可以写一个类似这样的脚本:

代码: 全选

#!/bin/bash
cd ~/.broadcast
case $1 in
   "start")
       icecast2 -c ./icecast.xml &
       ezstream -c ./ezstream_mp3.xml & ;;
   "stop")
       killall -e -w icecast2 ezstream
       echo "电台程序已经关闭" ;;
esac
另存为一个合适的名字(bcast?) ,然后

代码: 全选

$ sudo mv bcast /usr/local/bin/
$ sudo chmod a+x /usr/local/bin/bcast
这样每次想启动就用

代码: 全选

$ bcast start
关闭就用

代码: 全选

$ bcast stop
好了,就写到这里了,上面肯定有一些错误,欢迎大家指正,或者有一个更好的脚本提供也可以。

发表于 : 2008-03-21 0:46
qiang_liu8183
这么晚了还未休息?顶!!!

发表于 : 2008-03-21 11:27
rhfcaesar
好东西,支持! :D :D

发表于 : 2008-03-21 12:38
lll9p
好像用脚本启动的时候启动不了ezstream,关闭程序之后再启动才能成功,是怎么回事?