12/12: How to Burn DVD Movies in FC4
Well, I got myself a DVD burner, and I had a couple of .avi files I wanted off my hard disk, so it was time to burn some DVD's. At home I have a Fedora Core 4 Linux box, running on an AMD Athlon. Unfortunately, FC4 doesn't natively support DVD burning very well. There's some setting up to do.
I knew the DVD burner was working, at least to the extent of being able to read a DVD. I hunted around on the web, and found this page. It contained very clear instructions for burning movies onto DVD under Linux.
Unfortunately, the instructions don't work 'out of the box' under Fedora Core 4. It's necessary to install some software first.
A week or so earlier, I had installed the mpeg2vidcodec by downloading it, untarring it, and issuing the commands
./configure, make, and make install. I have no idea if that is necessary to enable FC4 to burn DVD movies. However, it helps for other things.As far as I know, mplayer is the first software to install. I followed these steps.
- Download MPlayer v1.0rc1 source from http://www.mplayerhq.hu/design7/dload.html. Yes, I installed from the source code. The web page said that's the recommended method for installing mplayer.
- I also downloaded Binary Codec Packages for Linux x86 20061022 from the same page.
- I moved these two files to a directory, and issued the commands
tar xvf MPlayer*andtar xvf essential*. This created two folders, MPlayer-1.0rc1 and essential-20061022. Of course, if you downloaded different versions, the folder names will be slightly different.
- I changed directory to MPlayer-1.0rc1, and issued the commands
./configure,make, and (as root)make install.
- I didn't do anything with the 'essential' binary codecs yet. mplayer doesn't need them for certain 'standard' video formats. When I come across a video file that mplayer can't handle, I will copy these 'essential' codec files to
/usr/lib/codecsor/usr/local/lib/codecs, as per the README file that came with the 'essential' tar file.
After that, mplayer worked fine!
The next thing to install was dvdauthor. Again, this is not available with FC4. I tried downloading the source, but it couldn't compile, due to a missing package. I installed that package (from source), but again it failed, complaining my version of libxml2 was not up-to-date. It wanted version 2.6.0 or higher, but when I checked, I only had 2.6.20. Go figure.
Fortunately, I found an rpm for dvdauthor at atrpms.net. I downloaded it, but rpm -i complained of a failed dependency. What finally worked was :
- Download libdvdcss-1.2.9-3.fc4.at.i386.rpm and install as root it via
rpm -i libdvdcss-1.2.9-3.fc4.at.i386.rpm
- Download libdvdread-0.9.7-4.fc4.at.i386.rpm and install as root it via
rpm -i libdvdread-0.9.7-4.fc4.at.i386.rpm
- Download dvdauthor-0.6.11-1.fc4.at.i386.rpm and install as root it via
rpm -i dvdauthor-0.6.11-1.fc4.at.i386.rpm
Note that your choice of rpm will depend on exactly what CPU you have. As I mentioned, I have an AMD Athlon, so I chose the i386 rpms.
Also, if you use different versions, or have a different version of Linux, the dependency tree may be different.
Anyway, after that, the instructions I found earlier worked perfectly. Since they are too hard to remember and too long to type, I made myself a few scripts.
These scriptes will create PAL-compatible DVDs. If you use NTSC (eg, you live in North America), there are instructions for how these scripts should be modified.
Now, I have a script called
tvscope, containing the following :
echo "<dvdauthor>" > DVD$2.xml
echo " <vmgm />" >> DVD$2.xml
echo " <titleset>" >> DVD$2.xml
echo " <titles>" >> DVD$2.xml
echo " <pgc>" >> DVD$2.xml
echo " <vob file=\"DVD"$2".mpg\" chapters=\"0,0:10,0:20,0:30,0:40,0:50\" />" >> DVD$2.xml
echo " </pgc>" >> DVD$2.xml
echo " </titles>" >> DVD$2.xml
echo " </titleset>" >> DVD$2.xml
echo "</dvdauthor>" >> DVD$2.xml
read -p "Ready to start encoding. Press any key! (or CTRL-C to stop here)"
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,harddup \
-srate 48000 -af lavcresample=48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:aspect=4/3:\
acodec=ac3:abitrate=192 -ofps 25 -o DVD$2.mpg $1
dvdauthor -o dvd$2 -x DVD$2.xml
echo Now playing the movie. If it fails, press CTRL-C now!!
mplayer dvd:// -dvd-device ./dvd$2 &
echo Insert a blank dvd and press enter
read -p "Ready to burn. Press any key! (or CTRL-C to stop here)"
burn dvd$2
This converts an .AVI movie file into a form ready to be burnt to DVD, then calls
burn (another script, see below) to burn it.For AVI files that are wider, like in the cinema, I have another script, almost the same.
echo "<dvdauthor>" > DVD$2.xml
echo " <vmgm />" >> DVD$2.xml
echo " <titleset>" >> DVD$2.xml
echo " <titles>" >> DVD$2.xml
echo " <pgc>" >> DVD$2.xml
echo " <vob file=\"DVD"$2".mpg\" chapters=\"0,0:10,0:20,0:30,0:40,0:50\" />" >> DVD$2.xml
echo " </pgc>" >> DVD$2.xml
echo " </titles>" >> DVD$2.xml
echo " </titleset>" >> DVD$2.xml
echo "</dvdauthor>" >> DVD$2.xml
read -p "Ready to start encoding. Press any key! (or CTRL-C to stop here)"
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,harddup \
-srate 48000 -af lavcresample=48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:aspect=16/9:\
acodec=ac3:abitrate=192 -ofps 25 -o DVD$2.mpg $1
dvdauthor -o dvd$2 -x DVD$2.xml
echo Now playing the movie. If it fails, press CTRL-C now!!
mplayer dvd:// -dvd-device ./dvd$2 &
echo Insert a blank dvd and press enter
read -p "Ready to burn. Press any key! (or CTRL-C to stop here)"
burn dvd$2
Finally, the script
burn is very short.
read -p "Insert a blank dvd and press enter"
growisofs -dvd-compat -Z /dev/hdc -dvd-video ./$1/
Then, issuing the command
tvscope source.avi dest will take a file source.avi, and - Create an XML file called
DVDdest.xml, describing the structure of the DVD disk.
This step is very quick.
- Convert
source.avito DVD-compatible mpeg format, filenameDVDdest.mpg. This step takes about as long as it takes to watch the movie. The created mpeg file will also be very large, about 2.5 times as large as the AVI file.
- Create a folder
dvddest, containing the mpeg file created earlier, in the right format to be burned onto a DVD.
- Launch the ready-to-burn movie off the hard disk, as if it were a DVD, so you can see if it works.
- If you don't press CTRL-C, it will then burn the files to a blank DVD. This process takes about 15% of the time it will take you to watch the movie.
And that's it!
Now, if I only had a DVD player for my TV...
Viewed 1469 times (since August 25, 2008)










