I thought this would be a pretty straightforward task. It was, though it took several minutes to track down the CSS library needed for decryption of the DVD. All I want to do is copy Talking Words Factory to my phone so my kid can watch it in the car if needed. It looked like Brasero was the tool for the job, but I got some error about needing a plugin for it to be able to decrypt it. I found libdvdcss here and after installing the RPM, everything worked. Now I just need to encode it with ffmpeg.
One-click converting .avi to .mp4 for iPod or iPhone
After a lot of searching for an easy way to do this, I stumbled onto WinFF, which is a gui wrapper around ffmpeg, a GPL’d MPEG encoder. It worked pretty well out of the box, but for all of the AVIs I’d recorded with my old camera (Canon Powershot A540) it would fail immediately with this error:
Audio resampler only works with 16 bits per sample. patch welcome.
After some searching it seems this is related to a known bug which was apparently fixed in February 2009. I set out to find a newer ffmpeg.exe (which is what WinFF calls to do the actual conversion). I found some Win32 builds of ffmpeg here but found that they all claimed to not know the “libfaac” codec. After some more digging I learned that libfaac (the audio codec for MP4 for iPod/iPhone) is no longer considered free software and was dropped from the repository in mid-April. Fortunately there were older builds available, and I grabbed the one dated 2009-04-01, extracted the ffmpeg.exe into my WinFF directory and voila, it worked.
Old ffmpeg.exe:
C:\Documents and Settings\Evan>"C:\Program Files\WinFF\ffmpeg.exe" -version FFmpeg version SVN-r15986, Copyright (c) 2000-2008 Fabrice Bellard, et al. configuration: --extra-cflags=-fno-common --enable-memalign-hack --enable-pthr eads --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libfaac --enable-libgsm --enable-libx264 --enable-lib schroedinger --enable-avisynth --enable-swscale --enable-gpl libavutil 49.12. 0 / 49.12. 0 libavcodec 52. 6. 0 / 52. 6. 0 libavformat 52.23. 1 / 52.23. 1 libavdevice 52. 1. 0 / 52. 1. 0 libswscale 0. 6. 1 / 0. 6. 1 built on Dec 3 2008 01:59:37, gcc: 4.2.4 FFmpeg SVN-r15986 libavutil 49.12. 0 / 49.12. 0 libavcodec 52. 6. 0 / 52. 6. 0 libavformat 52.23. 1 / 52.23. 1 libavdevice 52. 1. 0 / 52. 1. 0 libswscale 0. 6. 1 / 0. 6. 1
New ffmpeg.exe:
C:\Documents and Settings\Evan>"C:\Program Files\WinFF\ffmpeg.exe" -version FFmpeg version SVN-r18306, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --enable-memalign-hack --prefix=/mingw --cross-prefix=i686-ming w32- --cc=ccache-i686-mingw32-gcc --target-os=mingw32 --arch=i686 --cpu=i686 --e xtra-cflags=-fno-common --enable-avisynth --enable-gpl --enable-zlib --enable-bz lib --enable-libgsm --enable-libfaac --enable-pthreads --enable-libvorbis --enab le-libmp3lame --enable-libopenjpeg --enable-libtheora --enable-libspeex --enable -libxvid --enable-libfaad --enable-libschroedinger --enable-libx264 libavutil 50. 2. 0 / 50. 2. 0 libavcodec 52.22. 3 / 52.22. 3 libavformat 52.32. 0 / 52.32. 0 libavdevice 52. 1. 0 / 52. 1. 0 libswscale 0. 7. 1 / 0. 7. 1 built on Apr 2 2009 03:25:40, gcc: 4.2.4 FFmpeg SVN-r18306 libavutil 50. 2. 0 / 50. 2. 0 libavcodec 52.22. 3 / 52.22. 3 libavformat 52.32. 0 / 52.32. 0 libavdevice 52. 1. 0 / 52. 1. 0 libswscale 0. 7. 1 / 0. 7. 1
This also works great for encoding videos to XviD, which shrinks them to about 10-20% of their original size, making it much faster (in some cases, possible) to upload them to sharing sites.