LPN-Logo

C-Projects

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)

Important:

Just that you read it beforehand: do not use -i /dev/something, either use -i /mountpoint (i.e. /dvd ) or simply leave -i away (vobcopy is kinda smart). Till a new version of vobcopy (0.6.x) comes out /dev/ things will make trouble.

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. There is one drawback though: at the moment vobcopy doesn't deal with multi-angle-dvd's. But since these are rather sparse this shouldn't matter much.

NEW: bbtools

In the new mirror section I offer a tool by Brent Beyeler with which you can take the extracted vobs apart. More infos here about bbtools

New options:

There is the new option -O where you can specify which single file(s) will get copied to hdd. Someone said that there is sometimes the soundtrack in the menu vob (video_ts.vob) and with this you can extract it. Files can be listed. Example: vobcopy -O video_ts.vob,video_ts.bup
There is -F now where you have to specify a factor. This factor will determine how much data is read in one go and might therefore speed up copying on machines with faster dvd drives. This is experimental, give it a try and see what it does...

The option -m (long option --mirror) mirrors the contents of the /dvd/video_ts/ directory to a directory named after the dvd. The ifo, bup and vob files get copied. The title-vobs (the ones containing the movie) get decryped during the copying.

Standard usage

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)...

That brings me to

Building instructions:

What you need in advance is libdvdread and libdvdcss (in case you want/have to decrypt them). If you use the packages provided by your distro make sure you install the corresponding -dev packages too (libdvdread2-dev for instance. Get the source from http://freshmeat.net/projects/libdvdread or packages from tuxfinder.com for example).

  ./configure(.sh)    has only recently been introduced. There is a configure and a configure.sh script right now. Give it a spin, if it doesn't work you can use the Makefile that is also included and simply skip to the next step, make.

  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...) or a .deb package for debian based systems (debian, corel, lindows, libranet). 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 and is NOT recommended!).
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 ;-)


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.

For downloading of the "files" go to the browsable cvs (might not always work or even compile) on the right. There you can download a tarball. No cvs checkout at the moment, sorry.

For debian users: see on the right or for an automatic upgrade, edit /etc/apt/sources.list and add: A new source for deb packages was sent to me, many thanks to Kristine Daniels:
deb http://ftp.linux.org.uk/pub/people/pakrat/debian unstable main
deb-src http://ftp.linux.org.uk/pub/people/pakrat/debian unstable main

The following two are __very__ unreliable...
deb http://hyperion.homelinux.org/debian sid main
deb-src http://hyperion.homelinux.org/debian sid main
#in case the above is down this here _should_ work (doesn't at the moment)
deb http://lpn.rnbhq.org/debian sid main
deb-src http://lpn.rnbhq.org/debian sid main

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

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


10.9.2002: moved the download to my server -Robos
15.7.2002: vobcopy is in debian sid! Yeeeha! -Robos
13.7.2002: Page cleanup and new release, 0.5.0 -Robos
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: Sunday, 20-Sep-2009 18:22:30 CEST
Comments, Errata? Contact robos!
Page counter: 154835