Ampache 是一个基于网络的音频/视频流应用程序和文件管理器。它最初是为了利用 Apache 的 Mod_mp3 而编写的,后来增加了流式传输方法,可以支持你从任何平台的网络设备访问自己的视频和音乐。
和 Plex 相比,这款程序全部功能都是免费开源的,并且支持包括 Plex 在内的多种客户端 API 和网络传输协议。
项目网址:https://github.com/ampache/ampache
服务端搭建
要求
web 服务程序,下列之一
- Apache
- lighttpd
- nginx
- IIS
PHP 5.6 或者更高版本
PHP 模块:
- PDO
- PDO_MYSQL
- hash
- session
- json
- simplexml (可选)
- curl (可选)
- 对于 FreeBSD 系统必须加载一下模块:
- php-xml
- php-dom
MySQL 5.x
本文的演示环境:
- lnmp 1.5
- vps
- Debian 7
- 1 CPU
- 512 MB 内存
- 20G 硬盘
linux 服务器上推荐使用 lnmp 安装环境。如果只是用来做音乐服务器,对 vps 的配置要求不高,因为音乐文件的体积也不大,码率要求也低。
下载
安装完 lnmp ,然后创建网站目录
1 | lnmp vhost list |
下载程序,注意不要 git clone ,要从 Release 下载最新版本完整程序安装包。
1 | cd /home/wwwroot/test.nas.ink/ |
修改 config 目录权限,确保安装时配置文件可写入。
1 | chmod 777 -R config/ |
安装
选择语言
访问你配置的网站域名,如果没出错,会出现这个安装页面。
Ampache 支持包括中文在内的多种语言。
环境检测
PHP 整型大小一项会有警告,但貌似影响可以忽略不计。如果其他项没问题,点击继续。
数据库配置
填写端口和密码,然后点击插入数据库。
生成配置文件
如果程序安装包解压在网站根目录,web 路径留空,不用填。
填写 MySQL 用户名和密码
其他设置都保存默认即可,除非你清楚选项的作用。
点击查看文件栏,然后点击第一行配置文件后面的写。如果提示写入错误,请检查 config 目录权限。
配置管理员用户名和密码
检查更新
目前是最新版,无需更新。
安装完成
现在已经安装成功,返回网站首页即可使用了。
使用说明
创建目录
目录就是服务器上存储音乐文件的路径,设置目录后 Ampache 可以扫描路径下的音乐文件,将歌曲信息添加到程序的曲库里。
首先在服务器上创建一个目录,用于存放音乐文件。
1 | mkdir /home/wwwroot/test.nas.ink/music |
使用 ftp 上传文件到目录。因为 linux 系统没装中文语言,上传后文件名会乱码,所以我都是把文件压缩后上传,再解压。
登录 ampache 后台,第一次进入会提示创建目录。
或者点左侧管理员图标,也可添加目录。
目录名称随意填写,目录类型选 local 。文件名样式按照你上传的音乐文件样式修改,需和你上传的音乐文件名样式对应,右边有参数说明。目录样式按实际情况修改。路径填写你之前创建的目录,注意是绝对路径。然后点击添加目录。
扫描目录
第一次添加目录会自动扫描一次,以后上传了新歌可以在目录列表里手动扫描。
扫描完以后,在歌曲标题里面,点击播放按钮可通过网页播放歌曲。
流式播放
ampache 的网页播放十分简陋,并且不知什么原因 flac 格式无法播放。ampache 能够覆盖全平台的方式是网络串流。
点击网页右侧的播放方式选项,默认选项:网络播放器,即通过网页播放。现在改成 流。
然后再点击歌曲的播放按钮,就不会再网页播放,而是会提示下载一个 m3u 文件。接触过直播源或者在线视频抓取的同学应该知道 m3u8 这种文件,m3u 是一种 Windows-1252格式纯文本文件,可以指定一个或多个多媒体文件的位置,而 M3U8 就是 UTF-8 编码的 M3U。
下载后,即可使用本地支持 m3u 的播放器打开。列如 VLC、foobar2000。
foobar2000 打开,需要播放过一次才会显示歌曲名等信息,不知道是不是我的版本有问题。所以还是建议用 VLC 播放,VLC 在几乎所有平台是都有对应安装包。
播放列表
如果想把全部歌曲生成 m3u 添加到本地播放器曲库,可以通过创建智能播放列表的方式,将全部歌曲生成一个 m3u 文件。
不用添加任何规则,点击创建就是把所以歌曲保存成列表。
然后点播放按钮下载 m3u 文件。
把 m3u 文件拖入 VLC 的媒体库,点击展开列表。
key 的有效期
程序默认设置 key 的有效期是 7 个小时,也就是添加到本地播放器媒体库的歌曲 7 个小时后会无法播放。
在管理员,System,将 分享链接的默认有效期改成 0 ,本地的 m3u 歌曲列表就不会失效了。
如果再要使其失效,可以手动刷新 API key
结语
Ampache 还有很多功能我没搞清楚怎么用,目前唯一知道的是采用流媒体方式播放,MPDroid 没搞明白怎么配置。在安卓上有个应用叫 Power Ampache ,可以访问 Ampache 服务器,但是使用体验十分差。Plex 做的不错,但移动端是收费的。找了一圈发现还是 VLC 最强大。