Marco's Blog

All content personal opinions or work.
en eo

Creating DVDs in Linux 1. Basics

2013-07-05 11 min read Comparisons marco

I bought a Contour, to record some videos of myself struggling to surf, and now I decided it would be fun to splice the good parts (all three seconds) into a DVD I can give people I don’t like for Christmas. But how do I go about it? Are there any good DVD authoring tools in Linux that take the video formats I have and easily burn them onto a DVD? This article is a survey of the apps I found, and of my experience using them.

I am not measuring the absolute quality of the application, only its effectiveness for the single purpose of creating a DVD of random clips, organized according to a structure I apply arbitrarily (maybe time, maybe type, maybe source). My criteria in evaluating the software include:

The YouTube player can not be loaded with disabled JavaScript.
The following video is embedded here:
https://youtube.com/watch?v=[ ](https://www.youtube.com/watch?v=rXeY0fKRo3w)<https://www.youtube.com/watch?v=rXeY0fKRo3w>
  • stability: an application does me no good if it crashes all the time! Crashes may be mitigated by save files, but an application that does not crash in the first place is what I am going for
  • ease-of-use: if I have to spend days reading manuals to solve what is really a simple problem like the one described above, I am not going to be happy. Some Linux apps tend to favor power over ease-of-use, but most of the time I don’t need that power. For instance, it’s great that I can blend a dozen videos into each other in Kdenlive (a non-linear video editor), but just figuring out how what works is such a pain, I’d rather not use it (for this purpose).
  • compatibility: no matter what software I use, I want to know for sure that the DVDs produced will work fine on my DVD player and my computer’s DVD drive
  • flexibility: there is a part of me that says, I just want to give you a list of video in random formats, maybe structured in the file system so you know what goes where, and call me back when you have a DVD I can watch or an ISO file I can burn. On the other hand, I also would like to be able to specify the background image on the DVD menu, and whether I want to have autoplay
  • performance: I just want to set up the process, leave the room, and come back in a reasonable amount of time to enjoy the finished product. That means I don’t want software that requires constant hand holding, and it has to be reasonably speedy

The process of generating a DVD consists in many components:

  1. gathering: get the videos from the respective sources
  2. editing: select the parts of the video I actually want, removing all the extra noise (like waves splashing on me)
  3. curating: deciding which videos should go with which other ones, generating a structure, adding a sound track (particularly important with trackless videos, like surf clips), adding subtitles and captions
  4. formatting: selecting the configuration for the DVD. Menus, intros, outros, structure, etc.
  5. converting: turning the raw videos into something suitable for burning on DVD
  6. creating: taking all the raw material and turning it into an ISO file ready for burning
  7. burning: take the ISO and make it a disc
  8. covering: OK, I made that up. It’s the process of designing a DVD cover, in case you want one

I will review software for each component listed above separately, which means that software spanning several categories will be reviewed multiple times. At the end, I’ll give you a short summary of the process I chose, and the tools that go with it.

Gathering

You would think that gathering the videos is a simple thing. After all, they are all on your file system, right?

Well, sometimes that’s not the case. For instance, I uploaded a bunch of videos to YouTube into an account whose credentials I lost. So I needed to download them. Sometimes you have the same problem with Facebook videos, or you have friends uploading videos of you and neither wants to spend the time to send the gigantic raw file.

How do you download a web video onto your computer? That’s the essential point of this gathering step, accepting that the videos you have available on a local file system are gimmes.

For most video formats and sites, there are many Firefox extensions that allow you to download clips. DownloadHelper seems to be the best one of the bunch, but the download extensions need to be updated constantly to reflect new sites and new ways to organize them, so you have to look at what works when you use it.

Notice that this gathering step is something you should not use for copyrighted material. Fortunately, the main video sites are getting better at policing uploaders and at copy-protecting, so that you will find less and less openly infringing material, and the material provided by creators or their agents (like Vevo on YouTube) is now not downloadable.

But for your friends’ clips, that should be fine. Just make sure you have their permission.

If a Firefox extension is not your thing, you can try clive. clive is a command line utility that downloads videos from URLs you specify. clive is written in Perl (I know…), but there is a C++ version (cclive). Also, there is a very pretty front-end (abby). All of them are pretty useless, at this point, because they haven’t been updated in a year. abby, in particular, doesn’t know how to react to a change in output format of cclive, which tells you everything about how current it is.

But, if the respective owners decide to work on it again, these command line tools might have a very important role: you could send yourself an email with the link you want downloaded, and the utility could download it in the background for you, at your place of highest convenience, highest bandwidth, or lowest cost.

Editing

As mentioned in the introduction, I am not considering any but the most fundamental components of editing in this section. That includes only selecting parts of a video that are of value, and basic operations like rotation and cropping.

More advanced editing features range from color correction to stabilization. Those are really important and can make a ton of difference for the end product, but they are not my concerns right now. Kdenlive is pretty good with filters, so you get the corrections covered. I am not aware of a stabilization filter in Linux, but there may as well be something. I’ll investigate later.

