DVD & Blu-ray Ripping with Open-Source Decryption
v1.3.0 - Production-ready libdvdcss & libaacs integration
π€ AI Development Experiment: This entire application was created using Warp 2.0 AI assistance by someone with zero Swift experience and an Art Degree. Read the full experiment documentation π¨βπ¨βπ»
A native macOS application for automatically ripping DVDs and Blu-rays to MKV format using open-source decryption libraries (libdvdcss & libaacs) - no third-party applications like MakeMKV required!
|
Main Icon 512Γ512 Application Icon |
Simple Icon 128Γ128 Favicon & Small UI |
Horizontal Logo 400Γ120 Documentation & Web |
Professional macOS-style icon featuring a large DVD disc with bright orange floppy disk overlay,
representing the classic-to-digital conversion process. Floppy disk design recommended by
Susanne Moyle for nostalgic throwback appeal, with anatomically correct vertical access window.
- DVD CSS Decryption - Uses open-source libdvdcss for Content Scramble System decryption
- Blu-ray AACS Support - Uses open-source libaacs for AACS decryption and BDMV parsing
- No Third-Party Applications - No need for MakeMKV or other separate ripping tools
- Smart FFmpeg Detection - Automatically detects system-installed FFmpeg or uses bundled version
- Homebrew Compatible - Works seamlessly with Homebrew-installed FFmpeg
- No Installation Dialogs - Eliminates unnecessary FFmpeg installation prompts
- Hardware Acceleration - Optional VideoToolbox acceleration for improved performance
- Intelligent First-Run Setup - Automatically detects and offers to enable hardware acceleration
- Automatic Drive Detection - Smart optical drive detection and selection
- Native macOS interface built with Swift and AppKit
- Easy-to-use GUI with persistent settings
- Progress tracking and logging with real-time updates
- Automatic DVD/Blu-ray structure analysis and title detection
- Chapter preservation and metadata inclusion
- Multiple video/audio codec support (H.264, H.265, AV1, AAC, AC3, DTS, FLAC)
- Configurable quality settings
- π€ 100% AI-Generated: 13,715 lines of Swift code created entirely by AI
β¨ Just download and run - no building required!
- Download the latest release from GitHub Releases
- Open the DMG file and drag AutoRip2MKV to Applications
β οΈ First Launch: Right-click the app β "Open" to bypass macOS security- FFmpeg: Already bundled - no downloads needed!
- Start ripping! - Fully self-contained, works offline
π Need help with installation? See the detailed Installation Guide for step-by-step instructions to handle macOS security restrictions.
Requirements:
- macOS 13.0 or later
- Swift 5.8+ and Xcode Command Line Tools
Steps:
git clone https://github.com/gmoyle/AutoRip2MKV-Mac.git
cd AutoRip2MKV-Mac
swift build && swift runWhen you launch AutoRip2MKV for the first time, the application will:
- Verify FFmpeg - Automatically check that the bundled FFmpeg is available
- Hardware Detection - Test if your Mac supports VideoToolbox hardware acceleration
- Acceleration Dialog - If supported, offer to enable hardware acceleration for faster processing
- Save Preferences - Your choice is remembered for future sessions
- Insert DVD/Blu-ray into your Mac's optical drive
- Launch AutoRip2MKV from Applications
- Select your disc from the automatically detected drives dropdown
- Choose output directory where MKV files will be saved
- Click "Start Ripping" - uses bundled FFmpeg for immediate processing
- Monitor progress in the real-time log area
That's it! The app handles everything automatically including:
- β FFmpeg bundled (no downloads or Homebrew needed)
- β Drive detection and selection
- β CSS/AACS decryption
- β Video conversion to MKV
- β Optional hardware acceleration (VideoToolbox)
The application expects a mounted DVD with the standard VIDEO_TS structure:
/Volumes/YOUR_DVD/
βββ VIDEO_TS/
βββ VIDEO_TS.IFO
βββ VTS_01_0.IFO
βββ VTS_01_1.VOB
βββ VTS_01_2.VOB
βββ ...
This project is built using Swift Package Manager and native macOS frameworks:
- Swift: Primary programming language
- AppKit: Native macOS UI framework
- Cocoa: macOS development framework
AutoRip2MKV-Mac/
βββ Sources/
β βββ AutoRip2MKV-Mac/
β βββ main.swift # Application entry point
β βββ AppDelegate.swift # App lifecycle management
β βββ MainViewController.swift # Main UI and user interaction
β βββ DVDDecryptor.swift # Native CSS decryption engine
β βββ DVDStructureParser.swift # DVD filesystem parser
β βββ DVDRipper.swift # Main ripping coordinator
βββ Tests/
β βββ AutoRip2MKV-MacTests/
β βββ AutoRip2MKV_MacTests.swift
βββ Package.swift
βββ README.md
Note: Most users should download the pre-built release instead of building from source.
# For development: Build, test, and run
swift build && swift test && swift run- Installation Guide - Detailed setup instructions for macOS
- User Guide - Comprehensive feature documentation
- Decryption Libraries - Integration details for libdvdcss and libaacs
- Changelog - Release history and version changes
- Roadmap - Project timeline and planned features
See our comprehensive Roadmap for planned features, enhancements, and long-term project goals including:
- Enhanced 4K Support: Ultra HD Blu-ray detection and processing
- Advanced Automation: Intelligent batch processing and workflow tools
- Professional Features: Metadata management and enterprise tools
- Cross-Platform Expansion: Linux and Windows support evaluation
- AI Development Evolution: Next-generation code generation experiments
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This application uses open-source decryption libraries (libdvdcss and libaacs) from VideoLAN for production-ready DVD and Blu-ray decryption:
DVD Decryption (libdvdcss):
- CSS authentication and key management
- Automatic title key retrieval
- Sector-by-sector decryption during read operations
- Battle-tested implementation from VLC Media Player
Blu-ray Decryption (libaacs):
- AACS authentication and processing
- 6144-byte unit decryption
- KEYDB.cfg integration for key management
- Production-ready Blu-ray support
The application parses the DVD structure natively:
- VMGI (Video Manager Information) parsing
- VTS (Video Title Set) analysis
- Program Chain (PGC) information extraction
- Chapter and cell information parsing
- Duration and metadata extraction
After decryption, the application uses bundled FFmpeg for video conversion:
- FFmpeg v7.1.1-tessus bundled for immediate use
- Support for multiple codecs (H.264, H.265, AV1)
- Audio codec options (AAC, AC3, DTS, FLAC)
- Chapter preservation
- Metadata inclusion
- Quality settings (CRF-based)
- No external dependencies or downloads required
This software is intended for legitimate backup purposes of DVDs you legally own. Users are responsible for complying with all applicable laws regarding DVD copying and CSS circumvention in their jurisdiction.
This project represents a groundbreaking experiment in AI-powered software development:
- Developer: Art degree, zero Swift experience
- Code Written by Human: 0 lines
- Git Commands by Human: 0
- Total Swift Code: 13,715 lines (100% AI-generated)
- Tests: 277 comprehensive tests (100.0% pass rate)
- Development Method: 100% AI-assisted via Warp 2.0
- Latest Release: v1.3.0 - Open-source decryption libraries (Feb 2026)
- Features: DVD/Blu-ray ripping, libdvdcss/libaacs integration, auto drive detection, queue system
π Read the full experiment documentation to see how AI democratizes software development.
"From art degree to Swift developer in one conversation" π¨βπ¨βπ»
- Warp 2.0 Agent Mode for making this experiment possible
- Susanne Moyle for recommending the nostalgic floppy disk design element
- The Swift and macOS development communities
- FFmpeg project for video conversion capabilities
- DVD Forum specifications for DVD structure documentation
