Friday, August 21, 2009

DVD authoring under Linux

The goal was to make a DVD from short videos captured on two digital cameras and some pictures. Although it's rather easy to do today, the tools available still do have some rough edges.

System used: Ubuntu 9.04 with the Ubuntu Studio extensions on x86_64 platform.

General steps to do were:
  1. Get videos from camera to computer
  2. Cut out the right parts, working losslessly
  3. Convert the parts into a MPEG2 DVD compatible files
  4. Create parts with titles, texts, image slideshows
  5. Create DVD menu and burn the whole thing.
Getting the source videos
One camera directly generated MPEG2 files on its internal SD card.
The second one had a Firewire DV output. This can be handled using Kino easily, it was only necessary to load raw1394 module and adapt permissions of /dev/raw1394. The output, saved as AVI was then already viewable in Totem.

Cutting out the right parts
I used Kino, otherwise Cinellera or kdenlive are very helpful.

Getting DVD-style MPEG2 files
Video DVD content is split into files - "Titles" and those can have bookmarks, called "chapters". To get one file per title it was necessary to deinterlace and convert the DV AVI files into MPEG2-PS, deinterlace the MPEG2 files from the other camera and join them. In this case I didn't care about transitions between the joined files.
I used tovid for deinterlacing and doing the conversion. Only problem is that the conversion is painfully slow (several hours on my hardware).

tovid -force -deinterlace -dvd -pal -wide -parallel -in $INFILE -noask -out $OUTFILE

The -force was to make tovid deinterlace the MPEG2 files from the SD-card camera.
Resulting .mpg files can be joined using mencoder easily:

mencoder -of mpeg -ovc copy -oac copy -mpegopts format=dvd:tsaf -o $OUTFILE $SOURCEDIR/*.mpg

Titles
There was need to get just some still slides with text. The most convenient way for me was to generate the stills in inkscape - 720x576 bitmaps with text,, graphics, whatever you need, and then convert them to the MPEG2 using dvd-slideshow.

DVD Menus
There are several programs available, DVDStyler seemed most versatile. Only bad thing for me was that the buttons it renders have aliased fonts and look very ugly. As a workaround I described the menu items as normal text and used a simple arrow image as cursor/selector.

Of course, once you compile the whole thing, you find that you are some 100 MB over limit :-) But that can be expected...

No comments: