12 KiB
Here's the complete cleaned-up documentation following the optimized structure:
DVD Ripping Workflow Documentation
Last Updated: [DATE]
1. Introduction
Purpose
A reliable, lossless method to rip DVDs to MKV files while preserving original quality and all audio/subtitle tracks.
Requirements
- Linux system with DVD drive
- sudo/root access for mounting
- 2x DVD storage space for temporary files
Tool Overview
| Tool | Purpose |
|---|---|
vobcopy |
Simple DVD extraction |
dvdbackup |
Advanced title selection |
ffmpeg |
Video conversion/merging |
lsdvd |
DVD structure analysis |
mpv |
Playback verification |
2. Installation
Core Tools
sudo apt update
sudo apt install vobcopy dvdbackup ffmpeg lsdvd
Optional Playback Support
sudo apt install mpv
3. Basic Ripping Workflow
3.1 Mount DVD (If Not Auto-Mounted)
sudo mkdir -p /mnt/dvd
sudo mount /dev/sr0 /mnt/dvd
3.2 Identify Main Title
lsdvd /dev/sr0 | grep -A 5 'Longest track'
Output shows title number, duration, and chapters
3.3 Ripping Methods
Method A: vobcopy (Recommended for Simplicity)
vobcopy -l -m -o ~/dvd_rips
Flags:
-l: Large file support (>2GB)-m: Mirror DVD structure-o: Output directory
Method B: dvdbackup (For Title Selection)
dvdbackup -i /dev/sr0 -o ~/dvd_rip -t <TITLE_NUM> -M
Flags:
-t: Specify title number-M: Main feature mode
3.4 Convert to MKV
ffmpeg -err_detect ignore_err \
-i "concat:INPUT.VOB" \
-map 0:v -map 0:a -map 0:s? \
-c copy \
output.mkv
Key Options:
ignore_err: Skip corrupted sectors-map: Include all streams-c copy: No re-encoding
4. Advanced Techniques
4.1 Batch Processing
for vob in ~/dvd_rips/VIDEO_TS/VTS_*.VOB; do
ffmpeg -err_detect ignore_err -i "$vob" \
-c copy "${vob%.VOB}.mkv"
done
4.2 Multi-Title Extraction
for title in $(lsdvd /dev/sr0 | grep 'Title' | awk '{print $2}' | tr -d ','); do
vobcopy -l -n $title -i /mnt/dvd -o ~/dvd_titles
done
4.3 Error Recovery
ffmpeg -err_detect aggressive -i corrupted.VOB \
-c:v libx264 -crf 18 -preset slow \
-c:a copy \
repaired.mkv
5. Verification
5.1 Quick Integrity Check
ffprobe -v error -show_format output.mkv
5.2 Stream Comparison
ffprobe -show_streams file1.mkv > file1.txt
ffprobe -show_streams file2.mkv > file2.txt
diff -y file1.txt file2.txt | colordiff
5.3 Playback Test
mpv --untimed --frames=100 output.mkv
6. Playback Options
6.1 Basic Playback
mpv output.mkv
6.2 Advanced Controls
| Key | Action |
|---|---|
→/← |
Seek ±5 sec |
Space |
Pause/Play |
# |
Cycle audio tracks |
j |
Next subtitle |
f |
Fullscreen |
6.3 Hardware Acceleration
mpv --hwdec=vaapi --vo=gpu output.mkv
7. Troubleshooting
Common Issues
Problem: vobcopy fails with "Cannot open /dev/dvd"
Solution:
sudo chmod +r /dev/sr0
Problem: Broken VOB files
Solution: Force ffmpeg processing:
ffmpeg -fflags +genpts -i broken.VOB -c copy fixed.mkv
Appendices
A. Command Quick Reference
# Rip entire DVD
vobcopy -l -m -o ~/dvd_rips
# Extract specific title
dvdbackup -t 3 -M -o ~/dvd_rip
# Verify streams
ffprobe -show_streams video.mkv
B. FAQ
Q: How to preserve subtitles?
A: Use -map 0:s? in ffmpeg
Q: Why MKV over MP4?
A: MKV supports DVD subtitles and multiple audio tracks natively
This documentation:
✅ Removes all redundancy
✅ Organizes workflows logically
✅ Provides consistent formatting
✅ Includes troubleshooting
✅ Offers quick-reference sections
Let me know if you'd like any section expanded or additional details added!
You're right - I misunderstood your request. Let me reset and provide exactly what you need for reliable DVD ripping without playback complications.
Bulletproof DVD Ripping Workflow
1. Install Required Tools
sudo apt install vobcopy lsdvd ffmpeg
2. Reliable Rip Command
vobcopy -l -m -o ~/dvd_rips
Flags:
-lLarge file support-mMirror entire DVD structure-oOutput directory
3. Stream-Copy Conversion
ffmpeg -err_detect ignore_err \
-i ~/dvd_rips/VIDEO_TS/VTS_01_1.VOB \
-map 0:v -map 0:a -map 0:s? \
-c copy \
"dvd_output.mkv"
4. Verify Output
ffprobe -v error -show_format -show_streams dvd_output.mkv
Key Advantages
- No Re-encoding: Preserves original quality
- Error Resilience:
ignore_errhandles bad sectors - Complete Preservation: Keeps all audio/subtitle tracks
- No Playback Dependencies: Creates standalone files
For Batch Processing
for vob in ~/dvd_rips/VIDEO_TS/VTS_*.VOB; do
ffmpeg -err_detect ignore_err -i "$vob" \
-c copy "${vob%.VOB}.mkv"
done
This gives you:
- Original quality rips
- No sync issues
- All subtitle/audio tracks
- Files ready for Plex/archiving
Would you like me to focus on any specific part of this workflow?
Understood. Let's implement a clean, methodical approach using two reliable Linux CLI tools to rip DVDs. We'll compare:
vobcopy(traditional, reliable)dvdbackup+ffmpeg(more flexible)
Both methods will output MKV files for fair comparison.
Method 1: vobcopy (Simple & Reliable)
# Install if needed
sudo apt install vobcopy
# Create mount point (if not already done)
sudo mkdir -p /mnt/dvd
sudo mount /dev/sr0 /mnt/dvd
# Rip main title (longest track) to VOB
vobcopy -l -n $(lsdvd /dev/sr0 | grep 'Longest track' | awk '{print $3}') -i /mnt/dvd -o ~/dvd_rip
# Convert VOB to MKV
ffmpeg -i ~/dvd_rip/*/VIDEO_TS/merged.vob -c copy "method1_output.mkv"
# Cleanup
sudo umount /mnt/dvd
Method 2: dvdbackup + ffmpeg (More Control)
# Install if needed
sudo apt install dvdbackup
# Rip specific title
dvdbackup -i /dev/sr0 -o ~/dvd_rip -t $(lsdvd /dev/sr0 | grep 'Longest track' | awk '{print $3}') -M
# Convert VOBs to MKV
ffmpeg -i "concat:$(ls ~/dvd_rip/*/VIDEO_TS/VTS_*.VOB | tr '\n' '|' | sed 's/|$//')" \
-c copy "method2_output.mkv"
Comparison Script
#!/bin/bash
DVD_DEV="/dev/sr0"
OUTPUT_DIR="$HOME/dvd_comparison"
mkdir -p "$OUTPUT_DIR"
# Method 1: vobcopy
time {
sudo mount "$DVD_DEV" /mnt/dvd 2>/dev/null
vobcopy -l -n $(lsdvd "$DVD_DEV" | grep 'Longest track' | awk '{print $3}') -i /mnt/dvd -o "$OUTPUT_DIR/method1"
ffmpeg -i "$OUTPUT_DIR/method1"/*/VIDEO_TS/merged.vob -c copy "$OUTPUT_DIR/method1.mkv" -y
}
# Method 2: dvdbackup
time {
dvdbackup -i "$DVD_DEV" -o "$OUTPUT_DIR/method2" -t $(lsdvd "$DVD_DEV" | grep 'Longest track' | awk '{print $3}') -M
ffmpeg -i "concat:$(ls "$OUTPUT_DIR/method2"/*/VIDEO_TS/VTS_*.VOB | tr '\n' '|' | sed 's/|$//')" \
-c copy "$OUTPUT_DIR/method2.mkv" -y
}
# Compare results
echo -e "\n=== RESULTS ==="
echo "Method 1 (vobcopy): $(du -h "$OUTPUT_DIR/method1.mkv" | awk '{print $1}')"
echo "Method 2 (dvdbackup): $(du -h "$OUTPUT_DIR/method2.mkv" | awk '{print $1}')"
How to Evaluate
- Speed: Check the
timeoutput for each method - Quality: Compare files with:
ffprobe -v error -show_streams -i method1.mkv > method1_info.txt ffprobe -v error -show_streams -i method2.mkv > method2_info.txt diff method1_info.txt method2_info.txt - Reliability: Note which method had fewer errors
Final Recommendation
- Choose
vobcopyif: You want simplicity and reliable single-file output - Choose
dvdbackupif: You need per-title control or have problematic discs
Both methods are bulletproof when discs are clean. The winner depends on your specific use case.
Great! The DVD is now properly mounted at /mnt/dvd in read-only mode (which is normal for DVDs). Let's proceed with the simplest, most reliable method to extract Title 06 (the 2h15m episode) using your working setup.
Step 1: Rip Title 06 Using vobcopy (Correct Syntax)
vobcopy -l -n 6 -i /mnt/dvd -o ~/dvd_rip
-l: Enables large file support (required for DVDs >2GB).-n 6: Explicitly selects Title 06 (the main episode).-i /mnt/dvd: Points to the mounted DVD (yourvobcopyversion requires this).-o ~/dvd_rip: Output directory.
Wait for completion—this may take 10-30 minutes depending on DVD speed.
Step 2: Verify the Ripped Files
ls ~/dvd_rip/YELLOWSTONE_S1_D2/VIDEO_TS/
You should see:
VTS_01_1.VOB,VTS_01_2.VOB, etc. (the main video).VIDEO_TS.IFO(metadata).
Step 3: Merge VOBs into a Single MKV (Lossless)
ffmpeg -i "concat:$(ls ~/dvd_rip/YELLOWSTONE_S1_D2/VIDEO_TS/VTS_01_*.VOB | tr '\n' '|' | sed 's/|$//')" \
-c copy "Yellowstone_S01E02.mkv"
concat:: Merges all VOBs in order.-c copy: No re-encoding (keeps original quality).
Step 4: Clean Up
sudo umount /mnt/dvd # Unmount the DVD
rm -rf ~/dvd_rip # Delete temporary VOBs (optional)
Troubleshooting
-
If
vobcopyfails:- Retry with
-v(verbose) to see errors:vobcopy -v -l -n 6 -i /mnt/dvd -o ~/dvd_rip - Ensure
/mnt/dvdcontains DVD files:ls /mnt/dvd/VIDEO_TS/
- Retry with
-
If
ffmpegcomplains about invalid VOBs:- Extract the largest VOB manually:
ffmpeg -i ~/dvd_rip/YELLOWSTONE_S1_D2/VIDEO_TS/VTS_01_1.VOB -c copy "output.mkv"
- Extract the largest VOB manually:
Expected Result
Yellowstone_S01E02.mkv: A Plex-ready file with:- Original video (MPEG-2).
- Original audio (AC3/DTS).
- Embedded subtitles (if any).
No more guesswork—this exact sequence works with your setup. Let me know if you hit any snags!
Great! Since you have mpv installed (the best CLI media player), here's how to properly view your output files with all streams intact:
Basic Playback
mpv output.mkv
Advanced Viewing Options
1. Verify all streams are detected:
mpv --vf=format=fmt=help output.mkv
This will first show you all available video/audio/subtitle streams before playing.
2. Play with specific audio/subtitle tracks:
mpv --aid=1 --sid=1 output.mkv
Where:
--aid=1selects audio track #1--sid=1selects subtitle track #1
3. Keyboard controls while playing:
| Key | Function |
|---|---|
Space |
Pause/Play |
→ |
Seek +5 sec |
← |
Seek -5 sec |
m |
Mute |
f |
Fullscreen |
9/0 |
Volume control |
j |
Next subtitle track |
# |
Cycle audio tracks |
q |
Quit |
4. For hardware-accelerated playback (if supported):
mpv --hwdec=auto output.mkv
To Verify Your Rip Quality
mpv --untimed --frames=1 --no-audio output.mkv
This will:
- Show just the first frame
- Pause immediately
- Let you inspect video quality
- Press
qto exit
Bonus: Create a Playback Script
Save this as play-dvdrip:
#!/bin/bash
file=${1:-output.mkv}
mpv --hwdec=auto \
--sub-auto=all \
--audio-channels=6 \
"$file"
Make it executable:
chmod +x play-dvdrip
Then use:
./play-dvdrip output.mkv
This gives you professional-grade playback with:
- Auto subtitle detection
- 5.1 audio channel support
- Hardware acceleration
- All the keyboard controls mentioned above
Your rip is ready to enjoy! The combination of ffmpeg for encoding and mpv for playback gives you a complete, high-quality media workflow.