有声读物管理平台Booksonic-Air

2024-06-14 13:04

本文主要是介绍有声读物管理平台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

这篇关于有声读物管理平台Booksonic-Air的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1060483

相关文章

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

Spring中管理bean对象的方式(专业级说明)

《Spring中管理bean对象的方式(专业级说明)》在Spring框架中,Bean的管理是核心功能,主要通过IoC(控制反转)容器实现,下面给大家介绍Spring中管理bean对象的方式,感兴趣的朋... 目录1.Bean的声明与注册1.1 基于XML配置1.2 基于注解(主流方式)1.3 基于Java

基于Python+PyQt5打造一个跨平台Emoji表情管理神器

《基于Python+PyQt5打造一个跨平台Emoji表情管理神器》在当今数字化社交时代,Emoji已成为全球通用的视觉语言,本文主要为大家详细介绍了如何使用Python和PyQt5开发一个功能全面的... 目录概述功能特性1. 全量Emoji集合2. 智能搜索系统3. 高效交互设计4. 现代化UI展示效果

Mysql中的用户管理实践

《Mysql中的用户管理实践》:本文主要介绍Mysql中的用户管理实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录13. 用户管理13.1 用户 13.1.1 用户信息 13.1.2 创建用户 13.1.3 删除用户 13.1.4 修改用户

linux服务之NIS账户管理服务方式

《linux服务之NIS账户管理服务方式》:本文主要介绍linux服务之NIS账户管理服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、所需要的软件二、服务器配置1、安装 NIS 服务2、设定 NIS 的域名 (NIS domain name)3、修改主

Python+PyQt5开发一个Windows电脑启动项管理神器

《Python+PyQt5开发一个Windows电脑启动项管理神器》:本文主要介绍如何使用PyQt5开发一款颜值与功能并存的Windows启动项管理工具,不仅能查看/删除现有启动项,还能智能添加新... 目录开篇:为什么我们需要启动项管理工具功能全景图核心技术解析1. Windows注册表操作2. 启动文件

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

gradle第三方Jar包依赖统一管理方式

《gradle第三方Jar包依赖统一管理方式》:本文主要介绍gradle第三方Jar包依赖统一管理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录背景实现1.顶层模块build.gradle添加依赖管理插件2.顶层模块build.gradle添加所有管理依赖包

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指