[MPlayer-dev-eng] DVD to DVD copy project with a reward

Olaf Beck olaf_sc at yahoo.com
Fri Jun 14 16:18:16 CEST 2002


Hi,

I hope I don't intrude to much on this mailing list after all we are all about 
DVD and hopefully also Linux and OSS related issues and programming. Anyway 
here is what I have to say and ask, 


DVD to DVD copy project with a reward:

Most Linux (and even Windows) DVD"Ripping" projects are focused on transcoding 
a DVD-Video to e.g. DivX or similar more compact formats. What is lacking is 
a way to easily copy/backup* a DVD-Video to a DVD-R(W) disc. 

While a some of the tools are already in place some crucial once are still 
lacking. Please correct me if I'm wrong :). The quest is leading us to what 
we can do today.

Create DVD images and burn them to a DVD-R(W), can be achieved with cdrecord 
and dvdrtools 
see: http://www.freesoftware.fsf.org/dvdrtools/ and 
http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html

Copying or VOB files can be achieved with trancoder, mplayer, vobcopy, cpdvd  
or dvd::rip. Some of the tools main purpose is not to make DVD backups but 
they can still be used for that purpose. Further more some of them can me 
used to make a DVD-Video take up less space that the original which is 
nessesary when you want to fit a DVD-9 (Dual layer DVD) on one DVD-5 (Single 
layer) see:
http://www9.informatik.uni-erlangen.de/~Vogelgsang/bp/tctools.html
http://www.theorie.physik.uni-goettingen.de/~ostreich/transcode/
http://www.mplayerhq.hu/homepage/
http://lpn.rnbhq.org/projects/c/c.shtml
http://www.exit1.org/dvdrip/

Using the tools above we can copy a DVD-Video to a DVD-R(W) and play it with 
e.g. xine if the DVD is mounted. The problem is that vital info such as ifo 
files aren't copied and corrected if necessary. The VTS_XX_0.vob's  aren't 
transferred either although they usually just hold either a still image or 
the first DVD menu they are still needed in order to comply with DVD-Video 
standards.  Further more it looks libdvdread has an error since it assumes 
that all DVD's are "buy" once and not home burned. Hence xine, mplayer etc 
fails when it's can't locate the "crypto" block on the DVD.  (My home burned 
DVD (under windows) plays just fine in my Panasonic DVD-RP91 and also under 
WinDVD).

Since I'm currently have more that enough to do with a Linux Multimedia 
project I feel that I can't spend the time programming the missing 
components. Hence I would like to call for a project with a reward for 
anybody to work with if they have the skills to do it. The reward is DVD-R(W) 
burner (Pioneer DVR-104), 100 DVD-R records plus 300 dollars or 1000 dollars 
and no equipment, the reward is paid out in portions during the project time. 
If you personally lack a DVD recorder I will do my best to assist you with 
tests etc. if necessary. (More stuff is also available see below)

Project goal:

Copy a DVD movie to a DVD-R(W) in the simplest way possible. This means that 
we don't care about fancy stuff such as menus, different angles etc. All we 
want is to copy the film it self, main audio track and one subtitle of choice 
(or no subtitle if we choose so). The goal is  that when we play the film in 
a stand alone  DVD player we will just get the film and nothing else.

Project prerequisites:
Tools should be of command line type
Libraries should be used as much as possible so that "code" can be reused by 
other  FSF/OSS projects or possible GUI interfaces.
Finally and naturally code should be licensed under GPL and LGPL.

Project work line:
Making a DVD-Video should follow something similar to this if the main movie 
would is less than 4.7G.

Analyze DVD, find main film and audio tracks
Copy vob files
Create new VIDEO_TS.* files
Create new VTS_01_0.ifo file
(Assuming that we are moving the main film from what ever title it has to 
title 1)    
Create image
Burn image

And if the movie is bigger than 4.7G (i.e. dual layer)
Analyze DVD,  find main film and audio tracks and split point
Copy the first set of vob files up to the split point
Create new VIDEO_TS.* files
Create new VTS_01_0.ifo file
(Assuming that we are moving the main film from what ever title it has to 
title 1)    
Create image
Burn image
Copy second set of vob files from the split point and up
Create new VIDEO_TS.* files
Create new VTS_01_0.ifo file
(Assuming that we are moving the main film from what ever title it has to 
title 1)    
Create image number 2
Burn image number 2

Alternatively if he movie is bigger than 4.7G we should be able to do 
something like this. 
Copy vob files
Transcode vob's so that the movie is less than 4.7G in size
Create new VIDEO_TS.* files
Create new VTS_01_0.ifo file
(Assuming that we are moving the main film from what ever title it has to 
title 1)    
Create image
Burn image

All this should be done with human interaction kept to a minimum. In other 
words the analyze of the DVD should not require you to specify what you want 
to do unless absolutely necessary. There can of course be some sort of config 
file telling the program that you prefer to get Spanish subtitles, English 
Dolby Digital sound, split dual layer DVD's or transcode them etc. Hence a 
possible command line session would look something like this.

$ dvdanalyze -o result.xml   -d /dev/dvd
$ vobcopy -i result.xml -d /dev/dvd -o /myfilm/VIDEO_TS/
$ mkvideots  /myfilm/VIDEO_TS/
$ mkvtsifo /myfilm/VIDEO_TS/
$ verifydvd /myfilm/VIDEO_TS/
$ cd /myfilm && mkisofs  -o ../dvd.img .
$ dvdrecord dev=0,0,0 speed=1

Thats it :) 

NOTE: dvdanalyze could if unsure play the movie that it thinks is the main one 
and the ask you if it is this one you want to copy. Like this,
dvdanalyze -o result.xml   -d /dev/dvd
(playing some random sequences of the movie)
Is this the movie you want to copy? Yes/No [Yes]
(If No it tries some other vob files) ....

The same goes for verifydvd it can naturally show you the movie to verify that 
it works as it should. 

Well, that's about it so if anybody is up for the task or have questions 
please write to olaf_sc_NOSPAM at NOSPAM.yahoo.com

Cheers Olaf

PS: Information about DVD to DVD copying and DVD specifications consult the 
following sites, 

http://members.aol.com/mpucoder/DVD/index.html
http://www.doom9.org

Naturally code from various linux/dvd projects such as mplayer :), ogle, xine, 
videolan etc can be of great help

More Stuff:

If you want the following items could also be included although I will not pay 
the shipping :)

Creative DVD 12x Player
3Dfx Voodoo 5500 PCI card
Matrox Millennium I  and II cards
Network cards (PCI 10/100MBit have a bunch)
etc.... Just ask me I have a lot of tech junk :)


*You can make a copy to HD and watch the film with e.g. xine or mplayer but so 
far you can't make a copy that is playable in stand alone DVD player.




More information about the MPlayer-dev-eng mailing list