抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

媒体资源管理方案

前言

Navidrome实在不好用,选择了一些媒体管理的工具。

plex:一键安装的媒体管理工具,安装自动将服务注册到systemd。有免费版,不开源,试了一下还行,但是我不太想用,因为不折腾,因为我不喜欢。

找到了开源的jellyfin,也部署了,太丑,发现了它的衍生商业版emby,看着舒服多了,决定用它

emby

emby有免费版,阉割了很多功能,甚至不能更换主题

当然,我选择使用开心版!

由于docker隔离的原因,导入媒体库不是很方便,得先挂进去

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
version: "3"
services:
emby:
image: lovechen/embyserver:beta # 建议使用beta,因为新版本功能多多
container_name: emby
ports:
- 8096:8096
- 8920:8920
- 1900:1900/udp
- 7359:7359/udp
environment:
- UID=1000
- GID=1000
- GIDLIST=1000
- TZ=Asia/Shanghai
volumes:
- ./emby:/config
- ./data/:/data
- /youmedia:/share/media
restart: always

再导入我的媒体库

image-20230417032751533

image-20230418064258491

看上去非常棒。

syncthing+git lfs

用于同步三端的文件,但是手机上的syncthing,至少鸿蒙上,如果熄屏或者切屏就会断连,不过也无所谓。

我需要记录音乐文件的更改,所以使用git lfs来做版本管理

git lfs服务器只给1g的流量,所以别用了

首次添加时,如果一次性git add,然后push上去,会文件过大而失败,需要分批来做这件事

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash

# 需要提交的文件夹列表
folders=("Music")
# 每次提交的文件数
batch_size=10

for folder in "${folders[@]}"
do
cd "$folder"
files=(*)
num_files=${#files[@]}
for ((i=0; i<num_files; i+=batch_size))
do
batch_files=("${files[@]:i:batch_size}")
for file in "${batch_files[@]}"
do
git add "$file"
done
git commit -m "add files"
git push origin master
done
cd ..
done

自己写了一个MusicInfoExtractor用于解析目录下的音乐文件,然后输出到json,再只提交元信息就好了。

音乐刮削

音乐的封面和标题等信息非常重要,而这些都在音乐的元信息里,在不知多久以前在某些神秘的地方下载的无损文件它很可能缺少这些信息,甚至文件名也是一串魔法字符串,这非常的不妙。

最佳的是使用网易云和qq的智能识别来填充音乐的tag,但是我没有找到任何一个实现了这个功能的工具

主流的方案是用MusicBrainz Picard或者mp3tag,但是这一堆galgame里和动画纯音乐专辑里的冷门音乐,实在是不好用。

找到了musictag:https://www.cnblogs.com/vinlxc/p/11347744.html ,虽然貌似没有开源,但是支持了网易云和qq音乐等匹配,可惜只能在windows上用它

img

番剧

Auto_Bangumi,再加载到emby

如果想要其他的电影电视剧,使用Jackett

音声

音声是好东西,但我不是重度依赖者,所以不太想搭,毕竟真的吃硬盘空间

如果需要,可以使用kikoeru,十分轻量的音乐流媒体服务器,最伟大的同**声网站www.XXXX.one正是使用了它

评论