老苏最近在听评书,所以想找个软件来管理和收听,找了一圈,感觉 Booksonic-Air
可能能满足老苏的需求。
什么是 Booksonic-Air ?
Booksonic-Air
是一个用于流式传输有声读物的服务器,是原始Booksonic
服务器的后继者。它并不是从头开始建立的,而是基于Airsonic
的新Booksonic
服务器。
什么是 Booksonic ?
Booksonic
是一个无论您身在何处都可以访问您拥有的有声读物的平台。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 booksonic-air
,选择第一个 linuxserver/booksonic-air
,版本选择 latest
。
本文写作时,
latest
版本对应为2201.1.0
;
卷
在 docker
文件夹中,创建一个新文件夹 booksonic-air
,并在其中建一个子文件夹 audiobooks
,config
,othermedia
,podcasts
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/booksonic-air/audiobooks | /audiobooks | 存放音频文件 |
docker/booksonic-air/config | /config | 存放设置文件 |
docker/booksonic-air/othermedia | /othermedia | 存放其他媒体文件 |
docker/booksonic-air/podcasts | /podcasts | 存放播客文件 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
4042 | 4040 |
环境
可变 | 值 |
---|---|
PUID | 设为 1000 |
PGID | 设为 1000 |
TZ | 设置时区,为 Asia/Shanghai |
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 booksonic-air 和 子目录
mkdir -p /volume1/docker/booksonic-air/{audiobooks,config,othermedia,podcasts}
# 进入 booksonic-air 目录
cd /volume1/docker/booksonic-air
# 运行容器
docker run -d \
--restart unless-stopped \
--name booksonic-air \
-p 4042:4040 \
-v $(pwd)/audiobooks:/audiobooks \
-v $(pwd)/config:/config \
-v $(pwd)/othermedia:/othermedia \
-v $(pwd)/podcasts:/podcasts \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
linuxserver/booksonic-air:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
booksonic-air:
image: linuxserver/booksonic-air:latest
container_name: booksonic-air
restart: unless-stopped
ports:
- 4042:4040
volumes:
- ./config:/config
- ./audiobooks:/audiobooks
- ./podcasts:/podcasts
- ./othermedia:/othermedia
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
然后执行下面的命令
# 新建文件夹 booksonic-air 和 子目录
mkdir -p /volume1/docker/booksonic-air/{audiobooks,config,othermedia,podcasts}
# 进入 booksonic-air 目录
cd /volume1/docker/booksonic-air
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
稍等一会儿,在浏览器中输入 http://群晖IP:4042
就能看到注册界面
按页面上的提示,用户名和密码都是 admin
,记得登录成功后立刻修改
改好密码之后,点 2、Set up media folders.
设置媒体目录
新增 /audiobooks
目录
原来默认的
/music
可以取消Enabled
,但不要勾选Delete
,因为目录并不存在;
如果 /audiobooks
目录已经有文件,可以点 Scan media folders now
开始立刻扫描
扫描完成后就可以播放了,不过老苏发现,mp3
可以直接播放
但是 wma
播放不了,而且还各种乱码
从日志看有报错信息
2024-01-27 10:37:24.865 INFO --- o.a.p.c.StreamController : Streaming request for [/audiobooks/刘兰芳评书《契丹萧太后》/001.wma] with range [bytes 0-6810483/6810484]
2024-01-27 10:37:24.866 INFO --- o.a.p.io.PlayQueueInputStream : 172.17.0.1: admin listening to 刘兰芳评书《契丹萧太后》/001.wma
2024-01-27 10:37:25.155 INFO --- o.a.p.c.StreamController : 172.17.0.1: Client unexpectedly closed connection while loading http://192.168.0.197:4042/stream?player=1&id=60 (java.io.IOException: Broken pipe)
而老苏的评书大部分是 wma
格式的,看来还得继续找
参考文档
popeen/Booksonic-Air: A new Booksonic server based on Airsonic. - OBS: The code here might not be ready for release. Feel free to compile it yourself but if so I recommend searching for the latest commit with the description “Prepare for release”
地址:https://github.com/popeen/Booksonic-Air
Booksonic
地址:https://booksonic.org/
linuxserver/booksonic-air - Docker Image | Docker Hub
地址:https://hub.docker.com/r/linuxserver/booksonic-air
linuxserver/booksonic-air - LinuxServer.io | 中文
地址:https://docs.watercalmx.com/docker-jing-xiang/docker-booksonic-air