SourceForge Logo
C-Projects

12.6.2002: IMPORTANT! This page here is unused now! The new page is at lpn.rnbhq.org or linux-programming-newbie.org

OK, here is to be the place where the c-projects reside.I started the first project:

vobcopy (download link on the right-> or look at the bottom of this page)

vobcopy copies DVD .vob files to harddisk, decrypting (if you have libdvdcss installed) them on the way (thanks to libdvdread and libdvdcss) and merges them into file(s) with the name extracted from the DVD. It checks for enough free space on the destination drive and compares the copied size to the size on DVD (in case something went wrong during the copying). vobcopy without any options will copy the first title into files of 2GB size into the current working directory.


vobcopy called without arguments will find the mounted dvd and copy the title with the most chapters to the current working directory (thats the directory you're invoking vobcopy from).
It will merge together the sub-vobs of each title-vob (vts_xx_yy.vob => the xx is the title-vob, the yy and friends are the sub-vobs, mostly of 1 GB size) and copy them to harddisk in 2 GB chunks. It will get the title of the movie from the dvd and copy the data to name-of-moviexx-1.vob, name-of-moviexx-2.vob (the xx being the title number)...
Options include (for the full list see vobcopy -h or the man vobcopy): That's what it can up till now, to-do's include: Ah, and the source code has to get more comments since this here is for programming-newbie and shall be of teaching value.

That brings me to         building instructions:
What you need in advance is libdvdread and libdvdcss (in case you want/have to decrypt them) (Get them from tuxfinder.com for example).

  make compiles the source

alternatively make disable_lfs to exclude the large file support altogether.
You can also get the src.rpm if your system is rpm-based (mandrake, suse, redhat...). The src.rpm was made for mandrake but I guess it should work with the others too...

Installation
  make install installs vobcopy in /usr/local/bin and the man page to /usr/man/man1.

The Usage is rather simple:
The dvd has to be mounted (otherwise the autodetection won't work) . I'll assume you mounted it to /dvd, if you mounted it to somewhere else substitute that below. But using /dev/dvd with umounted dvd also works (but has some drawbacks).
vobcopy will copy the title vobs with the most chapters of the dvd with the title of the film to the directory you are invoking this from.
vobcopy -n 3 will copy the title vobs belonging to title 3.
vobcopy -o /tmp/ will copy the vobs to the directory /tmp/.
vobcopy -1/tmp1/ will continue to write the data to this directory if the first one (behind -o) is full. Additionally there are -2, -3 and -4 available. (watch out that there are no spaces behind the number and the dir, might not work otherwise)
vobcopy -l will copy the data into only one really large file (probably larger than 2 GB). This large-file-support has to be met by your system. No autodetection yet.
vobcopy -h gives you the available command options (help) If parts of vobcopy work buggy you can override some things:
vobcopy -f force vobcopy to write to the destination directory even if vobcopy thinks there is not enough free space.
vobcopy -i /path/to/the/mounted/dvd/ if vobcopy fails to autodetect the mounted dvd you can provide the path like that.
vobcopy -I will give you some infos on the dvd data and on the output directory
vobcopy -V will give you the version of vobcopy.
vobcopy -v -v will write a log-file to /tmp/ which you can send to me as a bugreport (along with a few words by you about the problem)
vobcopy -b size[bkmg] begins to copy from the specified offset-size. Modifiers like b for 512-bytes, k for kilo-bytes, m for mega- and g for giga-bytes can be appended to the number. Example: vobcopy -b 500m will start to copy from 500MB onward till the end.
vobcopy -e size[bkmg] similar to -b, this options lets you specify some size to stop before the end.

So a max call might look like this:vobcopy -i /dvd/ -o /tmp1/ -1/tmp2/ -2/tmp2/ -3/tmp3/ -4/tmp4/ -n 2 -l -b 100m -e 1g -v ;-)



For downloading of the "files" go to the browsable cvs (might not always work or even compile) on the right or via:
cvs -d:pserver:anonymous@cvs.lin-prog-newbie.sourceforge.net:/cvsroot/lin-prog-newbie login
Press ENTER when promted for password and then:
cvs -d:pserver:anonymous@cvs.lin-prog-newbie.sourceforge.net:/cvsroot/lin-prog-newbie co projects/c/vobcopy
This will create a directory where you are at the moment called projects. In c/vobcopy/ are the files.

So, I hope it works for you as nicely as it does for me and give me some feedback to: robos@users.sourceforge.net

If you wonder now what to do with your ripped vob files, take a look at this: Moritz Bunkus made a howto "dvdripping4linux" in which he also features vobcopy.


NEWS


26.2.2002: Some page cleanup - got messy over time (not perfect yet...) -Robos
19.2.2002: The 0.4.1 release. Some bugfix and some new features -Robos
15.2.2002: The 0.4.0 release. -Robos
22.1.2002: Vobcopy-0.3.0 has been released. Lotsa new options. See above. -Robos
5.1.2002: Vobcopy-0.2.0 now has the -o option to specify the output directory. Also -n title-number has been introduced instead of just specifying the title number. -Robos
1.1.2002: Added Makefile and therefore there is the vobcopy-0.1.1 release -Robos
1.1.2002: vobcopy 0.1.0 seems to be ok. 30 downloads till today, it's listed on freshmeat and only one bugreport till now (and that is most probably libdvdreads fault ;-) -Robos
16.12.2001: vobcopy-0.1.0 is ready
9.12.2001: Corrected for revision 1.2 of the source-code
8.12.2001: Brought my project vobcopy here

Last update: 1.5.2002