有声读物管理平台Booksonic-Air

在这里插入图片描述

老苏最近在听评书,所以想找个软件来管理和收听,找了一圈,感觉 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,并在其中建一个子文件夹 audiobooksconfigothermediapodcasts

文件夹装载路径说明
docker/booksonic-air/audiobooks/audiobooks存放音频文件
docker/booksonic-air/config/config存放设置文件
docker/booksonic-air/othermedia/othermedia存放其他媒体文件
docker/booksonic-air/podcasts/podcasts存放播客文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
40424040

环境

可变
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:latestcontainer_name: booksonic-airrestart: unless-stoppedports:- 4042:4040volumes:- ./config:/config- ./audiobooks:/audiobooks- ./podcasts:/podcasts- ./othermedia:/othermediaenvironment:- 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.wma2024-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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/28800.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux在文件夹中查找文件内容

linux在文件夹中查找文件内容 在Linux中,可以通过以下多个途径,在文件夹中查找文件内容: 1、使用grep命令: grep -r "要查找的内容" /path/to/folder-r参数表示递归地在文件夹及其子文件夹中搜索。/path/to/folder是要搜索的文件夹路径。2、使用ack命令 ack …

通过Vue3+高德地图的JS API实现市区地图渲染

效果图: 核心代码: <script setup>import { onMounted, onUnmounted } from vue;import AMapLoader from @amap/amap-jsapi-loader;import { message } from ant-design-vue;import school from @/assets/icons/school.svg;import enterprise from @/assets/icons/ent…

【Prometheus】自动化效率脚本

定义ip列表文件 cat ip_list.tx ##按照这个格式定义多个ip 192.168.1.1 192.168.1.2 脚本1 &#xff1a;一键telnet ip列表的9100端口可达性 # cat telnet.sh #!/bin/bash# Set the file name filename"ip_list.txt"# Read the file content into a variable ip_l…

英特尔 “AI” 科通:英特尔AI大模型应用前瞻

亲爱的科技探险家、前沿探索者、对未来深具好奇心的您&#xff0c; 身处人工智能引领的时代&#xff0c;我们目睹着行业的革命性变革。技术的创新不仅改变着我们的日常&#xff0c;更重新定义着我们对未来的期许。今天&#xff0c;怀着无限激情和期待&#xff0c;我们邀请您参…

SHH远程管理

4.1SHH远程管理 SSH是一种安全通道协议&#xff0c;主要用来实现字符界面的远程登录&#xff0c;远程复制等功能。 4.1.1配置OpenSSH服务器 在 CentOS 7.3 系统中&#xff0c;OpenSSH 服务器由 openssh、openssh-server 等软件包提供(默认已安装)&#xff0c;并已将 sshd 添…

Java多线程设计模式之保护性暂挂模式

模式简介 多线程编程中&#xff0c;为了提高并发性&#xff0c;往往将一个任务分解为不同的部分。将其交由不同的线程来执行。这些线程间相互协作时&#xff0c;仍然可能会出现一个线程等待另一个线程完成一定的操作&#xff0c;其自身才能继续运行的情形。 保护性暂挂模式&a…

Circle FFT in the Plonky3

传统的STARK系统需要在域中具有平滑阶数的循环群。如此&#xff0c;可以通过采用快速傅里叶变换&#xff08;FFT&#xff09;算法高效的计算多项式的插值点&#xff0c;并在相邻行中加入约束。对于具有阶数为 n n n 单位根的有限域 F p \mathbb{F}_p Fp​&#xff0c;对于很多…

【代码随想录算法训练营第四十天|卡码网46.携带研究材料,416.分割等和子集】

文章目录 卡码网46.携带研究材料二维dp数组一维dp数组&#xff08;滚动数组&#xff09; 416.分割等和子集 卡码网46.携带研究材料 这题是01背包问题。 二维dp数组 dp数组[i][j]前一位表示的是物品的种类&#xff0c;后一位表示的是背包的容量&#xff0c;在物体为i时&#…

Android Room数据库使用介绍

1.简介 Room是Google提供的Android架构组件之一&#xff0c;旨在简化数据库操作。它是SQLite的一个抽象层&#xff0c;提供了更易用和安全的API。 Room的总体架构: 2.Room数据库的基础概念 Entity Entity是Room中的数据表&#xff0c;每个Entity类对应一个SQLite表。 DAO …

