# Processing Scripts

A collection of personal command-line utilities.
Mostly for processing, organizing, and managing (media) files.
While created for my own use, they are shared here in case others find them useful.

## Scripts

- **av1**: (DEPRECATED - use vcmp instead) Recursively compresses video files to AV1/MP4 format with reduced quality/size
- **check**: Validates script dependencies and configuration
- **e-ink**: Display handler for e-ink displays with image cycling support
- **indeel**: File organization tool that watches a directory and sorts incoming files based on content hashes
- **mover**: Monitors a source directory and moves files with specified extensions to a destination directory
- **pushover**: Sends push notifications via Pushover API
- **stats**: HTTP server that provides system statistics (CPU, memory, disk usage, etc.) in JSON format
- **stats-collector**: Collects and stores system statistics from multiple hosts
- **syncwall**: Downloads and sets wallpaper with pywal integration
- **vc**: Video converter using ffmpeg and youtube-dl for local files or YouTube URLs
- **vcmp**: Advanced video compression utility with progress tracking and logging

## Installation

1. Configure environment variables:
```bash
cp example.env .env
```

2. Add the scripts to your PATH and load environment variables by adding this line to your shell's RC file (~/.bashrc, ~/.zshrc, etc.):
```bash
source /path/to/repo/scripts/install.sh
```

## Requirements

Use the `check` utility to verify script dependencies are installed:
```bash
check
```

- ffmpeg
- imagemagick
- youtube-dl/yt-dlp
- pushover API tokens
- Python 3.x
- Additional Python packages (sqlalchemy, requests)
- Optional: RPi.GPIO and spidev for e-ink display support
