Tdarr V2:分布式转码系统
音频/视频库分析与转码/重新封装自动化
- FFmpeg/HandBrake + 视频健康检查(Windows、macOS、Linux 和 Docker)
设置/安装
关于:
更多信息可以在以下网站找到:Tdarr V2 是一个跨平台的基于条件的转码应用程序,用于自动化媒体库转码/重新封装管理,以便按需处理您的媒体文件。例如,您可以为媒体设置所需的编解码器、容器、语言等规则,这有助于保持文件的组织性,并可以提高与您设备的兼容性。Tdarr 的一个常见用途是将视频文件从 h264 转换为 h265(hevc),节省 40%-50% 的大小。
该应用程序以点击即用的网络应用形式提供,由以下两个组件组成:
- Tdarr_Server - 所有节点连接的中央进程
- Tdarr_Node - 在同一/其他设备上运行的进程,从服务器收集任务
利用您闲置的硬件,使用适用于 Windows、Linux(包括 Linux arm/arm64)和 macOS 的 Tdarr 节点。
Tdarr 旨在与 Sonarr/Radar 等应用程序一起工作,并以模块化、并行化和可扩展性为目标而构建。您添加的每个库都有自己的转码设置、过滤器和计划。可以根据需要启动和关闭工作节点,并分为 4 种类型 - CPU/GPU 转码和 CPU/GPU 健康检查。工作节点限制可以通过调度程序管理,也可以手动管理。对于具有类似功能的桌面应用程序,请参阅 HBBatchBeast。
- 跨平台 Tdarr 节点,与 Tdarr 服务器协同工作处理您的文件
- GPU 和 CPU 工作节点
- 使用/创建 Tdarr 插件,无限制地控制文件处理方式: https://github.com/HaveAGitGat/Tdarr_Plugins
- 音频和视频库管理
- 7 天,24 小时调度程序
- 文件夹监视器
- 工作节点卡顿检测器
- 库/驱动器之间的负载均衡
- 使用 HandBrake 或 FFmpeg
- 在 1,000,000 文件的模拟库上经过测试
- 基于数百种属性搜索文件
- 库统计信息
- 硬件转码容器(在 unRAID 上安装 Nvidia 插件/在 Ubuntu 上安装 Nvidia 运行时容器)
统计信息
节点
任务报告
属性浏览器
工作节点判定历史
插件堆栈系统
属性搜索
库计划
Tdarr非常模块化和可配置,其主要理念是创建插件堆栈来清理和标准化您的文件。例如,一个典型的插件堆栈可能如下所示:
(1) 将非HEVC文件转码为HEVC
(2) 移除字幕
(3) 移除元数据(如果有标题)
(4) 如果没有,添加AAC立体声音轨(优先英语)
(5) 移除隐藏式字幕
在这个例子中,插件1、2、3和5是社区插件,您可以立即使用。插件4可以在Tdarr的插件创建界面中创建,并会显示为本地插件。
每个插件都是有条件的,只在需要时使用。它们位于Tdarr/Documents目录中,使用JavaScript编写。如果没有插件满足您的需求,您可以修改或创建新插件(如果您有一些编程经验或通过查看代码大致了解)。具体步骤请参阅此处的README:https://github.com/HaveAGitGat/Tdarr_Plugins 。如有需要,可在Discord频道寻求帮助。
以下是插件堆栈工作原理的示意图:
[图片]
关于"流"这个术语,以下是文件在Tdarr搜索结果中的显示示例:
[图片]
该文件有3个流 - 一个视频流、一个音频流和一个字幕流。字幕和隐藏式字幕是完全不同的。在这个例子中,隐藏式字幕数据在哪里?它嵌入在H264视频流中。
您不需要的额外流和隐藏式字幕可能会导致直接播放和同步文件的问题,所以最好将它们移除(建议使用Bazarr这样的工具来处理字幕)。即使在VLC或Kodi等程序中播放文件时,字幕/隐藏式字幕也可能导致播放延迟,并在视频跳转时造成几秒钟的卡顿。
额外的流也可能占用大量空间。不要惊讶于在您的库中看到一些文件包含15个以上的音轨/评论/字幕轨道,涵盖多种语言。这些可能每个文件额外占用1GB以上的空间。
插件创建器分为"过滤器"和"操作"两部分。过滤器包含操作,只有在满足过滤条件时才会执行操作。
当前过滤器:
按编解码器过滤 按媒体类型过滤 按年龄过滤 按分辨率过滤 按大小过滤
当前操作:
转码 - HandBrake基本选项 转码 - HandBrake/FFmpeg自定义参数 转码 - 标准化音频流编解码器 转码 - 添加音频流 转码 - 保留一个音频流 重新封装容器
某些操作/插件有内置过滤器(在插件创建器中指定)。这意味着它们会自动检测文件是否需要处理(例如移除字幕的社区插件)。可以添加额外的过滤器。
一些操作变得相当复杂,需要更多时间。例如,"保留一个音频流"有16种不同的结果,它会根据您指定的编解码器、语言和声道数来确定最佳的音频流。
如果您有新的过滤器/操作请求,请尝试从通用角度考虑,这样我可以以其他人也能配置和应用于他们(略有不同的)情况的方式实现它。可以在GitHub、Reddit或Discord上提出请求。
例如,为了最大化直接播放,可以使用这样的插件堆栈:
(1) 如果不是H264,转码为H264 [H264是比其他更通用的视频编解码器]
(2) 如果不是MP4,重新封装为MP4 [MP4是最通用的容器]
(3) 移除字幕
(4) 移除隐藏式字幕
(5) 如果没有,添加AAC立体声音轨(优先英语)[非常通用的音频编解码器/声道数]
(6) 如果检测到标题元数据,则移除元数据 [防止在Plex中出现烦人的标题]