研发团队的「技术债」如何进行量化管理?

我共事过的每个团队都会讨论技术债。有些团队知道如何管理它&#xff0c;也有些团队因此崩溃瘫痪&#xff0c;甚至有一家公司因为技术债务没有得到解决而宣告失败。 什么是技术债务&#xff1f; 「债务」这个比喻非常恰当。最早提出「技术债务 Technical Debt」比喻的工程师 W…

Linux(Centos7)OpenSSH漏洞修复,升级最新openssh-9.7p1

OpenSSH更新 一、OpenSSH漏洞二、安装zlib三、安装OpenSSL四、安装OpenSSH 一、OpenSSH漏洞 服务器被扫描出了漏洞需要修复&#xff0c;准备升级为最新openssh服务 1. 使用ssh -v查看本机ssh服务版本号 ssh -V虚拟机为OpenSSH7.4p1&#xff0c;现在准备升级为OpenSSH9.7p1…

Centos7 安装oracle 11.2.0.4

荆轲刺秦王 1. 准备工作 需要下载 Oracle 11g 安装包 2.HostName修改&#xff1a; hostnamectl set-hostname oracle 3. 配置hostname&#xff08;本机IP映射&#xff09;注意&#xff1a;192.168.116.129 需要换乘本地ip vi /etc/hosts 192.168.116.129 oracle # 测试hos…

创新实训2024.06.17日志:大模型微调总结

前段时间其实我们已经部署了大模型&#xff0c;并开放了对外的web接口。不过由于之前某几轮微调实验的大模型在对话时会有异常表现&#xff08;例如响应难以被理解&#xff09;&#xff0c;因此我在项目上线后&#xff0c;监控了数据库里存储的对话记录。确定了最近一段时间部署…

docker部署prometheus

1.拉取镜像 docker pull prom/prometheus2.创建配置文件 cd /root/prometheus touch prometheus.yml touch first_rules.yml3.配置文件内容 prometheus.yml文件内容 # my global config global:scrape_interval: 15s # Set the scrape interval to every 15 seconds. Defau…

Docker的常见问题

1.容器启动失败 检查映像&#xff1a;运行 docker images 确认所需映像存在。检查Dockerfile&#xff1a;验证Dockerfile中的指令无误。查看日志&#xff1a;使用 docker logs <container_id> 查找启动失败的具体原因。资源检查&#xff1a;运行 docker info 或 docker …

基 CanMV 的 C 开发环境搭建

不论是使用 CanMV 提供的基于 C 语言和 FreeRTOS 的应用开发方式开发应用程序或是编译 CanMV 固件&#xff0c;都需要搭建基于 CanMV 的 C 开发环境&#xff0c;用于编译 CanMV 源码。 1. 开发环境搭建说明 CanMV 提供了基于 C 语言和 FreeRTOS 的应用开发…

模拟面试三

1. 你能介绍一下什么是微服务架构&#xff1f; 答案&#xff1a;微服务架构是一种软件开发方法&#xff0c;将一个应用程序拆分成一系列小型、自治、可独立运行的服务&#xff0c;每个服务都专注于完成一个特定的业务功能&#xff0c;并通过轻量级的通信机制进行互联。 2. 你…

【教程】hexo 更换主题后,部署在 Github Page 无 CSS 样式

目录 前言环境hexo 更换主题解决部署到 Github Page 后无 CSS 样式的问题 前言 最近更换了 hexo 的主题后&#xff0c;重新部署到 Github Page 上发现不显示 CSS 样式&#xff0c;但在本地启动时又是正常的效果。此外&#xff0c;检查资源请求&#xff0c;发现多个 .css 文件请…

VO 和 DO

什么是 VO? VO&#xff08;Value Object&#xff09; 值对象&#xff08;Value Object&#xff0c;简称 VO&#xff09; 是一种对象&#xff0c;它主要用于在不同的层次之间传递数据。VO 通常是不可变的&#xff0c;即它的状态一旦被创建&#xff0c;就不会改变。值对象没有…

【软件测试】软件测试入门

软件测试入门 一、什么是软件测试二、软件测试和软件开发的区别三、软件测试在不同类型公司的定位1. 无组织性2. 专职 OR 兼职3. 项目性VS.职能性4.综合型 四、一个优秀的软件测试人员具备的素质1. 技能相关2. 非技能相关 一、什么是软件测试 最常见的理解是&#xff1a;软件测…