On the video editing side, I need the ability to view the video frame by frame; to fast forward at variable speeds; to trim parts between two specific frames. The video editor should be able to import and export using a number of formats and codecs – at the very least, those supported by the Contour.

The field of applications is pretty much split in two: on one side, the simpler utilities that deal with splicing and dicing, on the other complex packages that allow you to mix and combine video sources. The latter are called non-linear editing tools and encompass software like cinlerra, kdenlive, and pitivi. kino is another contender that sits somewhere in-between, with non-linear editing capabilities but not the complexity of the other packages.

For what I needed, simpler software was more than enough. I have experience with kdenelive as an NLE, so it wasn’t the learning curve that threw me off. Rather, it was a simpler need.

In the end, I tried avidemux and handbrake, both more concerned with video clipping than with complex editing. For my purposes, avidemux was perfect, so I’ll stick with it.

Wikipedia has a list and a comparison of video editing software. You should check in there if you like.

Curating

In the most basic of worlds, you would create a directory structure with files in it, and the DVD creator software would slurp them all in and create a menu based on this structure.

DVDs are internally split in titles, which in turn are split in chapters. The DVD can have a main menu, and each title (but not chapter) can have its submenus. Clicking on an item in a menu can either start a chapter, or go to a different menu (including the main menu).

Technically, you could just create a series of folders, and have the DVD menus reflect that folder structure. Each folder would map to a title and have a menu. Each menu would consist of entries for chapters (videos) or submenus (folders). The two could be mixed. In the end, you would navigate the menu tree just like you would navigate a DVD menu.

A different approach consists in doing much the same, but in a symbolic fashion. You could curate your collection by using a text file (including in XML format) or a proprietary method. Finally, you could use the “native” save files used by the DVD generating software.

Once you have all these videos put together, you have to settle on audio tracks, as well. You probably want to synchronize the tracks to the videos ahead of time, so that you have music matching each title. If that’s not feasible, make sure the audio track matches all videos it covers.

And since you are producing your DVD for an audience of yourself, you probably don’t have to worry about copyrights. Unless you are trying to sell it, in which case may I suggest a free MIDI soundtrack?

Formatting

You may have covered the file structure in the curating part, but the DVD menu needs more than that. You need to choose background images and audio clips to be played while the DVD menu is up. You also need to choose simply things like, what are menu items going to look like?

In a simple world, the application would make a set of default choices, and you would change the ones you don’t like. In any case, you should have an idea of the things you might need, and background and audio clip are bare minimums.

The audio clip, in particular, is important. DVD players sometimes don’t deal well with silence, and you may hear an annoying buzz / white noise if there is no background track.

Converting

Most DVD software will take care of this step for you, but you need to know about it. DVDs accept only a set of formats, and all clips in your collection should match that format, so that the viewer has a consistent experience.

Videos, though, come in all sorts of formats. In particular, you will have multiple formats coming from different sources. Your video camera will have one format, your camera phone a different one, a YouTube video a third one again.

Image quality, in particular, is a concern. DVDs have a native resolution of 720×480, which is 480p or 480i in HD terms. If the source quality is below that, say 360p or 240p, then the video will look significantly degraded, or fuzzy.

That’s not terrible, per se. You can easily enjoy a video at low resolution. What really looks bad, though, is if you mix significantly different video quality. If you have, say, a 1080p video followed by a 240p video, the second one will look terrible.

That aside, the main factor in conversion from the perspective of software is that whatever you use has to be able to handle the formats you throw at it. Fortunately, there are fewer and fewer formats in actual use, and the world is slowly accepting international standards. One holdout is FLV, the Flash Video Format, which is not only proprietary but also frequently updated to prevent external software from reading it successfully.

Creating

Yay us! We’ve covered all the steps that lead us here, and now it’s time to create a DVD. This is highly dependent on the software you have chosen, but there are a few items that stand out:

  • It takes space to create a DVD. You should have at least twice the size of the DVD available on your hard drive. A DVD can run anywhere up to 4.7GB, so you should have at least 10GB free
  • The conversion process, in particular, takes a good amount of time. This is particularly true if your source files are high-res, like they are generated by a lot of cameras these days
  • You want to end up with an ISO file you can use to burn the DVD again. Sometimes the DVDs you burn don’t come out right, and you just want to try again without having to wait for the whole process. Once you have the DVD you want and it works fine, you can delete the ISO file
  • You absolutely need software that can run unattended. This will be a mandatory criterion in the evaluation

Burning

Once you have your ISO file, you can use any DVD burning software to get it onto the disc. I will tip my hat for K3b, which for years has been the most reliable tool in the shed for me. It recognizes all drives I’ve thrown at it, and is really good at auto-detecting problems.

Covering

Since we are creating a physical object, we may want to also design a cover for it. You could use any old DTP application or word processor for the task, but you would have to enter the DVD structure again. If the DVD software allows for automatic creation of covers, we’ll note it.