1 <?xml version="1.0" encoding="utf-8"?>
3 <!ENTITY % sgml.features "IGNORE">
4 <!ENTITY % xml.features "INCLUDE">
5 <!ENTITY % dbcent PUBLIC "-//OASIS//ENTITIES DocBook Character Entities V4.5//EN"
6 "/usr/share/xml/docbook/schema/dtd/4.5/dbcentx.mod">
8 <!ENTITY % extensions SYSTEM "extensions.ent">
11 <book xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
14 <title>DVD-o-matic</title>
15 <author><firstname>Carl</firstname><surname>Hetherington</surname></author>
18 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
19 <title>Introduction</title>
22 Hello, and welcome to DVD-o-matic!
26 <title>What is DVD-o-matic?</title>
29 DVD-o-matic is a program to generate <ulink
30 url="http://en.wikipedia.org/wiki/Digital_Cinema_Package">Digital
31 Cinema Packages</ulink> (DCPs) from DVDs, Blu-Rays, video files such as MP4
32 and AVI, or still images. The resulting DCPs will play on modern digital
37 You might find it useful to make DVDs easier to present, to encode
38 independently-shot feature films, or to generate local advertising for
45 <title>Licence</title>
48 DVD-o-matic is licensed under the <ulink url="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU GPL</ulink>.
55 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
56 <title>Installation</title>
59 <title>Windows</title>
62 To install DVD-o-matic on Windows, simply download the installer from
63 <ulink url="http://carlh.net/software/dvdomatic">http://carlh.net</ulink>
64 and double-click it. Click through the installer wizard, and
65 DVD-o-matic will be installed onto your machine.
74 Installation on Linux is currently a little involved, as there are no
75 packages available (yet); you will have to compile it from source.
79 The following dependencies are required:
81 <listitem><ulink url="http://ffmpeg.org/">FFmpeg</ulink></listitem>
82 <listitem><ulink url="http://www.mega-nerd.com/libsndfile/">libsndfile</ulink></listitem>
83 <listitem><ulink url="http://www.openssl.org/">OpenSSL</ulink></listitem>
84 <listitem><ulink url="http://www.openjpeg.org/">libopenjpeg</ulink></listitem>
85 <listitem><ulink url="http://www.imagemagick.org/script/index.php">ImageMagick</ulink></listitem>
86 <listitem><ulink url="http://www.boost.org/">Boost</ulink></listitem>
87 <listitem><ulink url="http://www.libssh.org/">libssh</ulink></listitem>
88 <listitem><ulink url="http://www.gtk.org/">GTK</ulink></listitem>
89 <listitem><ulink url="http://www.wxwidgets.org/">wxWidgets</ulink></listitem>
90 <listitem><ulink url="http://carlh.net/software/libdcp/">libdcp</ulink></listitem>
95 Once you have installed the development packages for the dependencies,
96 download the source code from <ulink
97 url="http://carlh.net/software/dvdomatic">http://carlh.net</ulink>,
98 unpack it and run the following commands from inside the source
109 With any luck, this will build and install DVD-o-matic on your system. To run it, enter:
121 <title>Obtaining dependencies on Ubuntu 12.04</title>
124 Ubuntu 12.04 packages most of DVD-o-matic's dependencies, but some are missing. This section
125 describes how to obtain all of the dependencies.
129 <title>Packaged dependencies</title>
132 Most of the dependencies can be obtained from Ubuntu's packages using:
136 sudo apt-get install libwxgtk2.8-dev libsndfile1-dev libssl-dev libssh-dev
137 sudo apt-get install libmagickcore-dev libboost-filesystem-dev libboost-thread-dev
143 <title>Unpackaged dependencies</title>
147 <title>FFmpeg</title>
150 Ubuntu does not package FFmpeg, so you will need to build it from source. The
151 following commands should work:
155 git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
157 ./configure --enable-shared --enable-postproc --enable-gpl
165 <title>libdcp</title>
168 You can build libdcp using:
172 wget http://carlh.net/software/libdcp-0.20.tar.bz2
173 tar xjf libdcp-0.20.tar.bz2
183 <title>libopenjpeg</title>
186 Ubuntu does package libopenjpeg, but it is a rather old version. To build
191 wget http://code.google.com/p/openjpeg/downloads/detail?name=openjpeg-1.5.1.tar.gz
192 tar xzf openjpeg-1.5.1.tar.gz
193 cd openjepg-1.5.1.tar.gz
204 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
205 <title>Creating a video DCP</title>
208 In this chapter we will see how to create a video DCP using
209 DVD-o-matic. We will gloss over some of the finer details, which are
210 explained in later chapters.
214 <title>Creating a new film</title>
217 Let's make a very simple DCP to see how DVD-o-matic works. First, we
218 need some content. Download the low-resolution trailer for the open
219 movie <ulink url="http://sintel.org/">Sintel</ulink> from <ulink
220 url="http://ftp.nluug.nl/ftp/graphics/blender/apricot/trailer/Sintel_Trailer1.480p.DivX_Plus_HD.mkv">their
221 website</ulink>. Generally, of course, one would want to use the
222 highest-resolution material available, but for this test we will use
223 the low-resolution version to save everyone's bandwidth bills.
227 Now, start DVD-o-matic and its window will open. First, we will
228 create a new ‘film’. A ‘film’ is how DVD-o-matic refers to
229 a piece of content, along with some settings, which we will make into
230 a DCP. DVD-o-matic stores its data in a folder on your disk while it
231 creates the DCP. You can create a new film by selecting
232 <guilabel>New</guilabel> from the <guilabel>File</guilabel> menu, as
233 shown in <xref linkend="fig-file-new"/>.
236 <figure id="fig-file-new">
237 <title>Creating a new film</title>
240 <imagedata fileref="screenshots/file-new&scs;"/>
246 This will open a dialogue box for the new film, as shown in <xref
247 linkend="fig-video-new-film"/>.
250 <figure id="fig-video-new-film">
251 <title>Dialogue box for creating a new film</title>
254 <imagedata fileref="screenshots/video-new-film&scs;"/>
260 In this dialogue box you can choose a name for the film. This will be
261 used to name the folder to store its data in, and also as the initial
262 name for the DCP itself. You can also set whereabouts you want to create
263 the film. In the example from the figure, DVD-o-matic will create a
264 folder called ‘DCP Test’ inside my home folder (carl) into which it
265 will write its working files.
271 <title>Selecting content</title>
274 The next step is to set the content that you want to use. Click the
275 content selector, as shown in <xref
276 linkend="fig-click-content-selector"/> and the a file chooser will
277 open for you to select the content file to use, as shown in <xref
278 linkend="fig-video-select-content-file"/>.
281 <figure id="fig-click-content-selector">
282 <title>Opening the content selector</title>
285 <imagedata fileref="screenshots/click-content-selector&scs;"/>
290 <figure id="fig-video-select-content-file">
291 <title>Selecting a video content file</title>
294 <imagedata fileref="screenshots/video-select-content-file&scs;"/>
300 Select your content file and click <guilabel>Open</guilabel>. In this
301 case, we are using the Sintel trailer that we downloaded earlier.
305 When you do this, DVD-o-matic will take a look at your file. After a
306 short while (when the progress bars at the bottom right of the window
307 have finished), you can look through your content using the slider to
308 the right of the window, as shown in <xref linkend="fig-examine-thumbs"/>.
311 <figure id="fig-examine-thumbs">
312 <title>Examining the content</title>
315 <imagedata fileref="screenshots/examine-thumbs&scs;"/>
321 Dragging the slider will move through your video.
327 <title>Setting up</title>
330 Now there are a few things to set up to describe how the DCP should be
331 created, as shown in <xref linkend="fig-video-setup"/>.
334 <figure id="fig-video-setup">
335 <title>Setting up to make a video DCP</title>
338 <imagedata fileref="screenshots/video-setup&scs;"/>
344 The first thing is the content type. This can be
345 ‘feature’, ‘trailer’ or whatever; select the
346 required type from the drop-down list.
350 Next is the format. This will govern the shape that DVD-o-matic will
351 make your image into. Select the aspect ratio that your content
352 should be presented in. The ‘4:3 within Flat’ and
353 ‘16:9 within Flat’ settings will put the image at the
354 specified ratio within a Flat (1.85:1) frame, so that you can project
355 the DCP using your projector's Flat preset.
359 The remaining options can often be left alone, but may sometimes be
360 useful. The ‘crop’ settings can be used to crop your
361 content, which can be used to remove black borders from round the
362 edges of DVD images, for example. The <guilabel>L</guilabel>,
363 <guilabel>R</guilabel>, <guilabel>T</guilabel> and
364 <guilabel>B</guilabel> settings correspond to the left, right, top and
365 bottom of the image respectively. The specified number of pixels will
366 be trimmed from each edge, and your content image in the right of the
367 window will be updated to show the cropping in action.
371 The ‘filters’ settings allow you to apply various video
372 filters to the image. These may be useful to try to improve
373 poor-quality sources like DVDs. We will discuss filtering later in the manual.
378 The ‘scaler’ is the method that will be used to scale up
379 your content to the required size for the DCP, if required. We will
380 discuss the options in more detail later; Bicubic is a fine choice in
386 ‘Audio Gain’ is used to alter the volume of the
387 soundtrack. The specified gain (in dB) will be applied to each sound
388 channel before it is written to the DCP.
392 If you use a sound processor that DVD-o-matic knows about, it can help
393 you calculate changes in gain that you should apply. Say, for
394 example, that you make a test DCP and find that you have to run it at
395 volume 5 instead of volume 7 to get a good sound level in the screen.
396 If this is the case, click the <guilabel>Calculate...</guilabel>
397 button next to the audio gain entry, and the dialogue box in <xref
398 linkend="fig-calculate-audio-gain"/> will open.
401 <figure id="fig-calculate-audio-gain">
402 <title>Calculating audio gain</title>
405 <imagedata fileref="screenshots/calculate-audio-gain&scs;"/>
411 For our example, put 5 in the first box and 7 in the second and click
412 <guilabel>OK</guilabel>. DVD-o-matic will calculate the audio gain
413 that it should apply to make this happen. Then you can re-make the
414 DCP (this will be reasonably fast, as the video data will already have
415 been done) and it should play back at the correct volume with 7 on
416 your sound-rack fader.
420 Current versions of DVD-o-matic only know about the Dolby CP750. If
421 you use a different sound processor, and know the gain curve of its
422 volume control, <ulink url="mailto:cth@carlh.net">get in
427 ‘Audio Delay’ is used to adjust the synchronisation
428 between audio and video. A positive delay will move the audio later
429 with respect to the video, and a negative delay will move it earlier.
433 The <guilabel>Range</guilabel> controls allow you to specify a part of
434 your content to encode. We will discuss this later.
440 <title>Making the DCP</title>
443 Now that we have set everything up, choose <guilabel>Make
444 DCP</guilabel> from the <guilabel>Jobs</guilabel> menu. DVD-o-matic
445 will encode your DCP. This may take some time (many hours in some
446 cases). While the job is in progress, DVD-o-matic will update you on
447 how it is getting on with the progress bar in the bottom right hand
448 corner of its window, as shown in <xref linkend="fig-making-dcp"/>.
451 <figure id="fig-making-dcp">
452 <title>Making the DCP</title>
455 <imagedata fileref="screenshots/making-dcp&scs;"/>
461 When it has finished, the DCP will end up on your disk inside the
462 film's directory. You can then copy this to a projector via a USB
463 stick, hard-drive or network connection.
470 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
471 <title>Creating a still-image DCP</title>
474 DVD-o-matic can also be used to create DCPs of a still image, perhaps
475 for an advertisement or an on-screen announcement. This chapter shows you
480 As with video DCPs, the first step is to create a new
481 ‘Film’; select <guilabel>New</guilabel> from the
482 <guilabel>File</guilabel> menu and the new film dialogue will open as
483 shown in <xref linkend="fig-still-new-film"/>.
486 <figure id="fig-still-new-film">
487 <title>Dialogue box for creating a new film</title>
490 <imagedata fileref="screenshots/still-new-film&scs;"/>
496 Enter a name and click <guilabel>OK</guilabel>. Then we set up the
497 content; click the content selector as before, and this time we will
498 choose an image file, as shown in <xref
499 linkend="fig-still-select-content-file"/>.
502 <figure id="fig-still-select-content-file">
503 <title>Selecting a still content file</title>
506 <imagedata fileref="screenshots/still-select-content-file&scs;"/>
512 Setting up for a still image DCP is somewhat simpler than for a video;
513 the options are shown in <xref linkend="fig-still-setup"/>.
516 <figure id="fig-still-setup">
517 <title>Setting up to make a still DCP</title>
520 <imagedata fileref="screenshots/still-setup&scs;"/>
526 As with video, you can select a content type and the format (ratio)
527 that your image should be presented in. It will be scaled to fit the
528 selected ratio. You can also crop your image, if you so choose, and
529 then set a duration (in seconds) that the image should appear on
534 Finally, as with video, you can choose <guilabel>Make DCP</guilabel>
535 from the <guilabel>Jobs</guilabel> menu to create your DCP. This will
536 be much quicker than creating a video DCP, as DVD-o-matic only needs
537 to encode a single frame which it can then repeat.
543 <chapter xml:id="ch-preferences" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
544 <title>Preferences</title>
547 DVD-o-matic provides a few preferences which can be used to modify its
548 behaviour. This chapter explains those options.
552 <title>The preferences dialogue</title>
555 The preferences dialogue is opened by choosing
556 <guilabel>Preferences...</guilabel> from the <guilabel>Edit</guilabel>
557 menu. The dialogue is shown in <xref linkend="fig-prefs"/>.
560 <figure id="fig-prefs">
561 <title>Preferences</title>
564 <imagedata fileref="screenshots/prefs&scs;"/>
570 <title>TMS setup</title>
573 The first part of the dialogue gives some options for specifying
574 details about your TMS. If you do this, and your TMS accepts SSH
575 connections, you can upload DCPs directly from DVD-o-matic to the TMS.
576 This is discussed in <xref linkend="sec-tms-upload"/>.
580 <guilabel>TMS IP address</guilabel> should be set to the IP address of
581 your TMS, <guilabel>TMS target path</guilabel> to the place that DCPs
582 should be uploaded to (which will be relative to the home directory of
583 the SSH user). Finally, the user name and password are the
584 credentials required to log into the TMS via SSH.
589 <title>Threads</title>
592 When DVD-o-matic is encoding DCPs it can use multiple parallel threads
593 to speed things up. Set this value to the number of threads
594 DVD-o-matic should use. This would typically be set to the number of
595 processors (or processor cores) in your machine.
601 <title>Colour look-up table</title>
604 This specifies the colour space that your input content will be
605 expected to be in. If in doubt, leave it set to ‘sRGB’.
611 <title>A/B options</title>
614 These options are for DVD-o-matic's special mode of making A/B
615 comparison DCPs for checking the performance of video filters. Their
616 use is described in <xref linkend="sec-ab"/>.
622 <title>Encoding servers</title>
625 If you have spare machines sitting around on your network not doing
626 much, they can be pressed into service to speed up DCP encodes. This
627 is done by running a small server program on the machine, which will
628 encode video sent to it by the ‘master’ DVD-o-matic. This
629 option is described in more detail in <xref linkend="sec-servers"/>.
630 Use these preferences to specify the encoding servers that should be
639 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
640 <title>Advanced topics</title>
642 <para>This chapter describes some parts of DVD-o-matic that are
643 probably not essential, but which you might find useful in some
648 <title>Filtering</title>
651 DVD-o-matic offers a variety of filters that can be applied to your
652 video content. You can set up the filters by clicking the
653 <guilabel>Edit</guilabel> button next to the filters entry in the
654 setup area of the DVD-o-matic window; this opens the filters selector
655 as shown in <xref linkend="fig-filters"/>.
658 <figure id="fig-filters">
659 <title>Filters selector</title>
662 <imagedata fileref="screenshots/filters&scs;"/>
668 As it stands, these filters are somewhat disorganised! Work is
669 ongoing to test them with various content and choose a selection which
670 work well for cinema applications.
674 If you want to examine them yourself, you may find the A/B option (see
675 <xref linkend="sec-ab"/>) useful.
679 After changing the filters setup, you will need to regenerate the DCP
680 to see the effect on-screen.
686 <title>Scaling</title>
689 If your source material is not of the DCI-specified size, or if it
690 uses non-square pixels, DVD-o-matic will need to scale it. The
691 algorithm used to scale is set up by the <guilabel>Scaler</guilabel>
692 entry in the film setup area. We think ‘Bicubic’ is the
693 best all-round option, but tests are ongoing.
698 <section xml:id="tms-upload">
699 <title>TMS upload</title>
702 If you have configured details of a TMS in the preferences dialogue
703 (<xref linkend="ch-preferences"/>) you can upload a completed DCP
704 straight to your TMS but choosing <guilabel>Send DCP to TMS</guilabel>
705 from the <guilabel>Jobs</guilabel> menu.
711 <section xml:id="sec-ab">
712 <title>A/B comparison</title>
715 When evaluating the effects of different filters or scalers on the
716 image quality, A/B mode might be useful. In this mode, DVD-o-matic
717 will generate a DCP where the left half of the image uses some
718 ‘reference’ filtering and scaling, and the right half of
719 the image uses a different set of filters and a different scaler.
720 This DCP can then be played back on a projector and the image quality
725 To enable A/B mode, click the A/B checkbox in the setup area of the
726 DVD-o-matic window. When you generate your DCP, the left half of the
727 screen will use the filters and scaler specified in the <xref
728 linkend="ch-preferences">preferences</xref> dialogue, and the right
729 half will use the filters and scaler specified in the film setup.
736 <title>Encode range</title>
739 If you want to encode only a portion of your input content, you can do
740 so by clicking the <guilabel>Edit</guilabel> button next to the
741 <guilabel>Range</guilabel> entry in the film setup area. This will
742 open the dialogue shown in <xref linkend="fig-range"/>.
745 <figure id="fig-range">
746 <title>Range selector</title>
749 <imagedata fileref="screenshots/range&scs;"/>
755 Here you can choose to encode the whole film, or just the first
756 so-many frames of it. This can be useful to check the quality of an
757 encode before comitting to encoding the whole film — perhaps
758 just encode the first ten minutes, look at it on screen, and check
763 If you choose to encode only a part of the film, you can set
764 DVD-o-matic to black out the rest. This can be useful to chop a small
765 part off the end of a piece of content while letting the audio play