分布式 AI 视频处理利器,助力视频处理效率飞跃提升


项目简介

FinalRip:分布式 AI 视频处理利器,助力视频处理效率飞跃提升!

  • 🎥 基于 FFmpeg 与 VapourSynth,支持多片段并行剪辑与合并。
  • 🖥️ 支持 Docker 和 Docker-compose 快速部署,一键启动管理面板和监控。
  • ⚙️ 支持 Nvidia GPU 和 AMD GPU(含 ROCm)加速,适配多平台环境包含 WSL2。
  • 🌐 分布式架构,支持多主机多编码工作节点并行处理,极大提升编码速度。
  • 🔧 配置灵活,可通过环境变量、本地或远程 Consul 配置中心管理。
  • 🧩 开发者友好,提供 vs-playground 环境,方便自定义脚本开发调试。
  • 📈 内置异步任务队列 Asynq,确保任务调度高效稳定。

系统架构


我们将原始视频切割成多个片段,然后按队列顺序并行处理每个片段。所有片段处理完成后,再合并成最终视频。

准备工作

  • docker 和 docker-compose
  • 支持 Nvidia GPU / AMD GPU(需 ROCm 支持)(WSL2 上的 7000 系列)
  • GPU 容器运行时(可选)
  • make(可选)

快速部署

编辑 Line 19 为你的局域网 IP 地址

ounter(linedocker-compose -f deploy/docker-compose/lite/docker-compose.yml up -d

这将在单台主机上运行所有容器,然后在浏览器中打开 http://localhost:8989 访问控制面板,打开 http://localhost:8080 访问 Asynq 监控界面。

开始使用


我们使用 此容器 作为基础镜像,其中包含 FFmpeg、VapourSynth、PyTorch 等工具。

因此,在控制面板中,我们可以选择兼容的脚本来处理视频!

分布式部署

以分布式方式部署系统,可以参考 docker-compose 目录获取更多细节。

首先,运行 docker-compose-base.yml 启动基础服务,并打开 Consul 控制面板,添加一个键为 finalrip.yml 的 K/V 对,值为 finalrip.yml 的内容(或你自己的配置文件)。

然后,运行 docker-compose-server.yml 启动控制面板、服务器、切割工作节点和合并工作节点服务。

最后,运行 docker-compose-encode.yml 启动编码工作节点服务,我们可以在不同主机上部署多个编码工作节点以加速编码过程。

注意:建议将 OSS 服务、切割和合并工作节点部署在同一台主机上。

配置

通过以下方式覆盖默认配置:

环境变量 >> 配置文件 / 远程配置文件(Consul)

特殊环境变量:

  • FINALRIP_REMOTE_CONFIG_HOST Consul 主机地址,默认为空,表示从本地文件加载配置。设置后,将从 Consul K/V 存储加载配置。设置为 EASYTIER / easytier 时,会尝试从 FINALRIP_EASYTIER_HOST:8500(默认为 10.126.126.251:8500)加载配置。
  • FINALRIP_REMOTE_CONFIG_KEY Consul 键名,默认为 finalrip.yml

开发新脚本?

在 vs-playground 中,我们提供了与编码工作节点相同的环境,因此你可以在该环境中开发和测试脚本。

高级用户指南

  • API 文档:此处
  • 构建自定义 encode 镜像:参考 vs-playground,并在控制面板中设置 Template Repo 名称,以便从该仓库的 templates 文件夹中选择脚本。

构建

ounter(lineounter(linemake allmake pt

AMD GPU 用户使用 make pt-rocm

项目地址

https://github.com/TensoRaws/FinalRip/blob/main/README.md




扫码加入技术交流群,备注「开发语言-城市-昵称

(文:GitHubStore)

发表评论