Documentation
Documentation
DISC SCANNING & METADATA EXTRACTION
Drive Identification
Launches MakeMKV in "robot" mode to probe the inserted disc.
Parses DRV: lines to map the MakeMKV disc ID to the actual drive.
Supports cross-platform drive detection (Windows, macOS, Linux).
Title Info Collection
Reads every TINFO:…9,0 line to capture title durations.
Reads every TINFO:…10,0 line to capture size estimates.
Reads TINFO:…2,0 lines for disc comments (angles, bonus markers).
Reads TINFO:…26,0 lines for segment maps (play order codes).
Parses SINFO: (stream information) lines for audio/video codec information, video resolution and frame rate, subtitle and audio track counts, and chapter information.
Disc Type Detection
Determines "Blu-ray vs. DVD" based on total size thresholds (>15GB typically indicates Blu-ray) and CINFO flags.
TITLE FILTERING & GROUPING
Valid Episode Candidates
Filters out very short (<5 min) and very long (>120 min) titles.
Builds a set of plausible episode titles.
Advanced Chapter-Based Matching
AutoRipper uses intelligent chapter-count analysis to identify episodes. Instead of relying solely on duration, it recognizes that most episodes on a disc have the same chapter structure:
*Priority 1: Exact Match
Finds the most common chapter count among titles (e.g., 8 chapters for standard episodes). If this dominant group equals your expected episode count, an exact match is found.
*Priority 2: Extended Episodes
Checks if standard episodes + extended episodes (with double the chapters) equals your expected count. Extended episodes are treated as single long episodes, not 2-part episodes.
*Priority 3: 2-Part Episodes Detected
Recognizes when some titles have double the dominant chapter count. If the math works out (standard episodes + 2-part episodes = total expected), those are marked as 2-part episodes and given special naming (e.g., Show S01E05E06.mkv).
*Priority 4: Duration-Based 2-Part Detection
If chapters don't match, analyzes whether any titles are 1.7x - 2.3x the median duration of others. These are flagged as potential 2-part episodes.
*Priority 5: Supersize Disc Detection
Detects when all titles on a disc are 2-part episodes. Validates this by checking if the number of disc titles × 2 equals the expected episode count.
Size-Based Clustering
Groups valid titles by file-size similarity (±15%).
Scores each group on:
- Count Match (did it find exactly the expected number of episodes?)
- Sequential IDs (are the track numbers consecutive?)
- Size Consistency (low variance within the group)
- Duration Consistency (similar runtime)
- Segment Simplicity (simple segment maps get higher marks)
Automatic Selection
Chooses the highest-scoring group based on the priority algorithm. Falls back to largest titles if no good group found. For movies, auto-selects the largest valid title.
TITLE CORRECTION
Title Selection
Presents a checklist of all found titles with detailed information:
- Source file name (the .mpls playlist file)
- Video codec
- Video resolution
- Frame rate
- Number of audio tracks
- Number of subtitle tracks
- Chapter count
- File size
- Duration
- Segment pattern
- Comments from disc metadata
- 2-Part Episode Checkbox (automatically checked if detected)
Pre-selects the automatically identified set. User can add/remove to correct any incorrect selections and rearrange the order by clicking and dragging titles.
Extras (Bonus Content)
After episodes are locked in, the remaining titles appear in a second dialog. User may optionally select any extras/bonus content.
RIPPING WITH PROGRESS MONITORING
Per-Title Monitor
For each title, launches MakeMKV's mkv command to rip to a temp folder.
Launches a background task to watch the created .mkv file's size and timestamp.
Detects files recursively to handle discs with complex folder structures.
Ignores transcoding temp files to avoid re-monitoring.
Progress Reporting
Every half-second, the system computes:
- Current rip percent (current size ÷ expected size from MakeMKV)
- Throughput (MB/s) calculated from recent file growth history
Reports overall "steps" (scan, rip each title, rename, eject) so you see macro progress alongside file-level details.
Completion Detection
Uses multiple strategies to detect when a file is complete:
- File is stable for 150 seconds after last growth
- Falls back to 5-minute timeout if no growth detected
File Size Detection
Uses multiple strategies for robust file size detection (important on some systems):
- FileStream method (when file not locked)
- FileInfo with refresh (when FileStream unavailable)
- Windows API fallback (on Windows systems for locked files)
FILE & FOLDER ORGANIZATION
Episode Sorting
By default: uses the simple segment map (numeric play order) to assign files to episode numbers for blu-ray discs.
Falls back to title-number order if segment maps are complex or missing.
2-Part Episodes: Named as Show S01E05E06.mkv - spans two episode numbers
Renaming Convention
TV Shows:
- Standard: ShowName S##E##.mkv
- 2-Part: ShowName S##E##E##.mkv
- Extras: ShowName S##D## - Extra ##.mkv
Movies:
- Standard: MovieTitle (Year).mkv
- Extras: MovieTitle (Year) - Extra ##.mkv
TRANSCODING INTEGRATION
Max Concurrent Transcodes
AutoRipper features a "Max concurrent transcodes" field:
- 0 or empty: Fire-and-forget mode (launches transcoder immediately, no queue management)
- 1: Queue transcodes and process one at a time (CPU efficient)
- 2+: Queue transcodes and process up to N simultaneously (parallelized transcoding)
This allows you to control how many HandBrake instances run at once.
HandBrake Presets
Regardless of the HandBrake preset selected, AutoRipper ensures:
- All audio and subtitle languages/tracks are passed through
- Framerate is set to Same as Source/Variable for optimal quality
Queue Management
Episodes are queued immediately after each rip (not after all episodes complete). This allows transcoding to start while later episodes are still ripping, improving overall throughput on multi-episode discs.
FileBot Support
Organize-Only Mode
If Skip FileBot Renaming is unchecked, runs FileBot on the main episodes (excludes Extras).
Renames with configurable format patterns:
- Default TV: {n}/Season {s}/{n} - {s00e00} - {t}
- Default Movie: {n} ({y})/{n} ({y})
- Custom: You can select Plex naming convention or enter your own fully custom FileBot preset
Extras Handling
After FileBot finishes, the "Extras" folder is manually moved into the library, preserving its naming scheme.
Direct-Move Mode
If Skip FileBot Renaming is checked or no FileBot path is set, simply moves files in place without external tools.
Error Recovery
If FileBot encounters errors, gracefully falls back to direct move. Prevents temp files from being deleted when FileBot fails.
TVDB & DVDCompare Integration
TVDB Database Validation
Queries TheTVDB for episode titles, descriptions, exact durations, and episode count validation.
Uses TVDB data to validate auto-selected titles.
Generates confidence scores (0-100%) for each matched title:
- 100%: Within ±90 seconds of TVDB duration
- 70-99%: Within ±3 minutes of TVDB duration
- 0-69%: Larger deviation, but still considered
- Display: Shows "Good", "Acceptable", or "Poor" match quality
DVDCompare Integration
Accepts optional DVDCompare.net URL for disc-specific episode data.
Performs 3-phase hybrid matching:
1. Maps DVDCompare episodes -> TVDB episode numbers using duration similarity
2. Matches disc titles -> DVDCompare episodes using offset-based scoring
3. Combines mappings, orders by TVDB episode number
Falls back to TVDB-only matching if DVDCompare unavailable.
Fallback Strategy
If TVDB and DVDCompare both unavailable:
1. Sorts by title number (sequential order)
2. Filters to expected episode range
3. May require manual user selection if confidence is low
FILE VALIDATION & ERROR HANDLING
Automatic Rip Retry Logic
- Max retries: 3 attempts with exponential backoff
- Backoff timing: 5 seconds, 10 seconds, 15 seconds between attempts
- Automatically retries on transient errors (device not ready, I/O errors)
- Fails immediately on permanent errors (license expired, region protection, encryption issues)
File Validation After Ripping
After each episode rips, validates:
1. File exists in temp folder
2. File creation time is recent (prevents reusing episodes from previous discs)
3. File created after rip started
4. File size is reasonable (50-150% of expected)
5. File is not corrupt (attempts to open and read)
6. File is not locked by another process
If validation fails:
- Episode is skipped with user notification
- Error details logged for troubleshooting
- Next episode continues normally
DISC EJECTION
Attempts multiple eject methods for reliability.
Cross-platform support:
- Windows: Uses Windows API ejection
- macOS: Uses drutil or hdiutil commands
- Linux: Uses eject or umount commands
Retries gracefully if initial eject fails.
ADVANCED FEATURES
Multi-Movie Disc Support
Checkbox for discs containing multiple full movies.
Presents selection dialog for each movie title and year.
Searches OMDB for each movie to verify correct title match and fetch runtime.
Rips and organizes each movie into its own folder.
2-Part Episode Support
Automatically detects and handles episodes that span two episode numbers on a single disc title.
Names them with special format: "Show SxxEyyEzz.mkv"
Automatically checks the 2-part checkbox in the selection dialog when detected.
**User can manually verify or adjust before ripping starts.
Comprehensive Logging
Per-disc logging saved to AutoRipperTemp/Logs/[TaskName].log includes:
- Disc scan results (all titles found and metadata)
- Episode matching algorithm details
- MakeMKV command outputs
- File validation results
- FileBot operations
- Transcode queue entries
- Detailed timing information
License Key System
Lifetime license key activation.
In-app update checking with automatic prompts.
Telegram Notifications
Integration to receive notifications via Telegram when a disc finishes ripping.
Supports both single movie/TV and multi-movie disc completions.
Drive Busy Detection
Marks disc drive as "busy" when opening a second ripping window.
Prevents simultaneous rips on the same drive.
Allows concurrent rips on different drives.