Open ddddalex opened 1 month ago
你的后端版本是多少?不知道你的重新更新指的是啥
后端是dockerhub的最新版,重新更新就是在EMBY里面把所有媒体库移除了重新再加入了一遍,也就是重新刮削了一遍。因为文件太多,所以分了十来个媒体库
我不确定十来个媒体库会不会是导致有多个演员重复的原因… 这个问题我之前修复过了,至少现在一个媒体库的话是没问题的。
@xjasonlyu 一个媒体库任然会出现,感觉是在插入新媒体时搜索演员那一步导致的,爬取的演员名字代空格然后没有搜索到后新建了一个演员
更新到新后端和插件最新版本了,依旧是这样的情况,能否增加一个演员数据库的重新整理功能?
同样的问题,这个太影响使用了,束手无策。
同样问题,一个演员重复生成,还无法整合或删除
各种尝试还是不行,这个数据库问题,还有办法解决吗?或者能否增加一个数据库整理功能,我估计是演员名字空格的问题,导致反复生成相同演员,试过调整metaID也没法合并在一起 @xjasonlyu
感觉是新版emby的问题,暂时好像也没有特别好的解决方案,我用4.8似乎没有这个问题。
感觉是新版emby的问题,暂时好像也没有特别好的解决方案,我用4.8似乎没有这个问题。
我新建了一个docker,版本是4.8.0.80,用3个视频测试(同一个演员),还是有这个问题。 演员的信息不一致,其中一个有详细的身高等。 因此判断可能是从不同的数据源网站重复采集导致了这个问题。 希望作者能关注下。
感觉是新版emby的问题,暂时好像也没有特别好的解决方案,我用4.8似乎没有这个问题。
我新建了一个docker,版本是4.8.0.80,用3个视频测试(同一个演员),还是有这个问题。 演员的信息不一致,其中一个有详细的身高等。 因此判断可能是从不同的数据源网站重复采集导致了这个问题。 希望作者能关注下。
你后端版本是啥,这个问题一直有人提,但我修了两次我自己的没问题了,不知道咋回事。
感觉是新版emby的问题,暂时好像也没有特别好的解决方案,我用4.8似乎没有这个问题。
我新建了一个docker,版本是4.8.0.80,用3个视频测试(同一个演员),还是有这个问题。 演员的信息不一致,其中一个有详细的身高等。 因此判断可能是从不同的数据源网站重复采集导致了这个问题。 希望作者能关注下。
你后端版本是啥,这个问题一直有人提,但我修了两次我自己的没问题了,不知道咋回事。
Metatube:2024.612.210.0 Metatube-Server:v1.2.7-43f17e0
提供一个脚本,可以自动清理无效的数据和metadata,清理时服务emby需要停止
set -e
## change me
EMBY_DATA_PATH='/mnt/fast/k8s/pvc-emby-emby-config'
## delete unused actors
sqlite3 $EMBY_DATA_PATH/data/library.db " \
delete from fts_search9_content where id in (select id from mediaitems where type=23 except select personid from itempeople2); \
delete from fts_search9_docsize where id in (select id from mediaitems where type=23 except select personid from itempeople2); \
delete from itemlinks2 where linkedid in (select id from mediaitems where type=23 except select personid from itempeople2); \
delete from itemlinks2 where itemid in (select id from mediaitems where type=23 except select personid from itempeople2); \
delete from mediastreams2 where itemid in (select id from mediaitems where type=23 except select personid from itempeople2); \
delete from userdatas where userdatakeyid in (select userdatakeyid from mediaitems where id in (select id from mediaitems where type=23 except select personid from itempeople2)); \
delete from mediaitems where id in (select id from mediaitems where type=23 except select personid from itempeople2); \
"
## cleanup database
sqlite3 $EMBY_DATA_PATH/data/library.db " \
delete from userdatas where userdatakeyid in (select id from userdatakeys2 except select userdatakeyid from mediaitems); \
delete from userdatakeys2 where id in (select id from userdatakeys2 except select userdatakeyid from mediaitems); \
"
## delete unsed actors metadata
rm /tmp/A -rf
rm /tmp/B -rf
rm /tmp/C -rf
sqlite3 $EMBY_DATA_PATH/data/library.db \
"select images from mediaitems where type=23 and images is not null;" | grep %MetadataPath%/people/ | sed "s#%MetadataPath%/people/##g" | sed "s#/folder.*##g" > /tmp/A
ls -A1 $EMBY_DATA_PATH/metadata/people/ > /tmp/B
cat /tmp/A /tmp/B | sort | uniq -u > /tmp/C
while IFS= read -r line; do
echo -e "\033[33m delete actor metadata files: $line \033[0m"
rm -rf -- "$EMBY_DATA_PATH/metadata/people/$line"
done < /tmp/C
## delete unsed tags metadata
rm /tmp/A -rf
rm /tmp/B -rf
rm /tmp/C -rf
sqlite3 $EMBY_DATA_PATH/data/library.db \
"select images from mediaitems where type=34;" | grep tags | sed "s#%MetadataPath%/tags/##g" | sed "s#/auto_poster_.*##g" > /tmp/A
ls -A1 $EMBY_DATA_PATH/metadata/tags/ > /tmp/B
cat /tmp/A /tmp/B | sort | uniq -u > /tmp/C
while IFS= read -r line; do
echo -e "\033[33m delete tags metadata files: $line \033[0m"
rm -rf -- "$EMBY_DATA_PATH/metadata/tags/$line"
done < /tmp/C
## delete unsed genres metadata
rm /tmp/A -rf
rm /tmp/B -rf
rm /tmp/C -rf
sqlite3 $EMBY_DATA_PATH/data/library.db \
"select images from mediaitems where type=21;" | grep genres | sed "s#%MetadataPath%/genres/##g" | sed "s#/auto_poster_.*##g" > /tmp/A
ls -A1 $EMBY_DATA_PATH/metadata/genres/ > /tmp/B
cat /tmp/A /tmp/B | sort | uniq -u > /tmp/C
while IFS= read -r line; do
echo -e "\033[33m delete genres metadata files: $line \033[0m"
rm -rf -- "$EMBY_DATA_PATH/metadata/genres/$line"
done < /tmp/C
## only reserve latest poster
for i in $EMBY_DATA_PATH/metadata/library/*/*; do
ls -A1t -- "$i" | grep auto_poster |tail +2 > /tmp/D
while IFS= read -r line; do
echo -e "\033[33m delete auto post: $i/$line \033[0m"
rm -rf -- "$i/$line"
done < /tmp/D
done
for i in $EMBY_DATA_PATH/metadata/tags/*; do
ls -A1t -- "$i" | tail +2 > /tmp/D
while IFS= read -r line; do
echo -e "\033[33m delete auto post: $i/$line \033[0m"
rm -rf -- "$i/$line"
done < /tmp/D
done
for i in $EMBY_DATA_PATH/metadata/genres/*; do
ls -A1t -- "$i" | tail +2 > /tmp/D
while IFS= read -r line; do
echo -e "\033[33m delete auto post: $i/$line \033[0m"
rm -rf -- "$i/$line"
done < /tmp/D
done
## show duplicate actor
echo -e "\033[31m Show duplicate actor \033[0m"
sqlite3 $EMBY_DATA_PATH/data/library.db "select name from mediaitems where type=23;" | sort | uniq -d
echo -e "\033[31m -------------------- \033[0m"
## show no actor video
echo -e "\033[31m Show video no actor \033[0m"
sqlite3 $EMBY_DATA_PATH/data/library.db "select name from mediaitems where id in (select id from mediaitems where type=5 except select itemid from itempeople2);" | sort
echo -e "\033[31m -------------------- \033[0m"
上面的脚本无效呢,还会导致原有的演员图片全部裂开
emby版本是4.8.8,一直有这个问题,不知道是后端原因,还是插件原因
上面的脚本无效呢,还会导致原有的演员图片全部裂开
因为你每个演员下面都有媒体条目,只能删除没有被任何媒体引用的冗余演员,你需要刷新元数据,把媒体归类到一个演员ID下
受不了了,感觉整个库都废了。
@huanggs 别慌,这个问题发生概率毕竟不大,出现这个问题就手动处理一下。流程: 开始前前最好备份你的库
fts_search9
开头的所有表,在把library.db覆盖回去,开启emby,测试搜索是否正常补充一下:我的版本是4.9.0.28,没有测试其他版本
万分感谢,楼上说的办法可用
难度有点高,还是放弃了,看看作者会不会把这个问题解决了,我再重新更新整个数据库吧。可能有数千部影片,担心整个爆炸了
Verify steps
MetaTube Plugin Version
2024.612.210.0
MetaTube Server Version
2024.612.210.0
What OS are you seeing the problem on?
Linux, Other
Description
我把整个媒体库做了全部重新更新,但是还是偶尔会生成同样的演员,导致同名演员在EMBY内有十几个,影片就分散的分布在这十几个演员的二级菜单内,请问有没有办法对演员数据进行整理或者合并操作
MetaTube Server
No response
Jellyfin/Emby Logs
No response
MetaTube Server Logs
No response
How to Reproduce
No response