Skip to content

HexStan/VideoWatchdog

Repository files navigation

VideoWatchdog

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)中。

🚀 安装与运行

方式一:直接运行

  1. 克隆仓库
    git clone https://github.com/yourusername/VideoWatchdog.git
    cd VideoWatchdog
  2. 安装 Python 依赖
    pip install -r requirements.txt
  3. 准备配置文件 将示例配置文件复制为正式配置文件,并根据需要进行修改:
    cp config/config.toml.example config/config.toml
  4. 运行程序
    python main.py

方式二:使用 Docker

  1. 准备配置文件

    cp config/config.toml.example config/config.toml
  2. 使用 Docker Compose 启动

    docker-compose up -d

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors