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:
123 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
124 <title>Creating a video DCP</title>
127 In this chapter we will see how to create a video DCP using
128 DVD-o-matic. We will gloss over some of the finer details, which are
129 explained in later chapters.
133 <title>Creating a new film</title>
136 Let's make a very simple DCP to see how DVD-o-matic works. First, we
137 need some content. Download the low-resolution trailer for the open
138 movie <ulink url="http://sintel.org/">Sintel</ulink> from <ulink
139 url="http://ftp.nluug.nl/ftp/graphics/blender/apricot/trailer/Sintel_Trailer1.480p.DivX_Plus_HD.mkv">their
140 website</ulink>. Generally, of course, one would want to use the
141 highest-resolution material available, but for this test we will use
142 the low-resolution version to save everyone's bandwidth bills.
146 Now, start DVD-o-matic and its window will open. First, we will
147 create a new ‘film’. A ‘film’ is how DVD-o-matic refers to
148 a piece of content, along with some settings, which we will make into
149 a DCP. DVD-o-matic stores its data in a folder on your disk while it
150 creates the DCP. You can create a new film by selecting
151 <guilabel>New</guilabel> from the <guilabel>File</guilabel> menu, as
152 shown in <xref linkend="fig-file-new"/>.
155 <figure id="fig-file-new">
156 <title>Creating a new film</title>
159 <imagedata fileref="screenshots/file-new&scs;"/>
165 This will open a dialogue box for the new film, as shown in <xref
166 linkend="fig-video-new-film"/>.
169 <figure id="fig-video-new-film">
170 <title>Dialogue box for creating a new film</title>
173 <imagedata fileref="screenshots/video-new-film&scs;"/>
179 In this dialogue box you can choose a name for the film. This will be
180 used to name the folder to store its data in, and also as the initial
181 name for the DCP itself. You can also set whereabouts you want to create
182 the film. In the example from the figure, DVD-o-matic will create a
183 folder called ‘DCP Test’ inside my home folder (carl) into which it
184 will write its working files.
190 <title>Selecting content</title>
193 The next step is to set the content that you want to use. Click the
194 content selector, as shown in <xref
195 linkend="fig-click-content-selector"/> and the a file chooser will
196 open for you to select the content file to use, as shown in <xref
197 linkend="fig-video-select-content-file"/>.
200 <figure id="fig-click-content-selector">
201 <title>Opening the content selector</title>
204 <imagedata fileref="screenshots/click-content-selector&scs;"/>
209 <figure id="fig-video-select-content-file">
210 <title>Selecting a video content file</title>
213 <imagedata fileref="screenshots/video-select-content-file&scs;"/>
219 Select your content file and click <guilabel>Open</guilabel>. In this
220 case, we are using the Sintel trailer that we downloaded earlier.
224 When you do this, DVD-o-matic will take a look at your file. After a
225 short while (when the progress bars at the bottom right of the window
226 have finished), you can look through your content using the slider to
227 the right of the window, as shown in <xref linkend="fig-examine-thumbs"/>.
230 <figure id="fig-examine-thumbs">
231 <title>Examining the content</title>
234 <imagedata fileref="screenshots/examine-thumbs&scs;"/>
240 Dragging the slider will move through your video.
246 <title>Setting up</title>
249 Now there are a few things to set up to describe how the DCP should be
250 created, as shown in <xref linkend="fig-video-setup"/>.
253 <figure id="fig-video-setup">
254 <title>Setting up to make a video DCP</title>
257 <imagedata fileref="screenshots/video-setup&scs;"/>
263 The first thing is the content type. This can be
264 ‘feature’, ‘trailer’ or whatever; select the
265 required type from the drop-down list.
269 Next is the format. This will govern the shape that DVD-o-matic will
270 make your image into. Select the aspect ratio that your content
271 should be presented in. The ‘4:3 within Flat’ and
272 ‘16:9 within Flat’ settings will put the image at the
273 specified ratio within a Flat (1.85:1) frame, so that you can project
274 the DCP using your projector's Flat preset.
278 The remaining options can often be left alone, but may sometimes be
279 useful. The ‘crop’ settings can be used to crop your
280 content, which can be used to remove black borders from round the
281 edges of DVD images, for example. The <guilabel>L</guilabel>,
282 <guilabel>R</guilabel>, <guilabel>T</guilabel> and
283 <guilabel>B</guilabel> settings correspond to the left, right, top and
284 bottom of the image respectively. The specified number of pixels will
285 be trimmed from each edge, and your content image in the right of the
286 window will be updated to show the cropping in action.
290 The ‘filters’ settings allow you to apply various video
291 filters to the image. These may be useful to try to improve
292 poor-quality sources like DVDs. We will discuss filtering later in the manual.
297 The ‘scaler’ is the method that will be used to scale up
298 your content to the required size for the DCP, if required. We will
299 discuss the options in more detail later; Bicubic is a fine choice in
305 ‘Audio Gain’ is used to alter the volume of the
306 soundtrack. The specified gain (in dB) will be applied to each sound
307 channel before it is written to the DCP.
311 If you use a sound processor that DVD-o-matic knows about, it can help
312 you calculate changes in gain that you should apply. Say, for
313 example, that you make a test DCP and find that you have to run it at
314 volume 5 instead of volume 7 to get a good sound level in the screen.
315 If this is the case, click the <guilabel>Calculate...</guilabel>
316 button next to the audio gain entry, and the dialogue box in <xref
317 linkend="fig-calculate-audio-gain"/> will open.
320 <figure id="fig-calculate-audio-gain">
321 <title>Calculating audio gain</title>
324 <imagedata fileref="screenshots/calculate-audio-gain&scs;"/>
330 For our example, put 5 in the first box and 7 in the second and click
331 <guilabel>OK</guilabel>. DVD-o-matic will calculate the audio gain
332 that it should apply to make this happen. Then you can re-make the
333 DCP (this will be reasonably fast, as the video data will already have
334 been done) and it should play back at the correct volume with 7 on
335 your sound-rack fader.
339 Current versions of DVD-o-matic only know about the Dolby CP750. If
340 you use a different sound processor, and know the gain curve of its
341 volume control, <ulink url="mailto:cth@carlh.net">get in
346 ‘Audio Delay’ is used to adjust the synchronisation
347 between audio and video. A positive delay will move the audio later
348 with respect to the video, and a negative delay will move it earlier.
352 The <guilabel>Range</guilabel> controls allow you to specify a part of
353 your content to encode. We will discuss this later.
359 <title>Making the DCP</title>
362 Now that we have set everything up, choose <guilabel>Make
363 DCP</guilabel> from the <guilabel>Jobs</guilabel> menu. DVD-o-matic
364 will encode your DCP. This may take some time (many hours in some
365 cases). While the job is in progress, DVD-o-matic will update you on
366 how it is getting on with the progress bar in the bottom right hand
367 corner of its window, as shown in <xref linkend="fig-making-dcp"/>.
370 <figure id="fig-making-dcp">
371 <title>Making the DCP</title>
374 <imagedata fileref="screenshots/making-dcp&scs;"/>
380 When it has finished, the DCP will end up on your disk inside the
381 film's directory. You can then copy this to a projector via a USB
382 stick, hard-drive or network connection.
389 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
390 <title>Creating a still-image DCP</title>
393 DVD-o-matic can also be used to create DCPs of a still image, perhaps
394 for an advertisement or an on-screen announcement. This chapter shows you
399 As with video DCPs, the first step is to create a new
400 ‘Film’; select <guilabel>New</guilabel> from the
401 <guilabel>File</guilabel> menu and the new film dialogue will open as
402 shown in <xref linkend="fig-still-new-film"/>.
405 <figure id="fig-still-new-film">
406 <title>Dialogue box for creating a new film</title>
409 <imagedata fileref="screenshots/still-new-film&scs;"/>
415 Enter a name and click <guilabel>OK</guilabel>. Then we set up the
416 content; click the content selector as before, and this time we will
417 choose an image file, as shown in <xref
418 linkend="fig-still-select-content-file"/>.
421 <figure id="fig-still-select-content-file">
422 <title>Selecting a still content file</title>
425 <imagedata fileref="screenshots/still-select-content-file&scs;"/>
431 Setting up for a still image DCP is somewhat simpler than for a video;
432 the options are shown in <xref linkend="fig-still-setup"/>.
435 <figure id="fig-still-setup">
436 <title>Setting up to make a still DCP</title>
439 <imagedata fileref="screenshots/still-setup&scs;"/>
445 As with video, you can select a content type and the format (ratio)
446 that your image should be presented in. It will be scaled to fit the
447 selected ratio. You can also crop your image, if you so choose, and
448 then set a duration (in seconds) that the image should appear on
453 Finally, as with video, you can choose <guilabel>Make DCP</guilabel>
454 from the <guilabel>Jobs</guilabel> menu to create your DCP. This will
455 be much quicker than creating a video DCP, as DVD-o-matic only needs
456 to encode a single frame which it can then repeat.
462 <chapter xml:id="ch-preferences" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
463 <title>Preferences</title>
466 DVD-o-matic provides a few preferences which can be used to modify its
467 behaviour. This chapter explains those options.
471 <title>The preferences dialogue</title>
474 The preferences dialogue is opened by choosing
475 <guilabel>Preferences...</guilabel> from the <guilabel>Edit</guilabel>
476 menu. The dialogue is shown in <xref linkend="fig-prefs"/>.
479 <figure id="fig-prefs">
480 <title>Preferences</title>
483 <imagedata fileref="screenshots/prefs&scs;"/>
489 <title>TMS setup</title>
492 The first part of the dialogue gives some options for specifying
493 details about your TMS. If you do this, and your TMS accepts SSH
494 connections, you can upload DCPs directly from DVD-o-matic to the TMS.
495 This is discussed in <xref linkend="sec-tms-upload"/>.
499 <guilabel>TMS IP address</guilabel> should be set to the IP address of
500 your TMS, <guilabel>TMS target path</guilabel> to the place that DCPs
501 should be uploaded to (which will be relative to the home directory of
502 the SSH user). Finally, the user name and password are the
503 credentials required to log into the TMS via SSH.
508 <title>Threads</title>
511 When DVD-o-matic is encoding DCPs it can use multiple parallel threads
512 to speed things up. Set this value to the number of threads
513 DVD-o-matic should use. This would typically be set to the number of
514 processors (or processor cores) in your machine.
520 <title>Colour look-up table</title>
523 This specifies the colour space that your input content will be
524 expected to be in. If in doubt, leave it set to ‘sRGB’.
530 <title>A/B options</title>
533 These options are for DVD-o-matic's special mode of making A/B
534 comparison DCPs for checking the performance of video filters. Their
535 use is described in <xref linkend="sec-ab"/>.
541 <title>Encoding servers</title>
544 If you have spare machines sitting around on your network not doing
545 much, they can be pressed into service to speed up DCP encodes. This
546 is done by running a small server program on the machine, which will
547 encode video sent to it by the ‘master’ DVD-o-matic. This
548 option is described in more detail in <xref linkend="sec-servers"/>.
549 Use these preferences to specify the encoding servers that should be
558 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
559 <title>Advanced topics</title>
561 <para>This chapter describes some parts of DVD-o-matic that are
562 probably not essential, but which you might find useful in some
567 <title>Filtering</title>
570 DVD-o-matic offers a variety of filters that can be applied to your
571 video content. You can set up the filters by clicking the
572 <guilabel>Edit</guilabel> button next to the filters entry in the
573 setup area of the DVD-o-matic window; this opens the filters selector
574 as shown in <xref linkend="fig-filters"/>.
577 <figure id="fig-filters">
578 <title>Filters selector</title>
581 <imagedata fileref="screenshots/filters&scs;"/>
587 As it stands, these filters are somewhat disorganised! Work is
588 ongoing to test them with various content and choose a selection which
589 work well for cinema applications.
593 If you want to examine them yourself, you may find the A/B option (see
594 <xref linkend="sec-ab"/>) useful.
598 After changing the filters setup, you will need to regenerate the DCP
599 to see the effect on-screen.
605 <title>Scaling</title>
608 If your source material is not of the DCI-specified size, or if it
609 uses non-square pixels, DVD-o-matic will need to scale it. The
610 algorithm used to scale is set up by the <guilabel>Scaler</guilabel>
611 entry in the film setup area. We think ‘Bicubic’ is the
612 best all-round option, but tests are ongoing.
617 <section xml:id="tms-upload">
618 <title>TMS upload</title>
621 If you have configured details of a TMS in the preferences dialogue
622 (<xref linkend="ch-preferences"/>) you can upload a completed DCP
623 straight to your TMS but choosing <guilabel>Send DCP to TMS</guilabel>
624 from the <guilabel>Jobs</guilabel> menu.
630 <section xml:id="sec-ab">
631 <title>A/B comparison</title>
634 When evaluating the effects of different filters or scalers on the
635 image quality, A/B mode might be useful. In this mode, DVD-o-matic
636 will generate a DCP where the left half of the image uses some
637 ‘reference’ filtering and scaling, and the right half of
638 the image uses a different set of filters and a different scaler.
639 This DCP can then be played back on a projector and the image quality
644 To enable A/B mode, click the A/B checkbox in the setup area of the
645 DVD-o-matic window. When you generate your DCP, the left half of the
646 screen will use the filters and scaler specified in the <xref
647 linkend="ch-preferences">preferences</xref> dialogue, and the right
648 half will use the filters and scaler specified in the film setup.
655 <title>Encode range</title>
658 If you want to encode only a portion of your input content, you can do
659 so by clicking the <guilabel>Edit</guilabel> button next to the
660 <guilabel>Range</guilabel> entry in the film setup area. This will
661 open the dialogue shown in <xref linkend="fig-range"/>.
664 <figure id="fig-range">
665 <title>Range selector</title>
668 <imagedata fileref="screenshots/range&scs;"/>
674 Here you can choose to encode the whole film, or just the first
675 so-many frames of it. This can be useful to check the quality of an
676 encode before comitting to encoding the whole film — perhaps
677 just encode the first ten minutes, look at it on screen, and check
682 If you choose to encode only a part of the film, you can set
683 DVD-o-matic to black out the rest. This can be useful to chop a small
684 part off the end of a piece of content while letting the audio play