Click to See Complete Forum and Search --> : Convert any video file to DVD with open source tools


hard candy
05-02-2006, 09:57 AM
Saw this article while browsing the Justlinux news on the home page, I have not tried it yet as I'm at work. Will give an update tonight.

"Linux.com
The Enterprise Linux Resource

Title Convert any video file to DVD with open source tools
Date 2006.04.27 10:01
By: Manolis Tzanidakis

Article link (http://www.linux.com/article.pl?sid=06/04/17/2058219)

You've just downloaded the new episode of your favorite video podcast, and you'd like to watch it on your big-screen TV. Unfortunately, the video is encoded in XviD or QuickTime format, which your DVD player doesn't support. Don't worry -- here's how you can convert any video file to DVD using dvdauthor and MPlayer.

Packages for both programs are available for most Linux distributions and BSDs, so you can install them on your favorite OS easily. Compiling the programs from source isn't difficult, as long as you get their dependencies right. Both programs provide adequate documentation about the installation. You can burn the final files to a DVD disc with the help of the growisofs utility from the dvd+rw-tools suite.

Converting the files to MPEG-2

First, you must convert your file to MPEG-2 for the video and to AC3 for the audio, in order to be compliant with the DVD video specifications. If the audio on your file is already encoded in AC3 format, you can use it as is without re-encoding it. Run this command to check the audio format of the file:

mplayer -vo dummy -ao dummy -identify your_video.avi 2>&1 | grep AUDIO_FORMAT | cut -d '=' -f 2

If it returns hwac3, the audio part of your file is encoded in AC3, and you can convert the file to MPEG-2 with the following command:

mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,harddup \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=98 00:vbitrate=5000:keyint=15:aspect=16/9 \
-ofps 25 -o your_video.mpg your_video.avi

If it isn't encoded in AC3, run this command:

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=98 00:vbitrate=5000:keyint=15:aspect=16/9:\
acodec=ac3:abitrate=192 -ofps 25 -o your_video.mpg your_video.avi

The previous commands create an MPEG-2 file in phase-alternating line (PAL) format with an aspect ratio of 16:9. PAL is used in most of Europe (except France). If you want to create a National Television System Committee (NTSC) DVD, which is the North American video standard, replace scale=720:576 with scale=720:480, keyint=15 with keyint=18, and -ofps 25 with -ofps 30000/1001. If you don't have a wide-screen TV, you should encode your file with an aspect ratio of 4:3 by replacing aspect=16/9 with aspect=4/3.

For more information, check the MPlayer's man page, which provides detailed explanations about each option used in these commands.

This process should take some time to finish. My 1.5GHz Centrino laptop took about 25 minutes to convert a file with a one-hour runtime that was encoded in XviD.

Creating the DVD structure

Now you can use dvdauthor to create the layout of the DVD from the MPEG-2 file of your video. Although you can pass any options to dvdauthor directly from the command line, it's easier and more flexible to create an XML file with the appropriate options instead. Open your favorite editor and create a file called dvd.xml with the following contents:

<dvdauthor>
<vmgm />
<titleset>
<titles>
<pgc>
<vob file="your_video.mpg" chapters="0,0:10,0:20,0:30,0:40,0:50" />
</pgc>
</titles>
</titleset>
</dvdauthor>

I split my hour-long video into six 10-minute chapters. Adjust the chapters= option for your video, or remove the option from your XML file if you don't want chapters.

Type dvdauthor -o dvd -x dvd.xml to create the layout of the DVD; the -o switch defines the output directory, and -x is used for the XML file. This command takes five to 10 minutes, depending on your video size and your CPU speed. Once it completes, you'll have a directory named dvd with two subdirectories: AUDIO_TS and VIDEO_TS. Before burning the video to a disc, you can check it by running mplayer dvd:// -dvd-device ./dvd.

If the video plays correctly, you can burn it onto a DVD disc with growisofs by running growisofs -dvd-compat -Z /dev/dvdrw -dvd-video ./dvd/. Make sure to replace /dev/dvdrw with the device name of your DVD recorder.

The only thing left is to make some popcorn, get your favorite beverage, and enjoy the show.

Links

1. "dvdauthor" - http://dvdauthor.sourceforge.net/
2. "MPlayer" - http://www.mplayerhq.hu/design7/news.html
3. "dvd+rw-tools" - http://fy.chalmers.se/~appro/linux/DVD+RW/
4. "MPlayer's man page" - http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html"

Icarus
05-02-2006, 12:58 PM
I know you've been away for a while and the older thread hasen't been posted to in a couple months...but here's the already worn dry thread :D
http://justlinux.com/forum/showthread.php?t=142299

Shep
05-08-2006, 04:23 PM
I wrote a script to do the process listed in the other thread Icarus linked to. I got sick of waiting for stuff to complete. So you can do a single file, or give it a list of files to convert. You can DL the script from here: http://www.slcrotary.com/shep_fc3/avi2dvd Here is how you use it.
1. make the script executable
2. ./avi2dvd "single file name" "desired project name"

OR
1. make script executable
2. create a list of files to be converted named avi.list
3. ./avi2dvd

Anyways, I find this helful, so though some others might.