| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 搭建一个家用的媒体服务器(支持电影、音乐和电子书) -> 正文阅读 |
|
[系统运维]搭建一个家用的媒体服务器(支持电影、音乐和电子书) |
搭建家用的媒体服务器,用来在不同的设备上面方便得看电影,听音乐,甚至阅读电子书。 可以选择使用 Plex,?Emby, 或者?Jellyfin。 Plex 是商业软件,付费版本的功能更强大,免费版本也能用。 Emby 的早先版本是免费版本,后来商业化之后开源版本不再有更新。 Jellyfin 是基于 Emby 的后续社区开源版本,有持续的更新,且支持硬件解码。 对于我来说, Jellyfin 更重要的功能是除了电影和音乐的支持,还支持电子书。 支持 PDF,EPUB 格式的电子书。 早先用的 Emby,在部署电子图书馆的时候,发现 Jellyfin 支持电子图书的。 媒体服务器用一个系统,电子图书馆再用一个系统维护起来比较麻烦。 这里有几个应用的功能对比:? Compare Media Servers · Protektor-Desura/Archon Wiki · GitHub 对比几个媒体服务器方案之后, 决定使用 Jellyfin 来搭建家用的媒体服务。 以下是使用 docker 来搭建 Jellyfin 的过程。 安装 jellyfin: 用的这个版本的 Docker 镜像.? 你也可以使用 linuxserver/jellyfin,或者 jellyfin/jellyfin 的 docker镜像。 Docker Hub:?https://hub.docker.com/r/nyanmisaka/jellyfin 我用的 docker-compose 的方式启动应用。 不属于在家里的 Linux 小主机上。 vim docker-compose.xml
启动应用:?docker-compose up -d Linux 服务器的地址是 192.168.1.19 之后通过 http://192.168.1.19:8090 来访问 Jellyfin, 第一次访问的时候,设置一个用户名和密码即可。 导入电影,音乐之后界面如下: 如果你在运行 docker-compose 的时候下载不下来 docker 镜像,可以先 docker pull 下载下来镜像。 如果 pull 不下来, 多半是因为网络的缘由,需要设置代理服务器。 如何设置代理服务器,参考我另外的文章设置 Docker 服务器。 以下几个需要注意的地方
1.图书的支持
Mobi, azw3 之类的文件, 可以先转换成 epub 文件,就可以在浏览器上阅读浏览。安装 calibre 之后,找到 calibre 安装目录下面的 ebook-convert ?命令:
ebook-convert? input output.epub
在 Mac 下面运行这个命令,可以批量将当前目录下面的所有 azw3 文件转码为 epub:
ls *.azw3 |xargs -n1 -I {} ebook-convert {} {}.epub
2.播放音乐出现这个错误
This client isn't compatible with the media and the server isn't sending a compatible media format.
可能的原因是 Jellyfin 在更新的时候,连接不到网络引起的, 设置 docker 容器的代理之后。 可以正常播放 wma 的音乐。
3.硬件加速解码
Intel Quick Sync Video?选项只对?Windows?的版本有用。?Linux?都是统一用?VA API?这个选项,实际起硬件加速作用的主要是?/dev/dri(需要根权限)。操作步骤如下:
查看系统是否支持显卡硬解转码
使用 SSH 登录群晖系统(以 root 账号登录),运行命令?ls /dev/dri
若输出?card0、renderD128,则说明支持显卡硬解。
搭建之后,就可以在笔记本上,手机上,或者小米投影仪上看电影了。 也可以导入电子图书,通过浏览器阅读图书。
4.电影的图片、标题元数据不正确
单个电影库处理: 在添加电影目录到 资料库的时候,可以选择不下载 Metadata, 不从 MovieDB 获取数据。 对于已经添加的资料库, 可以 Rescan 重新扫描生成 Metadata。 更新电影库的时候, 把 “TheMovieDB“, “The Open Movie Database” 禁掉,保留 “embedded Image Extractor”,“Screen Grabber” 的选项, 使得可以自动从电影的内容里面提取图片。 对所有电影库默认不从 MovieDB, Open Movie Database 下载 Metadata: 查遍了 Google ,没有发现可以禁用这两个库的方法。 试着改代码,因为网络的原因构建及其麻烦。 最终查代码和配置文件, 发现 config/system.xml 里面有配置 MetadataFetchers, ImageFetchers。 如果希望所有的电影库,默认都不选择?“TheMovieDB“, “The Open Movie Database” 的选项。 则可以更新 config/config/system.xml 的内容,在?Movie 的 MetadataOptions 里面禁用掉这两个数据库,把这两个库添加到 DisabledMetadataFetchers, ?DisabledImageFetchers 里面。 如下:
设置之后, 添加新的电影库时,页面如下: Jellyfin 比较傻的地方是没有全局的设置,可以在 UI 上禁用 TheMovieDb?和?The Open Movie Database,而且默认在匹配的时候还会匹配错内容。所以通过在添加库时,禁用掉这两个选项。或者更改 config/config/system.xml 来默认禁用掉这两个选项。 另外,我出门在外的时候,也可以访问家里的服务器。这个是通过把家里的机器,跟云端的一台Linux 服务器通过 Open VPN 连接起来实现的。 就是说在云端 Linux 服务器上安装 Open VPN 的 Server,然后家里的 媒体服务器(Linux)上安装 Open VPN,配置客户端。 然后在我的 Mac 笔记本上也安装 Open VPN,用的 Tunnelblick ,这样家用的 媒体服务器、云端 Linux 服务器、Mac 笔记本组成一个网络,实现了从公网到家里内网的互联互通。? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 12:06:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |