设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
运维技术 —— LinuxSir.cn
›
服务器架设、应用、维护
›
打造你自己的linux mp3电台
返回列表
查看:
1091
|
回复:
3
打造你自己的linux mp3电台
[复制链接]
afanofamd
afanofamd
当前离线
积分
126
IP卡
狗仔卡
发表于 2003-4-28 22:58:20
|
显示全部楼层
|
阅读模式
很久以前在linuxaid上看到这样一篇文章,感觉很好,但是一直没有条件自己试试,现在有了自己的服务器和公网ip,终于拿来试了一把,花了2个小时,感觉不错!但是因为这篇文章比较老了,在配置方面会有一些变化,所以我在这里想再写一下!括号里的是原来的出处(
http://www.linuxaid.com.cn/articles/4/7/475529945.shtml
)
在Linux下打造这样一个mp3 的radio station需要两个软件:icecast 和 ices,分别有rpm包可以下载。在这里我推荐大家一个下载rpm包的好地方
http://rpm.pbone.net
使用它的advance search可以对应你linux发行版的版本好来寻找对应版本的rpm包,强吧:p
在这里应为我的系统是Mandrake8.2,比较老了,所以我并没有下载最新的版本,我用的两个包分别是ices-0.2.3-3mdk.i586.rpm和icecast-1.3.12-2mdk.i586.rpm,你可以根据你自己的发行版进行选择下载。
下载完后分别安装就可以了
rpm -Uvh icecast-1.3.12-2mdk.i586.rpm
rpm -Uvh ices-0.2.3-3mdk.i586.rpm
注意在安装的时候我碰到了两个问题
1。可能报告需要libxml2的支持,没关系,继续下载一个对应版本的libxml2就可以了,我下载了libxml2-2.4.23-4mdk.i586.rpm,安装后通过
2。在我安装ices的时候报告什么不能定位libperl.so,可是find了一下,这个libperl.so明明就在/usr/lib/perl5/5.6.1/i386-linux/CORE/下面,她居然就是视而不见,faint,立马上了google,也没查出个所以然来,后来不管三七二十一把这个libperl.so拷贝到了/usr/lib一份,没想到居然安装成功,呵呵!
好了,安装完以后就要开始配置了
首先配置ices
ices是流源,她有两种执行方式:a,命令行方式。b,xml配置文件方式
对于命令行方式,原来linuxaid的作者讲得比较清楚了,我也不多说了,只是有几个参数现在来说不适用,整个命令行如下
ices -B -b 56 -d MUSIC -n "Afanofamd Radio" -g music -h localhost -p 8080 -P yourpassword -r -S bulitin -u
http://hjjh.kicks-ass.net
-F playlist
具体请参照原来的文章,有几个参数说明一下,原来文章中的-U 应该改为-u,指的是你服务器的地址, -h 参数,是你流服务器(icecast)的地址,如果你的流源(ices)和流服务器(icecast)在一台机器上的话,就用localhost,否则按照实际设定, -P 参数 你的流服务器的密码,待会在设置icecast的时候会用到,两者必须一样,-F 参数,你的播放列表,请按照原来文章的说明声称(find / -name "*.mp3" > playlist)
xml配置文件方式,我使用的是这种方式,配置也比较简单,编辑/etc/ices.conf文件,这是一个xml的配置文件。里面关于没个选项的说明都非常详尽,你可以参照命令行方式来配置,我就不多写了,否则有骗点的嫌疑
;) ,当然运行的方式应该改为ices -c /etc/ices.conf
ok, 到这里,作为流源的ices安装配置完毕。下面我们来配置流服务器icecast
安装完icecast的rpm包后,会在/ect/下生成icecast目录,她的配置文件就在里面,编辑/ect/icecast/icecast.conf文件作几处简单的修改
server_url
http://hjjh.kicks-ass.net/
这里改为你自己的域名
max_clients 100
max_clients_per_source 100
max_sources 10
这些可以酌情修改,傻瓜也知道是什么意思
encoder_password yourpassword
admin_password yourpassword
oper_password yourpassword
这是关键之处,改为你自己的密码,注意要和上面ices一直哦,否则出了问题别管我没说过哦
port 8080
也要注意和ices指定的一样
其它的用默认就可以了吧
好了,现在可以启动icecast了
icecast -b
-b是为了强制icecast进入后台执行
一切ok了
运行netstat -ln看看自己的8080端口已经用上了
好,打开winamp/xmms之类的播放器,选择播放url,敲入
http://yourhost:8080/试试看,有声音,很爽吧
最后为了简单起见,我写了两个shell,让她们两个可以作为service,一启动就运行
1:ices
代码:
#!/bin/sh
#
# ices This shell script takes care of starting and stopping ices.
#
# chkconfig: 2345 98 02
#
# description: the ices daemon
PATH=/usr/bin:/root/bin
{PATH}
program=ices
# See how we were called.
case "$1" in
start)
# Start daemons.
echo -n "Starting ices: "
ices -c /etc/ices.conf
echo
;;
stop)
# Stop daemons.
echo -n "Shutting down ices: "
kill `ps -aef | awk '/[ \/]ices/ { print $2}'`
echo
;;
status)
pids=`ps -aef | awk '/[ \/]ices/ { print $2}'`
if test "$pids"
then
for p in $pids
do
echo "$program (pid $p) is running"
done
else
echo "$program is stopped"
fi
;;
*)
echo "Usage: ices {start|stop|status}"
exit 1
esac
exit 0
请把以上代码存为ices文件,拷贝为/etc/rc.d/init.d/ices文件
修改属性
chmod 744 /etc/rc.d/init.d/ices
加入到service
chkconfig --add ices
2:icecast
代码
#!/bin/sh
#
# icecast This shell script takes care of starting and stopping icecast
#
# chkconfig: 2345 97 03
#
# description: the icecast daemon
PATH=/usr/sbin:/root/bin
{PATH}
program=icecast
# See how we were called.
case "$1" in
start)
# Start daemons.
echo -n "Starting icecast: "
icecast -b
sleep 5
echo
;;
stop)
# Stop daemons.
echo -n "Shutting down icecast: "
kill `ps -aef | awk '/[ \/]icecast/ { print $2}'`
echo
;;
status)
pids=`ps -aef | awk '/[ \/]icecast/ { print $2}'`
if test "$pids"
then
for p in $pids
do
echo "$program (pid $p) is running"
done
else
echo "$program is stopped"
fi
;;
*)
echo "Usage: icecast {start|stop|status}"
exit 1
esac
exit 0
请把以上代码存为icecast文件,拷贝为/etc/rc.d/init.d/icecast文件
修改属性
chmod 744 /etc/rc.d/init.d/icecast
加入到service
chkconfig --add icecast
哈哈,大功告成!写的我累死了。:confused:
感谢linuxaid的处处写了这么好的文章作为我们的参考!
提醒一下,作为流播放的mp3文件有一定的要求,最好码率是一样的,否则会有断断续续的毛病。可以用工具批量转换一下哦,比如lame或者winamp的一些输出插件。
请大家听一下我的Radio Station
http://hjjh.kicks-ass.net:8080/
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
afanofamd
afanofamd
当前离线
积分
126
IP卡
狗仔卡
楼主
|
发表于 2003-4-29 13:05:10
|
显示全部楼层
:confused:
哎,写得这么辛苦居然没人看啊
回复
支持
反对
使用道具
举报
显身卡
Snoopy
Snoopy
当前离线
积分
7263
IP卡
狗仔卡
发表于 2003-4-29 13:19:58
|
显示全部楼层
这个过程好像对我来说麻烦了点!!!!
回复
支持
反对
使用道具
举报
显身卡
Snoopy
Snoopy
当前离线
积分
7263
IP卡
狗仔卡
发表于 2003-4-29 13:20:53
|
显示全部楼层
ok,我试下,有问题再发表,,谢了!!!
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表