sven_x
31st October 2011, 16:26
Ripping a DVD with scratches really is a problem. After many attempts I found a good working solution that uses DGdecode.
Here is how it goes:
1. Read damaged DVD
Copy all files from DVD to a working directory with your favorite tool
Copy damaged files with the freeware Unstopable copier (http://www.roadkil.net/program.php?ProgramID=29).
In the settings tab set the slider to the right position "fast recovery" (in "slow recovery" modus it can try many hours to copy a few damaged bits, which will not help to restore the data.)
An advanced way of recovery is using several DVD drives together with a software that retries to catch the missing bits only when run at a different drive. (H2CDimage (http://www.heise.de/software/download/h2cdimage/39056) and others)
Damaged bits are filled with garbage, but this will be some % only of those 1 GB vobs.
Most video software cannot work with these damaged files. Virtualdub, avidemux and others throw an error message and quit.
But the following should work.
2. Load the Video using Avisynth and DGdecode
Index the ripped VOB files with DGindex.exe and watch carefully at which running time positions the status line stops for a short while. Write down these positions.
In the avs script edit the path to the proper d2v file generated before. Save script.
Open the script with Virtualdub. Select Audio > Audio from other file... and load the external audio file that DGindex has exported.
Go to the positions in that video that you have written down before. Play and check which parts of the video are damaged. Delete these small parts.
Recode the video.
AvsP Script ------------------------------------------------
# Loading a series of defect VOB files in Virtualdub to be able to cut and recode it
# Sven_x 2011
LoadPlugin("J:\plugins\DGDecode.dll")
# 1fst pass: start DGindedx, open VOB files, run Audio > Output method > Demux all tracks,
# run File > Save project
#open d2v file that you have generated before
Mpeg2Source("J:\...\VTS_01_1.d2v")
# a deinterlacer with antialiazing, written by Didée
# but you can use any other deinterlacer
loadplugin("J:\plugins\NNEDI3.dll")
LoadPlugin("J:\plugins\RepairSSE2.dll")
Loadplugin("J:\plugins\RemoveGrain.dll")
loadplugin("J:\plugins\mt_masktools-25_v20a48.dll") #2.0a45 or above
oo=last
nnedi3(field=-2,nsize=0,nns=3) #DVD content: nns=3
merge(selecteven(),selectodd())
D1=mt_makediff(oo,last)
D2=mt_makediff(last,last.removegrain(11,-1))
last.mt_adddiff(D2.repair(D1,13,-1).mt_lutxy(D2,"x 128 - y 128 - * 0 < 128 x 128 - abs y 128 - abs < x
y ? ?"),U=2,V=2)
o=last
last
# open script with Virtualdub, load external Audio that has been exported by DGindex
#watch carefully for garbed video and cut off these parts
If there are any other working solutions please post here.
Here is how it goes:
1. Read damaged DVD
Copy all files from DVD to a working directory with your favorite tool
Copy damaged files with the freeware Unstopable copier (http://www.roadkil.net/program.php?ProgramID=29).
In the settings tab set the slider to the right position "fast recovery" (in "slow recovery" modus it can try many hours to copy a few damaged bits, which will not help to restore the data.)
An advanced way of recovery is using several DVD drives together with a software that retries to catch the missing bits only when run at a different drive. (H2CDimage (http://www.heise.de/software/download/h2cdimage/39056) and others)
Damaged bits are filled with garbage, but this will be some % only of those 1 GB vobs.
Most video software cannot work with these damaged files. Virtualdub, avidemux and others throw an error message and quit.
But the following should work.
2. Load the Video using Avisynth and DGdecode
Index the ripped VOB files with DGindex.exe and watch carefully at which running time positions the status line stops for a short while. Write down these positions.
In the avs script edit the path to the proper d2v file generated before. Save script.
Open the script with Virtualdub. Select Audio > Audio from other file... and load the external audio file that DGindex has exported.
Go to the positions in that video that you have written down before. Play and check which parts of the video are damaged. Delete these small parts.
Recode the video.
AvsP Script ------------------------------------------------
# Loading a series of defect VOB files in Virtualdub to be able to cut and recode it
# Sven_x 2011
LoadPlugin("J:\plugins\DGDecode.dll")
# 1fst pass: start DGindedx, open VOB files, run Audio > Output method > Demux all tracks,
# run File > Save project
#open d2v file that you have generated before
Mpeg2Source("J:\...\VTS_01_1.d2v")
# a deinterlacer with antialiazing, written by Didée
# but you can use any other deinterlacer
loadplugin("J:\plugins\NNEDI3.dll")
LoadPlugin("J:\plugins\RepairSSE2.dll")
Loadplugin("J:\plugins\RemoveGrain.dll")
loadplugin("J:\plugins\mt_masktools-25_v20a48.dll") #2.0a45 or above
oo=last
nnedi3(field=-2,nsize=0,nns=3) #DVD content: nns=3
merge(selecteven(),selectodd())
D1=mt_makediff(oo,last)
D2=mt_makediff(last,last.removegrain(11,-1))
last.mt_adddiff(D2.repair(D1,13,-1).mt_lutxy(D2,"x 128 - y 128 - * 0 < 128 x 128 - abs y 128 - abs < x
y ? ?"),U=2,V=2)
o=last
last
# open script with Virtualdub, load external Audio that has been exported by DGindex
#watch carefully for garbed video and cut off these parts
If there are any other working solutions please post here.