利用Plex和Syncthing搭建媒体中心

简介:

因为软件都是朋友介绍的,这篇文章本来是不打算写的。 但由于在坑上浪费不少时间还是写出来或许对新接触 NAS 的人有所帮助。 本文记录如何利用Plex 和 Syncthing 搭建家用 NAS,具体地实现了这些功能:

  • P2P 的文件备份。
  • DLNA 媒体服务。
  • 随时上传媒体文件。

笔者的设备:Acer 笔记本(Archlinux),小米 TV(Android)。 可能和您的设备有所区别,但原理类似。我了解到即使对 Windows 版本,用户和权限等策略都是一样的。 或者你可以 安装一个 Arch。

软件介绍

Plex 是一套软件,包括媒体服务器、Android 等终端设备 App。支持转码和基于元数据的分类,以及播放时选择不同的码率。

Syncthing 开放的,去中心化的文件同步软件。P2P 的机制很厉害,居然在公司可以与家里的内网服务同步。

systemd 是 Linux 下很先进的守护进程管理工具,使用方式很简单。一个简单的使用例子可以参考这篇文章:使用systemd管理Node.js应用

搭建 Syncthing 服务

Syncthing 有很多 binary 可以下载,可以挑一个合适的下载安装即可。Archlinux 可以从 AUR 安装:


 
 
  1. yaourt -S syncthing 

用 systemd 启动服务:


 
 
  1. systemctl start syncthing@harttle.service 
  2. systemctl enable syncthing@harttle.service 

@harttle 后缀让它工作在 harttle 用户下,需要改成你的系统用户名。 这样 Syncthing 创建的文件拥有 harttle 用户的默认权限,Owner 为harttle:users。

启动后可以访问 来使用服务。你需要在每台设备上都安装 Syncthing, 让它们交换 ID 后即可互相同步文件。备份策略和共享目录都可以在 Web UI 上设置。 如果你的服务像 [Harttle](/) 一样启动在远程服务器上,可以借助 SSH 把 Web UI 的端口 Forward 到本地:


 
 
  1. # 用你的服务器地址 
  2. ssh 192.168.1.xx -L 8384:localhost:8384 

然后访问本地的 。后面的 Plex Web 端口也是一样,不再赘述。

搭建 Plex 服务

同样地,安装 AUR plex 并启动:


 
 
  1. yaourt -S plex-media-server 
  2. systemctl start plexmediaserver 
  3. systemctl enable plexmediaserver 

为了让 Plex 可以读写 Syncthing 的文件,需要让 Plex 也运行在 harttle 用户。 需要做下面的两件事情。

1. 更改启动用户

编辑 Systemd Unit 文件 /etc/systemd/system/multi-user.target.wants/plexmediaserver.service,把 User 和 Group 改成你的:


 
 
  1. [Service] 
  2. User=harttle 
  3. Group=users 

2. 更改运行时文件权限

由于我们更改了 Plex 启动用户,也需要相应更改 Plex 的工作区目录 /var/lib/plex。 这个目录的 Owner 应当与启动用户一致,否则无法正常启动。 如果你的目录不是这个,可以从 Systemd Unit 文件中的配置一路追踪到这个目录。


 
 
  1. chown harttle:users -R /var/lib/plex 

日志文件也在这里,可以用来调试:/var/lib/plex/Plex\ Media\ Server/Logs。 然后重启 Plex 的 Systemd Unit:


 
 
  1. systemctl daemon-reload  
  2. systemctl restart plexmediaserver 

访问 localhost:32400 即可进行媒体内容和目录的管理。 要借助 Syncthing 上传到 Plex,只需要把 Syncthing 和 Plex 目录设成一样的, 上传 Syncthing 结点的对应文件夹的模式设为仅发送。

客户端

如果你从局域网其他机器也可以访问 Plex Media Server 就说明服务已经成功启动了。 在启动 Plex 后就可以从小米电视访问 DLNA 服务了。安装 Plex Android 客户端后会更容易使用,从这里下载: https://www.apkmirror.com/apk/plex-inc/plex/。附使用截图:


本文作者:佚名

来源:51CTO

