That's why I've started quite some time ago to write a small C wrapper around libdvdread to first copy the DVD files onto the disk and then read them from there. It was also an easy solution to copy files to a driveless netbook to watch the DVD there. With time, this project evolved into a neat C++ command-line utility that's able to keep track of badly read sectors and come back to them later.
Today is the 0.0
release of dvdcopy. You can get the tarball there. It follows the standard autoconf
dance:
~ ./configure ~ make ~ make install
Using it is as simple as running:
~ dvdcopy /dev/dvd MyMovieDirectory
If everything went fine, you're set, and you can open the directory created with vlc
or xine
:
~ xine dvd://`pwd`/MyMovieDirectory
(yes, xine
needs the full path, I haven't checked with VLC, but from what I remember, you can open DVD directories directly from a menu).
If you're not that lucky and dvdcopy
found some bad sectors, try reading again using
~ dvdcopy --second-pass /dev/dvd MyMovieDirectory
I found that in many cases, one or two second passes get all the sectors back. While that wasn't really the intended purpose, the fact that most copy protection schemes (in addition to CSS) are implemented using bad sectors make dvdcopy
quite resistant to them.
I have no plan of making a Debian package for it at the time being, but if there is demand for that, I may reconsider. Enjoy !
11 comments:
I hereby declare demand in a Debian package! ;)
My wife could use that too. A Debian package would be neat. :)
I have the exact same use case: DVDs from the library. Though exacerbated by the fact that most of the dcds ee check out are for my two boys, so have been handled even more roughly. I often have to resort to manually "resurfacing" the disks. Debian packages please!
What does this do that dvdisaster (http://dvdisaster.net/) or python-dvdvideo (http://bblank.thinkmo.de/blog/new-software-python-dvdvideo) don't?
@23.gs
dvdisaster allows one to write DVDs that contain data that you may be able to read even if the DVD becomes damaged. It doesn't allow you to read damaged DVDs it didn't produce (and as far as I can tell, it won't work on CSS-encrypted DVDs).
python-dvdvideo seems much closer, but I didn't find a focus on bad sectors handling (but I haven't tried it).
@others
I see there is need. Debian package will come in due time !
"make" return this error :
In file included from src/main.cc:25:0:
src/headers.hh:35:32: fatal error: dvdread/dvd_reader.h: Aucun fichier ou dossier de ce type
compilation terminated.
Try installing the dvdread development files, as per the README file ;-):
sudo apt-get install libdvdread-dev
I didn't read the readme file, only your blog post. Shame on me!
Thank you for your help and for this amazing tool
Great Tool..Thanks for posting..
DVD Copier
Anyone else have trouble compiling because of lack of C++11 support?
$ ./configure
....
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=gnu++11... no
checking whether g++ supports C++11 features with -std=gnu++0x... no
checking whether g++ supports C++11 features with -std=c++11... no
checking whether g++ supports C++11 features with -std=c++0x... no
configure: error: *** A compiler with support for C++11 language features is required.
Post a Comment