Logitech Media Server已更名为Lyrion Music Server

在这里插入图片描述

还以为是个新软件,折腾之后来才发现 ,Lyrion Music Server 原名叫 Logitech Media Server,只是现在它已不再由 Logitech 拥有和维护,已完全移交给社区,因此更名,但简称依然还是 LMS。镜像目前还是延续了 logitechmediaserver 的名字

什么是 Lyrion Music Server ?

Lyrion Music Server 是一款完全开源的服务器软件,可为各种音频播放器提供支持。借助许多插件,Lyrion Music Server 不仅可以将您本地的音乐收藏传输到您的播放器,还可以将来自许多音乐服务和互联网电台的内容传输到您的播放器。

从界面上也应该能感受到,这是一个古董级的软件了,只是没想到更新还这么活跃,原本只是配合 Squeezebox 播放器的

现在社区已经为各种常见且易于获得的设备(如 WindowsMac 计算机、平板电脑和手机以及 Raspberry Pi)都开发了 Lyrion 客户端软件。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 logitechmediaserver ,选择第一个 lmscommunity/logitechmediaserver,版本选择 latest

本文写作时

  • latest 版本对应为 8.5.2
  • stable 版本对应为 8.5.3
  • dev 版本对应为 9.0.0

因为要挂载时区和时间,所以采用命令行方式安装

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 logitechmediaserver 和 子目录
mkdir -p /volume1/docker/logitechmediaserver/{config,music,playlist}# 进入 logitechmediaserver 目录
cd /volume1/docker/logitechmediaserver# 运行容器
docker run -d \--restart unless-stopped \--name lms \-p 9095:9095/tcp \-p 9090:9090/tcp \-p 3483:3483/tcp \-p 3483:3483/udp \-v $(pwd)/config:/config \-v $(pwd)/music:/music:ro \-v $(pwd)/playlist:/playlist \-v /etc/localtime:/etc/localtime:ro \-v /etc/TZ:/etc/timezone:ro \-e HTTP_PORT=9095 \-e EXTRA_ARGS="--advertiseaddr=192.168.0.197" \lmscommunity/logitechmediaserver

简单的参数说明

文件夹装载路径模式说明
docker/logitechmediaserver/config/configrw设置文件夹
docker/logitechmediaserver/music/musicro音乐文件夹
docker/logitechmediaserver/playlist/playlistrw播放列表文件夹
/etc/TZ/etc/timezonero本机所属的时区
/etc/localtime /etc/localtimero本机时间

端口

本地端口容器端口协议说明
90959095tcpWeb 端口
90909090tcptelnet 端口
34833483tcpSlimProto 协议,服务端侦听
34833483udpSlimProto 协议,客户端侦听

SlimProto 协议是为 Squeezebox 开发的新协议,取代了 SLIMP3 协议。该协议旨在让玩家能够通过 WANLAN 进行有效通信。

默认情况下,Lyrion Music Server 的容器 端口为 9000,但是需要特别注意,http 容器端口 9000cli 容器端口 9090 必须始终以 1:1 映射。您不能像 -p 9095:9000 那样直接映射,因为 Lyrion Music Server 会告诉播放器要连接哪个端口。

部署容器后,可以通过高级/命令行界面 ( CLI ) 下的 Lyrion web ui 设置页面更新 cli 端口,以匹配更新后的 1:1 映射。但是,如果您必须为 LMS 使用不同的 http 端口(9000 除外),您也必须设置HTTP_PORT环境变量

是不是不比较绕?其实总结起来就是:本地端口容器端口 必须是一样的,所以如果你想改 本地端口,必须先改 容器端口

环境变量

可变
PUID设为 1000
PGID设为 1000
TZ时区
HTTP_PORTWeb 端口 ,默认为 9000
EXTRA_ARGS例如:--advertiseaddr=192.168.0.197(你的群晖主机的 IP 地址)

因为我们使用了 bridge 网络模式,导致内部 IP 地址与播放器可以看到的 IP 地址不同,所以需要设置 EXTRA_ARGS。当使用 host 模式时,advertiseaddr 就无需定义。

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: "3"services:lms:image: lmscommunity/logitechmediaservercontainer_name: lmsrestart: unless-stoppedports:- 9095:9095/tcp- 9090:9090/tcp- 3483:3483/tcp- 3483:3483/udpvolumes:- ./config:/config- ./music:/music:ro- ./playlist:/playlist- /etc/localtime:/etc/localtime:ro- /etc/TZ:/etc/timezone:roenvironment:- HTTP_PORT=9095- EXTRA_ARGS=--advertiseaddr=192.168.0.197

然后执行下面的命令

