This repository focuses on consistent releases, reliable automation, and clear project documentation. The README stays intentionally high-level and avoids implementation details.
This tool provides a suite of utilities to manage large video collections:
- Video Encoder: Batch converts videos to HEVC/x265 format using FFmpeg to save space while maintaining quality.
- Duplication Checker: Identifies duplicate files using BLAKE3 hashing and moves them to a separate directory to clean up storage.
- Contact Sheet Generator: Automatically generates contact sheet images for videos. It uses scene detection to pick meaningful timestamps and processes thumbnails in parallel for speed.
- Auto Move by Type: Scans a directory and organizes files into subfolders based on their file extensions.
- Orphan File Mover: Detects and relocates "orphan" files—such as sidecar files or thumbnails that no longer have a corresponding video file.
- Video Renamer: Sorts video files by their duration and renames them to maintain a specific order.
One-line install (builds from source):
curl -fsSL https://raw.githubusercontent.com/DennySORA/Auto-Video-Organize/main/install.sh | bashRequirements:
git- Rust toolchain (
cargo)
Release binaries (recommended):
- Download the asset matching your OS/arch from GitHub Releases.
- Extract it (
.tar.gzon macOS/Linux,.zipon Windows). - Move the binary to a directory on your
PATH(e.g.~/.local/bin).
Source build (manual):
git clone https://github.com/DennySORA/Auto-Video-Organize.gitcd Auto-Video-Organizecargo build --release --locked- Copy
target/release/auto_video_organizeto a directory on yourPATH.
Script options:
REFto select a tag/branch (default:main).PREFIXorBIN_DIRto change the install location.
- Security scanning for dependency advisories
- Unit tests on every push and pull request
- Automatic Release creation when a tag is pushed (e.g. v1.2.3)
- Release assets include prebuilt binaries
Open an issue or pull request with a clear scope and rationale.
Use GitHub Issues for questions and requests.