相关文章
|
缓存 NoSQL Java
面试官:如何保证本地缓存的一致性?
面试官:如何保证本地缓存的一致性?
3119 1
|
5月前
|
人工智能 自然语言处理 安全
2025国内AI数字人企业的权威排名与综合对比
本文将深入探讨2025年国内AI数字人企业的权威排名,并提供综合对比选择建议。通过分析各大厂商的优势与不足,帮助读者轻松识别市场中的领先者和潜力股,以便在快速发展的AI数字人领域做出明智的选择。无论是企业决策者还是行业研究者,均能从中获取宝贵的参考信息。
279 0
|
SQL 前端开发 数据库
django面试题(21道)
1、什么是wsgi? WSGI是Python在处理HTTP请求时,规定的一种处理方式。如一个HTTP Request过来了,那么就有一个相应的处理函数来进行处理和返回结果。
8131 0
|
10月前
|
机器学习/深度学习 人工智能 算法
基于YOLOv8的FPS射击类游戏人物识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
本项目基于YOLOv8与PyQt5开发,专为FPS射击类游戏人物识别设计,具备高精度、实时检测能力。包含完整训练代码、数据集及图形界面,支持图片、视频、摄像头多模式输入,提供从模型训练到部署的全流程解决方案,开箱即用,适合学术研究与AI工程实践。
基于YOLOv8的FPS射击类游戏人物识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
|
程序员 数据库 微服务
长事务管理不再难:Saga模式全面解析
本文介绍了分布式事务中的Saga模式,它用于解决微服务架构下的事务管理问题。Saga通过一系列本地事务和补偿操作确保最终一致性,分为编排和协同两种模式。文章重点讲解了编排模式,其中 Saga 协调者负责事务的执行和失败后的补偿。Saga 模式适用于业务流程明确且需要严格补偿的场景,能有效管理长事务,但实现上可能增加复杂性,并存在一致性延迟。文章还讨论了其优缺点和适用场景,强调了在面对分布式事务挑战时,Saga 模式的价值和潜力。
3399 6
|
前端开发 JavaScript 搜索推荐
计算机Java项目|基于SpringBoot的旅游网站的设计与实现
计算机Java项目|基于SpringBoot的旅游网站的设计与实现
1129 0
|
边缘计算 物联网 开发者
2024年提升开发效率的十大技巧
2024年,软件开发领域持续快速发展,新技术和工具层出不穷。本文总结了十大提升开发效率的技巧,包括精通Git Hooks自动化流程、利用Docker容器化技术、拥抱无代码/低代码平台、集成AI/ML、关注IoT、重视网络安全、采用云原生开发和微服务架构、探索边缘计算、利用AR和即时应用技术,以及参与开源软件项目。这些技巧旨在帮助开发者适应技术变革,提高工作效率。
注册域名需要多久
注册域名需要多久
541 0
|
机器学习/深度学习 人工智能 监控
一文读懂deepSpeed:深度学习训练的并行化
DeepSpeed 是由微软开发的开源深度学习优化库,旨在提高大规模模型训练的效率和可扩展性。通过创新的并行化策略、内存优化技术(如 ZeRO)及混合精度训练,DeepSpeed 显著提升了训练速度并降低了资源需求。它支持多种并行方法,包括数据并行、模型并行和流水线并行,同时与 PyTorch 等主流框架无缝集成,提供了易用的 API 和丰富的文档支持。DeepSpeed 不仅大幅减少了内存占用,还通过自动混合精度训练提高了计算效率,降低了能耗。其开源特性促进了 AI 行业的整体进步,使得更多研究者和开发者能够利用先进优化技术,推动了 AI 在各个领域的广泛应用。
10127 21
|
安全 Linux 网络安全
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(一)
在群晖NAS上使用Docker部署WPS Office并结合Cpolar内网穿透的步骤包括: 1. 通过SSH命令行拉取`linuxserver/wps-office`镜像。 2. 在群晖容器管理界面运行镜像,设置启动选项和端口映射。 3. 本地访问群晖IP:3000端口以使用WPS Office。 4. 安装Cpolar套件,手动添加并安装到群晖,通过9200端口访问其Web管理界面。 5. 使用Cpolar配置内网穿透,实现远程访问WPS Office。 这一过程允许用户即使在没有公网IP的情况下,也能通过Cpolar将内网的WPS Office服务暴露到公网,便于远程办公和文档处理。