MCEBuddy 版本: 2.7.1
操作系统: Windows 10 IoT Enterprise LTSC 2021 x64
建议概要: 我正在使用 “常规设置 → 同步已转换文件” 选项,使文件服务器上的已转换文件与媒体驱动器上的源文件保持同步。由于源文件被添加、移动和删除,我的库中有大量变动。当源文件被删除时,MCEBuddy 会删除已转换的文件,这个特性对我的工作流非常合适。但当前实现存在一些缺点:
- 转换任务会无限期保留在历史文件中,导致文件逐渐膨胀。
- 随着媒体变动,历史文件的解析速度会越来越慢,原因是 #1。
- 随着媒体变动,扫描速度会越来越慢,原因是 #1。
- 如果以后在相同位置以相同名称重新添加源文件,MCEBuddy 会无限期忽略它,因为它已经在历史文件中存在(#1)。
如果启用提议的 “从历史记录中移除已删除文件” 选项,当源文件被删除时,已转换的文件会像现在一样自动删除,随后源文件和已转换文件的记录也会从历史文件中自动移除,这样它们就不再被跟踪。附带观察:这实际上使历史文件成为当前被跟踪文件的数据库,而不再是历史记录。
我知道可以在监视位置设置中启用 “专家设置 → 重新监视已录制视频” 来让 MCEBuddy 忽略历史文件中的源文件信息并重新转换。然而,这会在每次扫描时导致重新转换,除非我同时选择 “专家设置 → 删除原始文件” 或 “专家设置 → 存档原始文件”,这会破坏我的使用场景,因此不是解决方案。它也无法解决因历史文件膨胀而产生的其他问题。
我目前通过一个脚本来规避此行为,该脚本每晚运行一次并 “清理” 历史文件。脚本解析 mcebuddy.log,查找文本 “[source] is stopped being monitored since it has been deleted”。对每个实例,它从日志文本中提取源路径,然后使用该路径在历史文件中找到并删除已转换文件记录和源文件记录。此方法效果显著,解决了上述所有问题,但有一些缺点:
- 必须将 “系统设置 → 日志级别” 设置为 Debug,这会产生更多磁盘写入并略微降低 MCEBuddy 的速度。
- 必须将 “系统设置 → 日志文件保留时间” 设置为较大数值,以避免已删除文件的记录在夜间脚本运行前因日志老化而丢失。这意味着我的夜间脚本需要解析更多内容。
- 如果以后在相同位置以相同名称重新添加源文件,MCEBuddy 会一直忽略它,直到第二天(夜间脚本运行后)。
- 这又是我需要维护的一件事。
如果 MCEBuddy 能原生支持上述功能,在源文件被删除时直接从历史记录中移除相应记录,将更高效地解决问题,对我帮助很大。
谢谢阅读!