- http://forum.videohelp.com/
threads/171755-Finalize-DVD-R- is-this-possible - http://archive.avsforum.com/
avs-vb/showthread.php?s=& threadid=413561
Linux is a powerful open source operating system whose many distributions offer packages of free software applications, many of which are as fully featured as competing commercial software available for closed source operating systems. And the maintainers of many of these tools also provide binary ports that run on Windows or MacOSX. On my CentOS 5.4 Linux desktop computer at work, I have the dvd+rw-tools package installed. This is also available as a binary port for Windows. This provides among other things a neat little utility that gives the structure of a DVD disk, even one that can't be mounted in the usual ways. With a disk in the drive and assuming a DVD device of /dev/dvd, I type 'dvd+rw-mediainfo /dev/dvd' and hit Return:
% dvd+rw-mediainfo /dev/dvd INQUIRY: [PHILIPS ][DVD+-RW DVD8801 ][4D28] GET [CURRENT] CONFIGURATION: Mounted Media: 11h, DVD-R Sequential Current Write Speed: 16.0x1385=22160KB/s Write Speed #0: 16.0x1385=22160KB/s Write Speed #1: 12.0x1385=16620KB/s Write Speed #2: 8.0x1385=11080KB/s Write Speed #3: 4.0x1385=5540KB/s GET [CURRENT] PERFORMANCE: Write Performance: 16.0x1385=22160KB/s@[0 -> 1845983] Speed Descriptor#0: 00/1845983 R@6.7x1385=9276KB/s W@16.0x1385=22160KB/s Speed Descriptor#1: 00/1845983 R@6.7x1385=9276KB/s W@12.0x1385=16620KB/s Speed Descriptor#2: 00/1845983 R@6.7x1385=9276KB/s W@8.0x1385=11080KB/s Speed Descriptor#3: 00/1845983 R@6.7x1385=9276KB/s W@4.0x1385=5540KB/s READ DVD STRUCTURE[#10h]: Media Book Type: 00h, DVD-ROM book [revision 0] Legacy lead-out at: 2298496*2KB=4707319808 READ DVD STRUCTURE[#0h]: Media Book Type: 25h, DVD-R book [revision 5] Last border-out at: 2045*2KB=4188160 READ DISC INFORMATION: Disc status: appendable Number of Sessions: 1 State of Last Session: incomplete "Next" Track: 1 Number of Tracks: 8 READ TRACK INFORMATION[#1]: Track State: reserved incremental Track Start Address: 0*2KB Next Writable Address: 0*2KB Free Blocks: 12272*2KB Track Size: 12272*2KB READ TRACK INFORMATION[#2]: Track State: complete incremental Track Start Address: 12288*2KB Free Blocks: 0*2KB Track Size: 192*2KB Last Recorded Address: 12479*2KB READ TRACK INFORMATION[#3]: Track State: complete incremental Track Start Address: 12496*2KB Free Blocks: 0*2KB Track Size: 887216*2KB Last Recorded Address: 899711*2KB READ TRACK INFORMATION[#4]: Track State: complete incremental Track Start Address: 899728*2KB Free Blocks: 0*2KB Track Size: 16*2KB Last Recorded Address: 899743*2KB READ TRACK INFORMATION[#5]: Track State: complete incremental Track Start Address: 899760*2KB Free Blocks: 0*2KB Track Size: 192*2KB Last Recorded Address: 899951*2KB READ TRACK INFORMATION[#6]: Track State: complete incremental Track Start Address: 899968*2KB Free Blocks: 0*2KB Track Size: 945984*2KB Last Recorded Address: 1845951*2KB READ TRACK INFORMATION[#7]: Track State: complete incremental Track Start Address: 1845968*2KB Free Blocks: 0*2KB Track Size: 16*2KB Last Recorded Address: 1845983*2KB READ TRACK INFORMATION[#8]: Track State: invisible incremental Track Start Address: 1846000*2KB Next Writable Address: 1846000*2KB Free Blocks: 451888*2KB Track Size: 451888*2KB READ CAPACITY: 0*2048=0
We can see that there are 8 tracks on this DVD in a single session, though the last track has not been started. The first track is reserved and the middle six are complete. Under the heading READ DISK INFORMATION, we also see why this disk fails to mount. The disk has an 'appendable' status and its single session is in an 'incomplete' state. It is not finalized. Generally a recordable DVD can only be played or finalized using the software that created it because this is the only software that can locate the files without the support data created during finalization. I've read that it is sometimes possible to create a clone image of an unfinalized DVD and use other software to close the session, but I have never tried this. The important thing is to get the VOB files off the DVD disk. If you can do this then you can reauthor a new DVD. The output of dvd+rw-mediainfo above shows that there are likely two VOB tracks (#3 and #6). These two tracks are each about 2 Gigs long. The other tracks are very short, suggesting they probably contain menu or other setup files. The field "Track Size" is shown with the number of blocks and the size of each block separated by an asterisk. Track #6 is 945984*2KB = 1891968 KB = 1847.628 MB = 1.804 GB roughly.
Now for the fun part. The dvd+rw-mediainfo output actually tells us everything we need to know in order to extract the VOB files using a tool such as "dd" (a GNU command line utility for copying parts of files and block devices). dd is also available for Windows,
dd bs=2048 skip=899968 count=945984 if=/dev/dvd of=/tmp/track6.vobThe 'bs' option specifies the block size, skip specifies the number of input blocks to skip and count specifies the block length to copy. 'if' is input file and 'of' is output file, which can be any writable path. Here's what I get when I run the command (it takes a few minutes to complete):
% dd bs=2048 skip=899968 count=945984 if=/dev/dvd of=/tmp/track6.vob 945984+0 records in 945984+0 records out 1937375232 bytes (1.9 GB) copied, 903.739 seconds, 2.1 MB/s
And the delight of the day is that if I open that file in VLC media player, it plays perfectly! I can now add that file (and track 3 once extracted) to a new DVD project in a DVD authoring application (such as the free cross-platform DVDStyler) and burn a DVD. The DVD authoring software is needed in order to create DVD menus. Although in theory it should be possible to extract menu files from the original DVD in the same way, I have not tried this. I have viewed extracted files and they are in a binary file format. Anyway, the menus created by your standard DVD recorder are nothing special. Might as well make new ones.
The first DVD I created was not done using the dd tool. Instead it was done using IsoBuster's extraction feature. Had I known what I was doing I could have selected the tracks to export and created raw export image files that I could rename as .vob files. I did not know what I was doing so I asked IsoBuster to find and recover missing files based on signatures. It found some IFO files and two groups of three VOB files. It was easy for me to see that each set of three VOB files was a single episode split into three parts. Unfortunately I struggled for a long time with an error in my DVD authoring software after trying to import the VOB files as separate files. VOB files are multiplexed video and audio and contain crucial timing information. A split VOB file cannot be imported into DVDStyler (if indeed any authoring software) and so it was necessary for me to recombine the VOBs which is a simple matter of concatenating them. The end result was a working DVD video disk with two menus and two titles (which I'm not about to show you ;-) I hope this has been useful.
*UPDATE 29th September 2011: We now own a properly licensed commercial DVD copy of this television series.
*UPDATE 25th May 2013:
Some commenters have pointed to difficulties using the Windows port of dd. This has almost invariably been due to incorrect specification of the input file parameter. Regardless of operating system the source disk partition needs to be addressed as a block device. Different operating systems will do this differently. On Windows the disk device nodes are rarely seen. However, using the free dd port written by John Newbigin, we can easily find out how to address our drives in Windows. Here's an extract from my laptop running Windows 7:
C:\[some path]>dd --list rawwrite dd for windows version 0.6beta3. Written by John NewbiginThis program is covered by terms of the GPL Version 2. Win32 Available Volume Information \\.\Volume{96e6c57a-4602-11e0-b661-806e6f6e6963}\ link to \\?\Device\HarddiskVolume3 fixed media Not mounted \\.\Volume{96e6c578-4602-11e0-b661-806e6f6e6963}\ link to \\?\Device\HarddiskVolume1 fixed media Mounted on \\.\c: \\.\Volume{96e6c579-4602-11e0-b661-806e6f6e6963}\ link to \\?\Device\HarddiskVolume2 fixed media Mounted on \\.\d: \\.\Volume{8413f99c-d57c-11e1-a997-70f39540a6d8}\ link to \\?\Device\CdRom0 CD-ROM Mounted on \\.\e:
Here we can see that there are two ways to address the optical device, which are '\\?\Device\CdRom0' or '\\.\e:'. I prefer the latter style. I've used this and can confirm that it works as expected.