A modern, high-performance optical disc extraction & conversion suite for Windows
Effortlessly extract, convert, and preserve video tracks and movies from VCD and DVD-Video discs โ featuring a sleek adaptive UI, chapter-level precision, multi-audio selection, and zero-fuss automation.
- VCD & DVD Dual Pipeline: Unified, intelligent disc scanner that detects optical media automatically.
- HandBrakeCLI + FFmpeg Hybrid DVD Engine: Ultra-fast, progressive DVD title and chapter transcoding powered by HandBrakeCLI, with automatic fallback to FFmpeg IFO stream parsing.
- Chapter-Level Ripping & Timeline Generation: Rip entire DVD titles or select individual chapters directly from collapsible cards. Automatically generate microsecond-accurate
.txtchapter timeline files via bundled FFprobe. - Comprehensive Audio Track Selection: Discover all audio streams (AC-3, DTS, LPCM, MPEG Audio, 5.1 multichannel) with language metadata and per-title selection persistence across both video and audio-only extraction modes.
- Deep Software Optimizations: Background subprocess execution with zero command-prompt window popups, instantaneous dark/light theme switching, 100%/125%/150% UI scaling with rock-solid window maximize/restore layout stability, and configurable process CPU priority.
| Feature | Description |
|---|---|
| ๐ Hybrid Dual Engine | High-performance title discovery and progressive ripping via HandBrakeCLI, seamlessly backed by FFmpeg / IFO parsing fallback if HandBrakeCLI is unavailable. |
| ๐ Hierarchical Title & Chapter Ripping | All chapters are expanded by default in interactive cards. Rip the complete title (_FULL), select specific chapters, or extract individual chapters without cumbersome mode switching. |
| โฑ Chapter Timeline File (.txt) | Optional automatic timeline export (Generate Chapter Timeline File (.txt)) creating a companion text file (e.g., Title_01_FULL_Chapter_Timeline.txt) with exact timestamps and formatted FFprobe command. |
| ๐ง Full Audio Track Selection | Complete discovery of all audio tracks per title (track number, language, codec, channel layout such as Stereo or 5.1 Surround). Supports explicit stream mapping across MP4, MOV, MPG, WAV, MP3, and dual Video+Audio modes. |
| ๐ DVD Title Output Subfolders | Optional Create folder with DVD title automatically organizes ripped titles and chapters into neat disc-title subfolders. |
| ๐ Hierarchical Selection Logic | One-click ALL selects all titles and all chapters simultaneously; None deselects all. Individual checkboxes update parent counts reactively. |
| ๐ MPEG Timestamp & Sync Hardening | Robust handling of MPEG-2 PCR/PTS timeline discontinuities, dropped frames, and audio-video drift prevention for old or scratched discs. |
| Feature | Description |
|---|---|
| โก Direct Raw DAT Copy | Extract raw .dat MPEG-1 video tracks directly from VCD discs without re-encoding โ transfers at maximum optical drive read speed. |
| ๐ Video Conversion | Convert DAT tracks to modern MP4 (H.264 + AAC), MOV, or standard MPG containers. |
| ๐ 1080p Resolution Upscale | High-quality Lanczos upscaling to 1080p (1440ร1080 for 4:3 aspect ratio, 1920ร1080 for 16:9). |
| Feature | Description |
|---|---|
| ๐ฌ Video Mode | Export video with audio in MP4, MOV, MPG, or DAT formats. |
| ๐ง Audio Only Mode | Extract pristine soundtrack audio directly into WAV (lossless PCM) or MP3 (high-bitrate). |
| ๐ Video and Audio Dual Mode | Simultaneously produce both the video file and a standalone audio track in a single extraction pass. |
| ๐จ Smart Greyout Layout | Resolution and video-specific options gracefully transition to a greyed-out disabled state when Audio Only is active, preventing distracting UI reflows. |
| Feature | Description |
|---|---|
| ๐ช Zero Console Window Flashes | All background operations (FFmpeg, FFprobe, HandBrakeCLI, PowerShell eject) utilize Win32 CREATE_NO_WINDOW, eliminating command prompt popups on Windows. |
| ๐ Adaptive Theme System | Seamlessly toggle between System (follows Windows Dark/Light mode), Light Mode, and Dark Mode. Color palettes, headers, cards, and modal dialogs refresh cleanly with high contrast. |
| ๐ Multi-DPI Interface Scaling | Presets for 100%, 125%, and 150% UI scaling. Engineered with strict sidebar docking and dynamic canvas reflow to ensure zero dead margins when maximizing or restoring the window. |
| ๐ Ripping Process Priority | Configurable CPU scheduling in Settings: Low, Medium, or High (default). Keeps heavy ripping jobs fast while leaving system multitasking responsive. |
| ๐ Ripping FPS Mode | Choose between Passthrough (default, preserves original frame rate) and CFR (constant frame rate) for maximum device compatibility. |
| โ Individual & Batch Renaming | Direct โ rename buttons on every Title and Chapter card. Includes a sequential Batch Rename tool supporting custom prefix, start index, and suffixes. |
| ๐ Real-Time Progress & Taskbar Sync | Unified, smooth progress tracking displaying current track/chapter progress alongside total job percentage, mirrored directly on the Windows taskbar icon. |
| ๐ฑ Global MouseWheel Scrolling | Hover over any scrollable view (source options, track list, right sidebar, console log) to scroll immediately without clicking to focus. |
| ๐ Single-Instance Mutex | Windows system-level mutex prevents duplicate instances from launching; re-launching brings the active window to the foreground. |
| โ Optical Drive Ejection | Multi-strategy safe disc ejection utilizing Win32 DeviceIoControl (IOCTL_STORAGE_EJECT_MEDIA) and PowerShell fallback. |
| ๐ Bilingual Localization | Instant, runtime language switching between English and ็ฎไฝไธญๆ (Simplified Chinese). |
| Requirement | Minimum | Recommended |
|---|---|---|
| Operating System | Windows 7 SP1 (64-bit) | Windows 10 / 11 (64-bit) |
| Processor | Dual-core x86-64 CPU | Quad-core Intel Core i5 / AMD Ryzen or better |
| Memory (RAM) | 512 MB | 2 GB or more |
| Disk Space | ~200 MB for app & tools | 10+ GB free space for ripped video files |
| Optical Drive | DVD-ROM / CD-ROM drive | High-speed internal or USB 3.0 external drive |
| Python (source only) | Python 3.9+ | Python 3.11+ (bundled in portable build) |
- Download
Disc_Ripper_Pro_Portable_v2.0.0.zipfrom the Releases directory. - Extract the archive to any folder on your computer.
- Double-click
Disc Ripper Pro.exeto run. - Note: Keep the bundled
_internal\andffmpeg\folders alongsideDisc Ripper Pro.exe.
git clone https://github.com/jjsiew2014-art/vcd-ripper-pro.git
cd vcd-ripper-propip install -r requirements.txt(Dependencies: Pillow for high-resolution graphics and UI icons)
If FFmpeg is not installed on your system PATH, download it automatically:
python setup_ffmpeg.pyOr place ffmpeg.exe and ffprobe.exe into a local ffmpeg/bin/ folder.
python vcd_ripper.pyOr double-click launch.bat.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [๐ฟ Logo] Disc Ripper Pro v2.0.0 [โ Eject] [โ Rename] [โ Settings] [Log] โ <- Header
โโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโค
โ SOURCE & SEL โ VIDEO FILES LIST โ EXPORT CONTROLS โ
โ โ โ โ
โ ๐ฟ Disc Auto-Detectโ ๐ผ Title 01 (DVD-Video, 01:45:12, 720ร480) โ โ Output Format: โ
โ [Scan Disc] โ โโ โ Chapter 01 (00:00 โ 05:20) โ โ (โข) Video โ
โ โ โโ โ Chapter 02 (05:20 โ 12:45) โ โ ( ) Audio Only โ
โ Selection: โ โโ โ Chapter 03 (12:45 โ 24:10) โ โ ( ) Video + Audio โ
โ [โ ALL] [โ NONE]โ โ โ
โ โ ๐ผ Title 02 (DVD-Video, 00:25:00) โ โ Format: MP4 / MOV โ
โ โ โโ โ Chapter 01 ... โ [โก Start Ripping] โ
โโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโ
- Insert Disc & Detect:
- Insert a VCD or DVD into your optical drive. Disc Ripper Pro automatically identifies the disc format and triggers a scan.
- Alternatively, click Browse Folder to target a local folder containing a VCD structure or a DVD
VIDEO_TSdirectory.
- Review Titles & Chapters:
- For DVDs, titles are listed with duration, resolution, audio streams, and chapters.
- Expand or collapse chapters as desired. Check or uncheck individual chapters to extract only specific segments.
- Click the โ button on any title or chapter to assign a custom output filename, or use Batch Rename in the header.
- Configure Export Settings:
- In the right sidebar, choose your output format (MP4, MOV, MPG, or raw DAT for VCD).
- If ripping audio, select Audio Only (WAV or MP3), or choose Video and Audio to rip both simultaneously.
- For DVDs with multiple languages, select the desired Audio Track from the dropdown.
- (Optional) Check Create folder with DVD title to organize files automatically.
- (Optional) Check Generate Chapter Timeline File (.txt) for companion timestamp files.
- Start Ripping:
- Click โก Start Ripping. Progress is shown on-screen and on the Windows taskbar.
- You can stop an ongoing rip at any time by clicking โน Stop Ripping.
Click the โ Setting button in the top-right header to configure:
- Appearance: Toggle between System (syncs with Windows), Light Mode, and Dark Mode.
- Interface Scaling: Choose 100%, 125%, or 150% scaling for optimal readability across 1080p, 2K, and 4K displays.
- Ripping Process Priority: Adjust CPU scheduling priority (Low, Medium, High) to balance transcoding speed with system multitasking.
- Ripping FPS Mode: Select Passthrough (recommended for native frame timing) or CFR (constant frame rate).
- Language: Switch instantly between English (EN) and ็ฎไฝไธญๆ (ไธญ).
Disc Ripper Pro/
โโโ vcd_ripper.py # Main GUI application, pipeline orchestration & state management
โโโ dvd_engine.py # DVD parsing, HandBrakeCLI & FFmpeg/IFO transcoding engine
โโโ disc_detector.py # Optical drive media type detection & drive inspection
โโโ CompactDisc.png # Application logo
โโโ CompactDisc.ico # Multi-resolution Windows application icon
โโโ en.json # English translation catalog
โโโ zh-CN.json # Simplified Chinese translation catalog
โโโ config.json # User preferences persistence (theme, scale, priority, fps)
โโโ launch.bat # Quick launcher script
โโโ build.bat # PyInstaller automated packaging script
โโโ setup_ffmpeg.py # FFmpeg automatic download utility
โโโ requirements.txt # Python package dependencies
โโโ Disc Ripper Pro.spec # PyInstaller build specification
โโโ tests/ # Automated test suite (152+ unit and regression tests)
โ โโโ test_disc_ripper.py
โโโ ffmpeg/
โโโ bin/
โโโ ffmpeg.exe # Multimedia encoding/decoding engine
โโโ ffprobe.exe # Stream analysis & chapter inspection tool
To create the standalone portable release:
# 1. Install build requirements
pip install pyinstaller pillow
# 2. Compile executable using spec
pyinstaller --noconfirm "Disc Ripper Pro.spec"
# 3. Or run the automated build script
build.batThe resulting standalone executable will be located in dist/Disc Ripper Pro/, and packaged into Release/Disc_Ripper_Pro_Portable_v2.0.0.zip.
Disc Ripper Pro includes a comprehensive automated test suite with 152+ tests covering:
- DVD and VCD auto-detection and fallback routing
- HandBrakeCLI & FFmpeg title discovery and chapter timestamp extraction
- Multi-audio stream mapping and 5.1 channel retention
- Chapter timeline
.txtfile generation and FFprobe parameter formatting - Zero-console-window subprocess creation flag guarantees
- Dynamic layout stability across 100%, 125%, and 150% DPI scaling under maximize and restore operations
- Theme and language runtime switching integrity
Run the test suite with:
python -m unittest discover -s testsThis project is licensed under the MIT License โ see the LICENSE file for details.
Developed with passion by jjsiew2014-art. Free to use, modify, and distribute.
