Ansell 8 Posted June 10 Posted June 10 因为Download Local Theme Songs 插件基本失效我做了该插件 本地主题提取器 - Emby 插件 从本地媒体文件中提取主题曲(Emby Theme Songs)的 Emby 插件,无需依赖任何外部下载服务。 功能 电视剧:利用 Emby 已有的片头标记(Intro Markers),用 ffmpeg 从本地媒体文件中提取片头音乐作为 theme.mp3 电视剧片尾回退:对没有片头标记的电视剧,自动检测片尾并提取片尾音乐 电影:通过音频静音检测(silencedetect)和视频黑帧检测(blackdetect)定位片尾字幕起始点,提取片尾音乐 固定窗口兜底:对无黑帧、无静音的电影,可选提取最后 N 秒作为主题曲 特性 零外部依赖:仅使用 Emby 自带的 ffmpeg,不需要网络下载 内存管道处理:ffmpeg 通过 pipe:1 输出到内存,无中间临时文件 带宽优化:使用 -map 0:a:0 仅读取音频流,对 CloudDrive/网盘 FUSE 挂载场景大幅节省流量 三级检测策略:silencedetect(~2MB)→ blackdetect(~200MB)→ 固定窗口(0 额外 I/O) GPU 加速:blackdetect 支持 nvdec/vaapi 等硬件视频解码 只读文件系统感知:自动检测并跳过不可写的挂载点,避免浪费检测流量 支持 .strm 文件:自动解析 strm 内容获取实际媒体路径 多媒体库选择:GenericEdit UI 界面,支持多选媒体库 安装 从 Releases 下载 LocalThemeExtractor.dll 将 DLL 复制到 Emby 的插件目录: Docker:/config/plugins/ Windows: %AppData%\Emby-Server\plugins\ 重启 Emby Server 构建 dotnet build src/LocalThemeExtractor.csproj -c Release 输出文件:src/bin/Release/netstandard2.0/LocalThemeExtractor.dll 配置 安装后在 Emby 管理后台 → 插件 → Local Theme Extractor 中配置: 选项 说明 默认值 媒体库范围 选择要处理的媒体库(不选 = 全部) 全部 并行线程数 同时处理数量 1 覆盖已有 已存在 theme.mp3 时是否重新提取 否 提取片头 使用 Emby 片头标记提取电视剧主题曲 是 优先季数 优先从第几季提取(0=最早有标记的季) 1 最短片头秒数 低于此值视为广告,跳过 20 片尾回退 无片头标记时尝试检测片尾 否 电影片尾检测 检测电影片尾黑帧/静音并提取 是 片尾扫描秒数 从片尾往前扫描多少秒 600 片尾最短秒数 检测到的片尾低于此值不提取 30 固定窗口回退 检测失败时提取最后 N 秒 否 回退窗口秒数 固定窗口提取长度 90 硬件解码 启用 GPU 加速(blackdetect 时有效) 否 解码器名称 nvdec / vaapi / videotoolbox / dxva2 nvdec 音频码率 输出 MP3 码率 192 kbps 检测策略 电视剧(有片头标记): 直接从标记时间段提取 → theme.mp3 电视剧(无片头标记,启用回退): silencedetect → blackdetect → 跳过 电影: silencedetect(~2MB) ↓ 命中 → 提取 ↓ 未命中 blackdetect(~200MB) ↓ 命中 → 提取 ↓ 未命中 固定窗口(可选) ↓ 启用 → 提取最后 N 秒 ↓ 未启用 → 跳过 计划任务 插件注册为 Emby 计划任务「提取本地主题曲」,默认每周日凌晨 3 点自动执行。也可在 Emby 管理后台 → 计划任务中手动触发。 兼容性 Emby 服务器 4.8+ .NET 标准 2.0 Linux / Windows / macOS(需要 ffmpeg 可用) Docker 容器(linuxserver/emby 等) 许可 麻省理工学院 https://github.com/NevermoreN/Emby_LocalThemeExtractor
sh0rty 769 Posted June 10 Posted June 10 @AnsellIs the plugin itself in englisch or chinese? Pretty sure you would catch more people with an additional Repo Readme in englisch.
Ansell 8 Posted June 10 Author Posted June 10 58 minutes ago, sh0rty said: @Ansell插件本身是英文还是中文?我很确定你会发现更多人,多拿一份英文Repo Readme。 中文的 ,我自己写的,插件很简单 chrome翻译即可 ,不是什么很难的事情, 默认设置即可, 依赖片头扫描的数据。我不想写英文的readme 这个插件其实本来是我自己用的 1
Ansell 8 Posted June 10 Author Posted June 10 59 minutes ago, sh0rty said: @Ansell插件本身是英文还是中文?我很确定你会发现更多人,多拿一份英文Repo Readme。 你也可以让luke加入到emby插件目录中 1
WDPR4100 18 Posted June 10 Posted June 10 2026-06-11 00:36:51.258 INFO App: [LocalThemeExtractor]: Start LocalThemeExtractor ... ... 2026-06-11 00:36:51.275 ERROR App: [LocalThemeExtractor]: Core task error *** Encountered Exception *** Type: System.IO.FileNotFoundException Message: Could not load file or volume 'SkiaSharp, Version=2.88.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
Ansell 8 Posted June 11 Author Posted June 11 15 hours ago, WDPR4100 said: 2026-06-11 00:36:51.258 信息应用:[LocalThemeExtractor]: 启动 LocalThemeExtractor ... ...... 2026-06-11 00:36:51.275 错误 应用: [LocalThemeExtractor]: 核心任务错误 *** 遇到异常 *** 类型: System.IO.FileNotFoundException 消息:无法加载文件或卷 'SkiaSharp, Version=2.88.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' 或其依赖之一。 晚点我有空了看看
Ansell 8 Posted June 11 Author Posted June 11 19 hours ago, WDPR4100 said: 2026-06-11 00:36:51.258 INFO App: [LocalThemeExtractor]: Start LocalThemeExtractor ... ... 2026-06-11 00:36:51.275 ERROR App: [LocalThemeExtractor]: Core task error *** Encountered Exception *** Type: System.IO.FileNotFoundException Message: Could not load file or volume 'SkiaSharp, Version=2.88.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies. 日志不够多,你缺少SkiaSharp,但我的插件好像本身没引用SkiaSharp,去更新我的新版本插件(v1.2.0.0),你的emby是什么版本?
Ansell 8 Posted June 11 Author Posted June 11 19 hours ago, WDPR4100 said: 2026-06-11 00:36:51.258 INFO App: [LocalThemeExtractor]: Start LocalThemeExtractor ... ... 2026-06-11 00:36:51.275 ERROR App: [LocalThemeExtractor]: Core task error *** Encountered Exception *** Type: System.IO.FileNotFoundException Message: Could not load file or volume 'SkiaSharp, Version=2.88.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies. 你去下载1.3.0版本 我新推送的,应该不是我的问题,这个报错好像是框架的问题,也许是你的环境?emby本身?
Ansell 8 Posted June 11 Author Posted June 11 19 hours ago, WDPR4100 said: 2026-06-11 00:36:51.258 INFO App: [LocalThemeExtractor]: Start LocalThemeExtractor ... ... 2026-06-11 00:36:51.275 ERROR App: [LocalThemeExtractor]: Core task error *** Encountered Exception *** Type: System.IO.FileNotFoundException Message: Could not load file or volume 'SkiaSharp, Version=2.88.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies. 我需要更多日志
Ansell 8 Posted June 11 Author Posted June 11 On 6/10/2026 at 5:27 PM, sh0rty said: @AnsellIs the plugin itself in englisch or chinese? Pretty sure you would catch more people with an additional Repo Readme in englisch. 我更新了英文版README.md
Ansell 8 Posted 9 hours ago Author Posted 9 hours ago 3 hours ago, 251643711 said: 不知道为什么电视剧不提取,一部分提取的很多声音很轻,有些又很重 可以设置,去github下最新版 我仓库里,电视剧s2开始 ,首先你的剧要有片头扫描
Ansell 8 Posted 9 hours ago Author Posted 9 hours ago Just now, Ansell said: 可以设置,去github下最新版 我仓库里,电视剧s2开始 ,首先你的剧要有片头扫描 e02说错了
Ansell 8 Posted 41 minutes ago Author Posted 41 minutes ago 自动就是e02 以前是e01 不可设置了现在,但是按道理来说你如果有片头标记应该是可以出的 检查下日志的错误原因 并且要确保剧是有片头的 电影可以用黑帧判断
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now