Cross-platform video file management and organization tool for Linux, macOS, Windows (Git Bash), and WSL.
This release features a complete architectural transformation:
- ✅ 93% smaller main script (6,590 → 465 lines)
- ✅ 12 independent modules for better maintainability
- ✅ All core functionality preserved from previous versions
- ✅ Improved tab completion for all commands
- ✅ Subtitle generation implemented — OpenAI Whisper backend with GPU, parallel jobs, skip-existing, dry-run, and more
- ✅ 158-test automated suite — full integration coverage
Read about the modularization journey →
git clone https://github.com/emaag/vmgr.git
cd vmgr
./install.shManual setup:
chmod +x video-manager-ultimate.sh
./video-manager-ultimate.sh- File Renaming - Bracket notation formatting (
[Studio] filename.mp4) - Directory Flattening - Move files from subdirectories to top level
- Duplicate Detection - SHA-256 hash-based with detailed reports
- File Organization - Automatic sorting by subfolder names with undo functionality
- Batch Processing - Multi-directory operations with accumulated statistics
- Image Conversion - Convert PNG/WebP/HEIC to JPG (requires ImageMagick)
- Subtitle Generation - OpenAI Whisper backend; GPU acceleration, parallel jobs,
skip-existing, dry-run, size/date filters, and interactive editing.
Requires
pip install openai-whisper(or whisper.cpp).
- Multi-Drive Catalog - Index and search media across drives; UI exists but scanning is a stub.
- Organize files by matching subfolder names
- Exclude patterns (e.g., "full" folders)
- Undo/rollback with operation logging
- Progress tracking
- Configurable default paths
- Command-line and interactive modes
- Interactive menu system
- Command-line interface for automation
- Color-coded output
- Real-time progress indicators
- Comprehensive logging
- Dry run mode
- Dry run preview mode
- Conflict resolution
- Error handling and recovery
- Path validation
- Operation logging and undo support
- Modular design - 12 independent modules
- Clean separation - Foundation, Core Features, Advanced Features
- Maintainable - Each module focused on single responsibility
- Extensible - Easy to add new features
- CI/CD - Automated testing on Ubuntu and macOS via GitHub Actions
# Check version
./video-manager-ultimate.sh --version
# Preview changes (dry run)
./video-manager-ultimate.sh --dry-run rename /path/to/videos
# Apply changes
./video-manager-ultimate.sh rename /path/to/videos
# Launch interactive menu
./video-manager-ultimate.sh# Rename with bracket notation
./video-manager-ultimate.sh rename /path
# Flatten directory structure
./video-manager-ultimate.sh flatten /path
# Find duplicates
./video-manager-ultimate.sh duplicates /path
# Batch processing
./video-manager-ultimate.sh batch# Basic subtitle generation
./video-manager-ultimate.sh subtitles /path
# Advanced options
./video-manager-ultimate.sh --model medium --format srt --language en subtitles /path
# GPU-accelerated with parallel processing
./video-manager-ultimate.sh --gpu --parallel 4 subtitles /path
# Enable speaker diarization
./video-manager-ultimate.sh --speaker-diarization --model large subtitles /path# Organize files by subfolder names
./video-manager-ultimate.sh --organize-target /folders --organize-search /search --organize
# Undo last operation
./video-manager-ultimate.sh --undo-organize
# List undo operations
./video-manager-ultimate.sh --list-undo# New collection setup (flatten + rename + detect duplicates)
./video-manager-ultimate.sh workflow-new /path
# Deep clean (dash removal + spacing + bracket notation)
./video-manager-ultimate.sh workflow-clean /pathAccess settings through the interactive menu:
- Main Menu → Settings → Organize Settings
Or use command-line flags:
--organize-target <path> # Set default target folder
--organize-search <path> # Set default search path
--dry-run # Preview without changes
--verbose / --quiet # Output verbosity- Linux - Native support
- macOS - Requires Bash 4.0+
- WSL - Windows Subsystem for Linux
- Git Bash - Windows
- Unix:
/home/user/Videos - WSL:
/mnt/c/Users/user/Videos - Windows:
C:\Users\user\Videos(auto-converted)
mp4, mkv, avi, mov, wmv, flv, webm, m4v, mpg, mpeg, 3gp
- Bash 4.0+
- SHA-256 utility (sha256sum or shasum)
- Standard Unix utilities (find, sed, awk, grep)
- Whisper - For subtitle generation
- OpenAI Whisper:
pip install -U openai-whisper - OR whisper.cpp: https://github.com/ggerganov/whisper.cpp
- OpenAI Whisper:
- ffprobe - For video metadata
- pyannote-audio - For speaker diarization
- README.md - This file (overview and quick reference)
- INSTALLATION-GUIDE.md - Setup instructions and troubleshooting
- VIDEO-MANAGER-BASH-GUIDE.md - Complete feature documentation
- QUICK-REFERENCE.md - Command cheat sheet
- ADVANCED-FEATURES-v1.2.md - Advanced configuration guide
- SUBTITLE-FEATURE-GUIDE.md - Subtitle generation guide
- Location:
~/.video-manager-logs/ - Format: Timestamped with operation details
- Access: Via menu (Utilities → View Logs) or direct file access
- Automatic logging of organize operations
- Undo log location:
~/.video-manager-logs/undo-history/ - Access via menu or CLI:
--undo-organize,--list-undo
- File organization by subfolder names
- Undo/rollback functionality
- Progress bar for operations
- Command-line flags for organization
- Configurable default paths
- Auto-edit mode for subtitles
- Whisper-based subtitle generation
- GPU acceleration
- Parallel processing
- Speaker diarization
- Multiple output formats
- Initial release
- Bracket notation renaming
- Directory flattening
- Duplicate detection
- Batch processing
Created for personal video management. Free to use and modify.
Built-in help:
./video-manager-ultimate.sh --helpInteractive menu: Utilities → System Information for diagnostics