# 新建文件夹 logitechmediaserver 和 子目录
mkdir -p /volume1/docker/logitechmediaserver/{config,music,playlist}# 进入 logitechmediaserver 目录
cd /volume1/docker/logitechmediaserver# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

为了测试,我们在 music 中放了几个文件夹的音乐

运行

在浏览器中输入 http://群晖IP:9095 就能看到主界面

点击右下角的 Settings

下拉选择 简体中文 ,点右下角的 Apply 应用一下,如果界面还是英文的话,刷新一下就可以

SqueezePlay

下载地址:https://sourceforge.net/projects/lmsclients/files/squeezeplay/

Windows 平台为例

语言选择 English
在这里插入图片描述

在局域网是能够自动扫描到服务的

My Music --> Disks and floders --> music

居然乱码了,而服务端显示是正常的

进入文件夹

发现并不影响播放

回到网页,能看到当前的正在播放的播放器及进度

参考文档

Home - Lyrion Music Server
地址:https://lyrion.org/

lmscommunity/logitechmediaserver - Docker Image | Docker Hub
地址:https://hub.docker.com/r/lmscommunity/logitechmediaserver

Lyrion Music Server
地址:https://github.com/LMS-Community

ralph-irving/squeezeplay: Squeezeplay software player for Lyrion Music Server.
地址:https://github.com/ralph-irving/squeezeplay

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Python Flask入门到精通:详细教程和实战案例

前言 Flask是一个轻量级的Web框架,用于快速开发Web应用程序。它的设计理念是简洁、灵活和易于扩展,非常适合于从简单的单页应用到复杂的大型项目。通过Flask,可以创建各种Web应用程序,比如博客、电子商务网站、RESTful API等。 …

在 LCD 上显示 png 图片-I.MX6U嵌入式Linux C应用编程学习笔记基于正点原子阿尔法开发板

在 LCD 上显示 png 图片 PNG 简介 无损压缩:PNG 使用 LZ77 派生算法进行无损压缩,确保图像质量不受损,且压缩比高 体积小:通过高压缩比,PNG 文件体积小,适合网络传输 索引彩色模式:PNG-8 格式…

结合el-upload上传组件,验证文件格式及大小

结合el-upload上传组件&#xff0c;验证文件格式及大小 效果如下&#xff1a; 代码如下&#xff1a; upgradeFirmwareInfo.vue页面 <template><div><el-dialog title"新增固件升级包" :visible.sync"dialogFormVisible"top"7vh&qu…

一年八百倍!刘邦不装杯!——早读(逆天打工人爬取热门微信文章解读)

台风格美&#xff0c;是比较倾向内陆的&#xff0c;大家注意安全 引言Python 代码第一篇 洞见 读懂了刘邦的人性哲学&#xff0c;你迟早脱离底层第二篇 看看新闻了 不小心越写越俗结尾 引言 这行情我TM真的越来越看不懂 现在的互联网太恐怖了 以前还好 很多散户都是懵懂懂的 现…

Java语言程序设计基础篇_编程练习题**15.28(显示一个转动的风扇)

**15.28(显示一个转动的风扇) 编写一个程序显示一个转动的风扇&#xff0c;如图15-33c所示。Pause、Resume和Reverse按钮用于暂停、继续和反转风扇的转动 可修改编程练习题14_9的代码 习题思路&#xff1a; 新建一个BorderPane&#xff0c;一个Pane和一个HBox&#xff0c;P…

javafx的ListView代入项目的使用

目录 1. 创建一个可观察的列表&#xff0c;用于存储ListView中的数据,这里的User是包装了用户的相关信息。 2.通过本人id获取friendid&#xff0c;及好友的id&#xff0c;然后用集合接送&#xff0c;更方便直观一点。 3.用for遍历集合&#xff0c;逐个添加。 4.渲染器&…

Python+Pytest+Allure+Yaml+Pymysql+Jenkins+GitLab运行原理

PythonPytestAllureYamlPymysqlJenkinsGitLab运行原理逻辑及调用关系 GitLab代码仓&#xff1a; Jenkins工作空间&#xff1a; 代码&#xff1a; 测试报告展示&#xff1a;

CTF ssrf 基础入门 (一)

0x01 引言 我发现我其实并不是很明白这个东西&#xff0c;有些微妙&#xff0c;而且记忆中也就记得Gopherus这个工具了&#xff0c;所以重新学习了一下&#xff0c;顺便记录一下吧 0x02 辨别 我们拿到一个题目&#xff0c;他的名字可能就是题目类型&#xff0c;但是也有可能…

Python3网络爬虫开发实战(1)爬虫基础

