One of the benefits of coding in a scripting language is the ability to easily move the code around and it runs everywhere. undvd is easy to install, you just extract the source and it's ready to go. Or, if you want to install it globally on the system, just run make install
and you're set.
But undvd depends on a bunch of other tools, so what you really want is to let your package manager deal with satisfying the dependencies, and let you upgrade easily when a new version comes out.
Where can I find undvd?
I package undvd in three flavors myself: Gentoo, Fedora and Ubuntu. I run Gentoo and Ubuntu on my boxen, so those are the most well tested. In addition, ripdvd's author wedge does the honors for Slackware. :cool:
But there are some unofficial packages out there as well, so when you add it all up undvd is pretty well supported at this point.
- Arch :: aur
- Fedora :: sf.net
- Gentoo :: portage / sf.net
- Slackware :: sf.net
- Suse :: packman.links2linux.org
- Ubuntu :: ppa / sf.net
Making friends with posix
Recently, a user expressed an interest in running undvd on a Mac, which is a whole new angle. I guess it never occurred to me that someone would use undvd outside linux, but why not. The recent switch to perl has obsoleted the many external tools that undvd previously relied on, which is a big [if unplanned] step towards portability. I ran some tests that revealed there were still a couple linuxisms left, so I've gotten rid of them now.
undvd-0.7.1 should in principle run on a Posix system with perl-5.8.8. The big thing isn't undvd, it's getting mplayer and the other binaries, cause they have to be built specifically for that platform. And outside linux, there's sometimes no standard package manager, which doesn't help at all.
At the end of the day, there is no escaping the fact that undvd on Posix is a fish out of water (true not only of undvd but probably most free software) - the environment just isn't as well supported as it is in a linux distribution that ships all the tools. There are no packages for any of these, but you can just extract the tarball and run undvd from whatever location.
DesktopBSD 1.6 (FreeBSD Ubuntufied)
It runs (except mencoder can't find x264, so I used xvid). The dvd device is called /dev/cdrom
or /dev/acd0
. Cloning with dd fails, vobcopy works.
OpenSolaris 2008.05
It runs (except mencoder can't find x264, so I used xvid). I have no idea how the device naming works, but when you put in a cd/dvd it should automount and you can look up the dvd device in the mount table. Packages for mplayer are available from Blastwave. Playback with mplayer worked, encoding segfaulted mencoder.
Mac OS X Leopard
It runs. The dvd device is called something like /dev/rdisk1
. Mac people seem to be obsessed with guis, so any builds I could find only had mplayer playback, no encoding. Your best bet is probably MacPorts, modeled loosely on FreeBSD's ports. You'll want to build mplayer with the codecs you want selected as variants (think Gentoo USE flags). Disc cloning doesn't seem to work at all.
To install globally you'll want something like DESTDIR=/opt/local sudo make install
.
Cygwin
It runs, and you can get builds of mplayer from the official site. The dvd device is called d:
(or some other drive letter). Set PATH=/cygdrive/c/mplayer:$PATH
and make sure c:\mplayer
doesn't contain both a directory mplayer/
and a binary mplayer.exe
, this makes cygwin very confused. On the whole it seems to work quite well, the process even successfully sets the cpu priority (nice).