mpd在openbsd下的使用
发表于 : 2011-06-23 22:38
最近搞了一下mpd,以前在FreeBSD、archlinux下很少放音频文件的,这2个系统已经很久没有玩过了。OB上想放几个MP3听听,所以安个mpd试试,听说这个很流行的,更新也很勤快。
1、什么是MPD?
它是一个基于C/S架构的播放音乐的后台进程,声音输出可以是本地也可以是远程,客户端可以控制播放的内容及音量。我觉得相当于个点唱机了,可以放在有音响的地方,用手机来控制播放,可以我的手机太烂了,没有WIFI不是安卓系统;不过还可以当音频服务器,通http stream来传,差不多等于网络收音机。
2、MPD的客户端
很多很多,可以在MPD的官方网站上找到,常用的是mpc、ncmpc、gmpc、sonata等等,跨平台的是gmpc,相当不错的一个软件。不过先说一下,客户端是用来控制的,本身是放不出声音的,切记。
3、MPD的配置文件
~/.mpdconf
~/.mpd/mpd.conf
/etc/mpd.conf
只要其中一个就可以了,查找的优先顺序是像上面那样从上往下的。我用OB,用的是PORTS安装,自动生成/etc/mpd.conf这个文件了,就不用折腾了直接拿来用,只改少量几个地方,比如启用http stream等等
4、生成MPD运行所需的文件
根据上面的配置来生成
5、启动MPD
一般不会有什么错误提示,有问题也是上面生成的文件的权限问题,用chmod改一下就行,我这里就偷懒了
6、运行客户端gmpc,本地出声音
我是在WIN7下截图的,OB上没抓,不好意思啊,反正差不多的,见图。
点播放就可以在本地听到声音了。怎么播放啊,你懂的。:p
7、如果你要在远程听到声音
仔细看第三张图,知道了吧,把第二项禁止就可以了。如果是用命令行的话是这样的
这个是查看MPD配置的输出,1和2的次序是按配置文件中的先后决定的。
要禁止第二项的话,用
最后用支持http stream的播放器来放就行了,我这里的url为:
一般用浏览器也可放,但我用IE打开总是下载,用FireFOX总是放一小段,不知道问题出在哪里。用精简版的WINAMP就没什么问题。
8、最后让mpd在机器启动时就运行
编辑/etc/rc.conf.local
完成,晕,第一次写这么多。
1、什么是MPD?
它是一个基于C/S架构的播放音乐的后台进程,声音输出可以是本地也可以是远程,客户端可以控制播放的内容及音量。我觉得相当于个点唱机了,可以放在有音响的地方,用手机来控制播放,可以我的手机太烂了,没有WIFI不是安卓系统;不过还可以当音频服务器,通http stream来传,差不多等于网络收音机。
2、MPD的客户端
很多很多,可以在MPD的官方网站上找到,常用的是mpc、ncmpc、gmpc、sonata等等,跨平台的是gmpc,相当不错的一个软件。不过先说一下,客户端是用来控制的,本身是放不出声音的,切记。
3、MPD的配置文件
~/.mpdconf
~/.mpd/mpd.conf
/etc/mpd.conf
只要其中一个就可以了,查找的优先顺序是像上面那样从上往下的。我用OB,用的是PORTS安装,自动生成/etc/mpd.conf这个文件了,就不用折腾了直接拿来用,只改少量几个地方,比如启用http stream等等
代码: 全选
music_directory "/data/MP3"
playlist_directory "/data/MP3/playlists"
db_file "/data/MP3/mpd.db"
log_file "/data/MP3/mpd.log"
pid_file "/data/MP3/mpd.pid"
state_file "/data/MP3/mpdstate"
user "_mpd"
bind_to_address "any"
auto_update "yes"
input {
plugin "curl"
# proxy "proxy.isp.com:8080"
# proxy_user "user"
# proxy_password "password"
}
# 下面这个就是http stream了
audio_output {
type "httpd"
name "My HTTP Stream"
encoder "lame"
port "8000"
# bind_to_address "0.0.0.0"
## quality "5.0"
bitrate "128"
format "44100:16:1"
max_clients "0"}
#下面这个就是本地输出
audio_output {
type "ao"
name "Libao Audio Device"
mixer_type "software"
}
#这个不用多说是字符集了
filesystem_charset "UTF-8"
id3v1_encoding "UTF-8"
根据上面的配置来生成
代码: 全选
# cd /data/MP3
# mkdir -p playlists
以上是创建目录
# touch mpd.db mpd.log mpd.pid mpdstate
以上是创建文件
# chmod 666 mpd*
以上是改权限,让mpd能读写这些文件
5、启动MPD
一般不会有什么错误提示,有问题也是上面生成的文件的权限问题,用chmod改一下就行,我这里就偷懒了
代码: 全选
# mpd -v
config: loading file /etc/mpd.conf
path: path_set_fs_charset: fs charset is: UTF-8
database: reading DB
ao: using ao driver "sndio" for "Libao Audio Device"
daemon: opening pid file
# daemon: daemonized!
daemon: writing pid file
我是在WIN7下截图的,OB上没抓,不好意思啊,反正差不多的,见图。
点播放就可以在本地听到声音了。怎么播放啊,你懂的。:p
7、如果你要在远程听到声音
仔细看第三张图,知道了吧,把第二项禁止就可以了。如果是用命令行的话是这样的
代码: 全选
# mpc outputs
Output 1 (My HTTP Stream) is enabled
Output 2 (Libao Audio Device) is enabled
要禁止第二项的话,用
代码: 全选
# mpc disable 2
Output 1 (My HTTP Stream) is enabled
Output 2 (Libao Audio Device) is disabled
代码: 全选
http://192.168.16.1:8000
8、最后让mpd在机器启动时就运行
编辑/etc/rc.conf.local
代码: 全选
rc_scripts="mpd"