I would look into using Handbrake, the iLife suite is good for some things, but not this scenario - it will let you create and edit films that are already in a decent file format, or burn them to a DVD, but not take from a DVD with ease (or at all).
While it is possible to snip a portion of a DVD, it's not desirable for a number of reasons, mainly file size. A DVD is encoded in Mpeg2. Good for DVDs, or it was when it was when DVDs were new, but woefully poor compared to a modern codec like H.264. A 3-hour film might take up 8Gb of space on a dual layer DVD, but perhaps as little as 1Gb in a more modern format. Certainly, if the intended recipient is YouTube, then reducing the quality and resolution can easily also reduce file size 20x +, which makes for quicker uploads.
So, considering that, what you will end up doing, regardless of what program you use, is decoding the Mpeg 2 and re-encoding it into something else rather than snipping out (Could be h.264, DivX or any number of others, all of which provide the same quality or better (You can't improve a bad source) at massively lower file sizes). h.264 is a good choice, YouTube use it directly for delivery to mobile devices.
Handbrake lets you choose by DVD chapter, DVD Chapter Episode, or just a section of seconds and quickly re-encode it into something more modern and more suitable for computing use rather than brown box DVD player use. It will do loads of other things, including messing around with subtitles and multiple audio channels (think directors commentary) which your wedding video is unlikely to have, but it's nice to have the ability if you need it for something else later.
Handbrake is free, works on Windows/Mac/Linux, and is actively developed & updated, so a popular choice.
VideoLAN can do this. Select "Streaming/Transcoding Wizard" from the File menu. Choose "Transcode/Save to file". On the next page click "Choose" and open your AC3 file. On the next page tick "Transcode audio" and choose "MPEG 4 Audio" and choose the desired bitrate. Click "Next", choose "MPEG 4 / MP4", click "Next" again and "Choose..." where to save the file. "Next" and "Finish".
The file VideoLAN creates has the extension .mp4, change it to .m4a and there you go.
Best Answer
Here's how I did it in the end, since I was unsuccessful using VLC. In some cases, I ended up with static in the file, and the command line instructions from some of the guides I posted in the question failed, since the commands seem to have changed.
I also tried tools like
ffmpeg
, but didn't get any usable output from that either.What finally worked were the instructions found here: http://www.essl.de/wp/2008/01/28/rip-audio-from-a-dvd/
First, I installed the following tools using Homebrew:
Secondly, to get a list of the chapters of the DVD, I used this with the DVD in the drive of my MacBook Pro:
This will print the number of chapters per title, in my case, I noticed that there are 13 tracks in the first title.
To get the available audio channels listed, I used a similar command:
This showed that the channel with the aid value of 160 had the DVD's stereo track (lpcm).
To extract the audio and convert it to MP3, I wrote the following reusable script (
ripaudio.sh
), which extracts and converts one chapter:Make the script executable using
Call it to extract the first chapter using
What this basically does is this:
1.wav
. The video part of the track is ignored.wav
file into an MP3 file called1.mp3
. Lame's standard preset is used.1.wav
is deleted.&&
operator to make sure they only run when the previous one succeeds. The wholemplayer etc.
command needs to be on a single line.To convert all of the chapters, the following
for
loop can be used:This will take a while, but once it's done, you'll end up with one MP3 file per chapter in the current directory.
The script can easily be adapted to use something like flac instead of lame for the encoding. Place the script in your user's
~/bin
folder to call it from any location.While this took a while to research and doesn't have a fancy UI, it was the best method I've found.