English | 中文
VideoWatchdog 是一个基于 Python 的轻量级自动化工具,用于监听指定目录中的音视频文件,并在文件写入完成后自动调用 FFmpeg 进行处理。它非常适合需要自动化音视频转码、压缩或格式转换的场景。
📝 更新日志
该项目受到 jlesage/docker-handbrake 项目中的 autovideoconverter 功能的启发,借鉴了其核心逻辑。由于 HandBrake 对于 Linux 上 VAAPI 和 AMD GPU 私有驱动的支持不佳,所以我开发了此项目。
- 目录监听:支持持续监听目录或作为一次性脚本运行。
- 多任务支持:可以在单个配置文件中定义多个独立的监听和处理任务。
- 文件稳定性检测:通过检测文件修改时间和大小变化,确保只处理已完全写入的文件,避免处理正在下载或复制中的不完整文件。
- 自定义 FFmpeg 命令:支持完全自定义的 FFmpeg 处理命令,灵活应对各种音视频处理需求。
- 状态管理:自动记录已处理的文件,防止重复处理。
- 自动归档:处理完成后,自动将源文件移动到指定的归档目录。
- Docker 支持:提供 Dockerfile 和 docker-compose.yml,支持快速容器化部署。
- Python 3.x
- FFmpeg:必须安装并配置在系统的环境变量(PATH)中。
- 克隆仓库
git clone https://github.com/yourusername/VideoWatchdog.git cd VideoWatchdog - 安装 Python 依赖
pip install -r requirements.txt
- 准备配置文件
将示例配置文件复制为正式配置文件,并根据需要进行修改:
cp config/config.toml.example config/config.toml
- 运行程序
python main.py
-
准备配置文件
cp config/config.toml.example config/config.toml
-
使用 Docker Compose 启动
docker-compose up -d