๐ŸŽž๏ธHow I Converted a Full DVD to MP4 and MP3 Using FFmpeg


๐Ÿง  Introduction

As part of my ongoing archival work for the Kapothi Vault, I needed to convert a legacy DVD video disc into two formats:

  • A single .mp4 file preserving the original video quality
  • A single .mp3 file extracted from the DVDโ€™s audio stream

This post documents the exact steps I followed using FFmpeg, a powerful open-source tool for multimedia processing.


๐Ÿ“€ Step 1: Copy DVD Contents to Hard Disk

I first copied the entire DVD to a folder on my hard drive. The DVD structure looked like this:

D:\DVDVIDEO\
โ””โ”€โ”€ VIDEO_TS\
    โ”œโ”€โ”€ VTS_01_1.VOB
    โ”œโ”€โ”€ VTS_01_2.VOB
    โ”œโ”€โ”€ VTS_01_3.VOB
    โ””โ”€โ”€ ...

๐ŸŽฌ Step 2: Convert Full DVD to MP4 (Preserving Quality)

To combine all .VOB files into a single .mp4 file, I created a text file named voblist.txt with the following content:

file 'VTS_01_1.VOB'
file 'VTS_01_2.VOB'
file 'VTS_01_3.VOB'

Then I ran this FFmpeg command:

ffmpeg -f concat -safe 0 -i voblist.txt -vf yadif -c:v libx264 -preset slow -crf 18 -c:a aac -b:a 192k "DVD_Archive.mp4"

โœ… What this does:

  • Combines all listed .VOB files
  • Deinterlaces the video (yadif)
  • Compresses with high-quality H.264 (libx264)
  • Preserves near-original quality (crf 18)
  • Converts audio to AAC at 192 kbps

๐ŸŽต Step 3: Extract Audio as MP3 from Main VOB File

To extract just the audio from the main .VOB file, I used:

ffmpeg -i "VTS_01_1.VOB" -vn -c:a libmp3lame -b:a 192k "DVD_Audio.mp3"

โœ… What this does:

  • -vn disables video
  • Converts audio to MP3 using LAME encoder
  • Preserves audio fidelity at 192 kbps

๐Ÿ•Š๏ธ Final Thoughts

This process ensures that legacy DVDs are not just digitized, but ritualized โ€” with every frame and waveform preserved in formats that honor their original structure. Whether you’re archiving family memories or regional media, FFmpeg remains a sovereign tool in the Kapothi arsenal.


๐Ÿ”– Tags:

FFmpeg, DVD Conversion, Kapothi Vault, Archival Workflow, MP4, MP3, Legacy Media, Open Source Tools

How to Fix / Clean It Up

Force timestamp rewrite
Add flags to reset timestamps:
ffmpeg -i VTS_01_3.VOB -c copy -copyts -start_at_zero VTS_01_3.ts
โ†’ Forces FFmpeg to rebuild timestamps from zero.
Ignore bad timestamps
Skip discontinuities:
ffmpeg -i VTS_01_3.VOB -c copy -fflags +genpts VTS_01_3.ts
โ†’ Generates new presentation timestamps (PTS) instead of copying broken ones.
Reโ€‘encode instead of copy
If remux still noisy, reโ€‘encode video/audio:
ffmpeg -i VTS_01_3.VOB -vf yadif -c:v libx264 -preset slow -crf 18 -c:a aac -b:a 192k VTS_01_3.mp4
โ†’ Smooth timestamps, clean output, no DTS spam.
Concatenate clean TS files
Once each VOB is converted to TS with fixed timestamps, you can safely join them:
ffmpeg -i "concat:VTS_01_1.ts|VTS_01_2.ts|VTS_01_3.ts" -c copy DVD_Archive.ts

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you human? Please solve:Captcha