# Command line DVD extraction/decss



## ulrik (May 6, 2006)

Hi all,

I am currently developing an application to manage movie-collections, including features to automatically encode contents into different formats etc. 

On of the next features I want to implement is DVD Import. Since I don't have to reinvent the wheel, I am searching a good, stable, proven command line app which removes the CSS protection and region code of a DVD, basically "MacTheRipper" for the command line.

I have searched some time now but can't find anything decent, do any if you know such an application?

any help is greatly appreciated!

best regards

Ulrik


----------



## micon (May 6, 2006)

i´m using dvdbackup for this ... 

google for it and you can find a dvdbackup.c which you can compile on your mac. (see below how i made it...) 

-----------------------------------------------------------------------------------------
* install libdvdread with DarwinPorts

* download dvdbackup.c see -->  http://dvd.chevelless230.com/dvdbac...p/dvd.chevelless230.com:dvdbackup.html.webloc 

* build it 
gcc -o dvdbackup -I /opt/local/var/db/dports/software/libdvdread/0.9.4_0+libdvdcss/opt/local/include/ -L/opt/local/var/db/dports/software/libdvdread/0.9.4_0+libdvdcss/opt/local/lib/ -ldvdread dvdbackup.c


----------



## ulrik (May 8, 2006)

thanx, that did the trick  

now I am facing a different "problem". I seem to be unable to find a way to start the DVD Player from the shell with the parameter to open a DVD saved on disk.
/usr/bin/open doesn't work, and I see no way of launching the DVD Player.app directly via a shell command AND provide it with a file. Am I right in assuming that this is not possible?

on another node: where is the configuration for the open command? I'd like to parse it to check for default media players...


----------



## micon (May 8, 2006)

then use the VLC player (see http://www.videolan.org/ ) 
besides this is the better DVD Player ;-) ...


----------



## ulrik (May 8, 2006)

I am using the VLC player  But I want the User to be able to also use different players. Currently, it is possible to define a Player for each Format, while the standard config is to let "open" handle it.

But I fixed the problem. It was a problem in the path-escape-function. When I called 
/usr/bin/open /tmp/te\ st.mp4

it didn't work (worked from within terminal, as did "/usr/bin/open '/tmp/te st.mp4'. I finally got everything working by calling this from within my application:

/usr/bin/open file:/tmp/te%20st.mp4

treating it as an URL. that did the trick


----------



## jeepers58 (Jun 24, 2008)

Hi Everyone,

I followed Micon's directions to build dvdbackup on my Powerbook 10.4.x. While his directions were spot on, I had problems using the MacPort libdvdread and libdvdcds libs. ld  complained the symbols table was missing a link(s). I'm not saying there is something wrong with the Macport libs, it might be my setup. My solution was to try the FINK dvdread and dvdcss libraries. After installing the libraries the dvdbackup.c compiled without a hitch 1st time. Once again I am not faulting the Macport libs, perhaps it was something stupid like a syntax error on my part or something more involved. If you have similar issues try using FINK libs. 

Rather than rip then burn a new DVD for a backup, my personal perference is to create an iso image and store it on my home fileserver. I prefer the iso image because it is only one file to manage. mkisofs is a great tool for this purpose. While it is not bundled on Tiger, (I don't know about Leopard) , it is bundled with DVD imager pkg. If you download and mount the DVD imager pkg you can copy just the mkisofs binary from the pkg and install it on your system. 

Once dvdbackup has pulled the data off the DVD. I cd to the directory where the newly copied VIDEO_TS is located on your hard drive and execute mkisofs  
"mkisofs -dvd-video -o /var/tmp/dvd_name.iso ."  On my computer (1.67GHZ powerpc) it will take a couple of hours to create the image, once it is done I mount the iso image "hdid /var/tmp/dvd_name.iso" and then play a little bit of the DVD and jump to a couple of chapters to see if things work OK. If the image passes inspection then it is moved to the fileserver.

If the DVD does not have DeCSS then follow the directions from the link below.
http://www.slashdotdash.net/articles/2006/08/14/create-iso-cd-dvd-image-with-mac-os-x-tiger-10-4

While I can mount the iso image from the fileserver I have yet to get it to play smoothly using VLC. The problem may be the fact I am using a wireless 802.11g connection to try and stream the content. For now I simply copy the image back to the laptop and then play it from the local drive.


----------

