3 releases
| 0.1.2 | Mar 10, 2025 |
|---|---|
| 0.1.1 | Mar 10, 2025 |
| 0.1.0 | Mar 9, 2025 |
#143 in Video
61 downloads per month
18KB
120 lines
ffwatch
ffwatch is a simple tool to watch a directory for changes and run ffmpeg when a change is detected.
Files found in the directory that have an allowed extension will be enqueued and processed by ffmpeg.
Installation
cargo install ffwatch
Usage
Best used with docker. Create a docker-compose.yml file with the following content:
services:
ffwatch:
image: arbezerra/ffwatch:latest
volumes:
- ./data:/data
devices:
- /dev/dri:/dev/dri
command:
[
"-c:v",
"libx264",
"-crf",
"20",
"-preset",
"ultrafast",
"-c:a",
"aac",
"-b:a",
"128k",
]
Then run:
docker compose up
You can customize with environment variables:
| Variable | Description | Default |
|---|---|---|
| WATCH_DIR | Directory to watch | /data/watch |
| COMPLETE_DIR | Directory to move completed files | /data/complete |
| TRANSCODING_DIR | Directory to store currently transcoding files | /data/transcoding |
| ALLOWED_EXTENSIONS | Comma separated list of allowed extensions | mkv,mp4,avi,mov,flv |
| HWACCEL | FFmpeg hardware acceleration | auto |
| PUID | User ID of the resulting files | 1000 |
| PGID | Group ID of the resulting files | 1000 |
Dependencies
~0.3–11MB
~43K SLoC