一、URL 基础 URL也就是网络资源地址&#xff0c;其满足如下格式规范 scheme://[username:password]hostname[:port][/path][;parameters][?query][#fragment] scheme&#xff1a;协议&#xff0c;常用的协议有 Http&#xff0c;https&#xff0c;ftp等等&#xff1b;usern…

数据库(MySQL)-DQL数据查询语言

DQL(Data Query Language 数据查询语言)的用途是查询数据库数据&#xff0c;如select语句。其中&#xff0c;可以根据表的结构和关系分为单表查询和多表联查。 单表查询 单表查询&#xff1a;针对数据库中的一张数据表进行查询 全字段查询 语法&#xff1a;select 字段名 fro…

C# 实现条件变量

C# 进程通信系列 第一章 共享内存 第二章 条件变量&#xff08;本章&#xff09; 第三章 消息队列 文章目录 C# 进程通信系列前言一、关键实现1、用到的主要对象2、初始化区分创建和打开3、变量放到共享内存4、等待和释放逻辑 二、完整代码三、使用示例1、线程同步控制2、进程…

Maven概述

目录 1.Maven简介 2.Maven开发环境搭建 2.1下载Maven服务器 2.2安装&#xff0c;配置Maven 1.配置本地仓库地址 2.配置阿里云镜像地址 2.3在idea中配置maven 2.4在idea中创建maven项目 3.pom.xml配置 1.项目基本信息 2.依赖信息 3.构建信息 4.Maven命令 5.打包Jav…

【PyTorch】图像多分类项目

【PyTorch】图像二分类项目 【PyTorch】图像二分类项目-部署 【PyTorch】图像多分类项目 【PyTorch】图像多分类项目部署 多类图像分类的目标是为一组固定类别中的图像分配标签。 目录 加载和处理数据 搭建模型 定义损失函数 定义优化器 训练和迁移学习 用随机权重进行训…

【HTML — 构建网络】HTML 入门

在本文中,我们将介绍 HTML 的绝对基础知识。为了帮助您入门,本文定义了元素、属性以及您可能听说过的所有其他重要术语。它还解释了这些在 HTML 中的位置。您将学习 HTML 元素的结构、典型的 HTML 页面的结构以及其他重要的基本语言功能。在此过程中,也将有机会玩转 HTML! …

SpringBoot 项目配置文件注释乱码的问题解决方案

一、问题描述 在项目的配置文件中&#xff0c;我们写了一些注释&#xff0c;如下所示&#xff1a; 但是再次打开注释会变成乱码&#xff0c;如下所示&#xff1a; 那么如何解决呢&#xff1f; 二、解决方案 1. 点击” File→Setting" 2. 搜索“File Encodings”, 将框…

Mac安装Hoomebrew与升级Python版本

参考 mac 安装HomeBrew(100%成功)_mac安装homebrew-CSDN博客 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 安装了Python 3.x版本&#xff0c;你可以使用以下命令来设置默认的Python版本&#xff1a; # 首先找到新安…

图片格式转换工具哪个好?一键转换图片格式就用这4个

在贵州的街头&#xff0c;福建的游神活动吸引了众多目光&#xff0c;人们纷纷拿出手机记录下这难得一见的盛况。然而&#xff0c;在分享这些精彩瞬间时&#xff0c;我们往往会遇到格式不兼容的问题。 想象一下&#xff0c;如果你能一键将手机拍摄的HEIC格式转换为更通用的JPG或…

2024 微信小程序 学习笔记 第二天

1. WXML 模板语法 数据绑定 事件绑定 条件渲染 列表渲染 2. WXSS 模板样式 rpx 样式导入 全局和局部样式 3. 全局配置 window tabBar 配置tabBar案例 4. 网络数据请求 Get请求 Post 请求 加载时请求 5. 案例 -本地生活&#xff08;首页&#xff09; 导航栏 轮播图 九宫格效果…

leetcode10 -- 正则表达式匹配

题目描述&#xff1a; 给你一个字符串 s 和一个字符规律 p&#xff0c;请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符* 匹配零个或多个前面的那一个元素 所谓匹配&#xff0c;是要涵盖 整个 字符串 s的&#xff0c;而不是部分字符串。 示例 1&#xff1…

配置sublime的中的C++编译器(.sublime-build),实现C++20

GCC 4.8: 支持 C11 (部分) GCC 4.9: 支持 C11 和 C14 (部分) GCC 5: 完全支持 C14 GCC 6: 支持 C14 和 C17 (部分) GCC 7: 支持 C17 (大部分) GCC 8: 完全支持 C17&#xff0c;部分支持 C20 GCC 9: 支持更多的 C20 特性 GCC 10: 支持大部分 C20 特性 GCC 11: 更全面地支持 C20 …