Manual work.
[dcpomatic.git] / doc / manual / dvdomatic.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE book [
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">
7 %dbcent;
8 <!ENTITY % extensions SYSTEM "extensions.ent">
9 %extensions;
10 ]>
11 <book xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
12
13 <bookinfo>
14 <title>DVD-o-matic</title>
15 <author><firstname>Carl</firstname><surname>Hetherington</surname></author>
16 </bookinfo>
17
18 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
19 <title>Introduction</title>
20
21 <para>
22 Hello, and welcome to DVD-o-matic!
23 </para>
24
25 <section>
26 <title>What is DVD-o-matic?</title>
27
28 <para>
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
33 cinema projectors.
34 </para>
35
36 <para>
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
39 your cinema.
40 </para>
41
42 </section>
43
44 <section>
45 <title>Licence</title>
46
47 <para>
48 DVD-o-matic is licensed under the <ulink url="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU GPL</ulink>.
49 </para>
50
51
52 </section>
53 </chapter>
54
55 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
56 <title>Installation</title>
57
58 <section>
59 <title>Windows</title>
60
61 <para>
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.
66 </para>
67
68 </section>
69
70 <section>
71 <title>Linux</title>
72
73 <para>
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.
76 </para>
77
78 <para>
79 The following dependencies are required:
80 <itemizedlist>
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>
91 </itemizedlist>
92 </para>
93
94 <para>
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
99 directory:
100 </para>
101
102 <programlisting>
103 ./waf configure
104 ./waf build
105 sudo ./waf install
106 </programlisting>
107
108 <para>
109 With any luck, this will build and install DVD-o-matic on your system.  To run it, enter:
110 </para>
111
112 <programlisting>
113 dvdomatic
114 </programlisting>
115
116 <para>
117 in a shell.
118 </para>
119
120 </section>
121 </chapter>
122
123 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
124 <title>Creating a video DCP</title>
125
126 <para>
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.
130 </para>
131
132 <section>
133 <title>Creating a new film</title>
134
135 <para>
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.
143 </para>
144
145 <para>
146 Now, start DVD-o-matic and its window will open.  First, we will
147 create a new &lsquo;film&rsquo;.  A &lsquo;film&rsquo; 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"/>.
153 </para>
154
155 <figure id="fig-file-new"> 
156   <title>Creating a new film</title> 
157   <mediaobject>
158     <imageobject> 
159       <imagedata fileref="screenshots/file-new&scs;"/>
160     </imageobject> 
161   </mediaobject>
162 </figure>
163
164 <para>
165 This will open a dialogue box for the new film, as shown in <xref
166 linkend="fig-video-new-film"/>.
167 </para>
168
169 <figure id="fig-video-new-film"> 
170   <title>Dialogue box for creating a new film</title> 
171   <mediaobject>
172     <imageobject> 
173       <imagedata fileref="screenshots/video-new-film&scs;"/>
174     </imageobject> 
175   </mediaobject>
176 </figure>
177
178 <para>
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 &lsquo;DCP Test&rsquo; inside my home folder (carl) into which it
184 will write its working files.
185 </para>
186
187 </section>
188
189 <section>
190 <title>Selecting content</title>
191
192 <para>
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"/>.
198 </para>
199
200 <figure id="fig-click-content-selector">
201   <title>Opening the content selector</title> 
202   <mediaobject>
203     <imageobject> 
204       <imagedata fileref="screenshots/click-content-selector&scs;"/>
205     </imageobject> 
206   </mediaobject>
207 </figure>
208
209 <figure id="fig-video-select-content-file"> 
210   <title>Selecting a video content file</title> 
211   <mediaobject>
212     <imageobject> 
213       <imagedata fileref="screenshots/video-select-content-file&scs;"/>
214     </imageobject> 
215   </mediaobject>
216 </figure>
217
218 <para>
219 Select your content file and click <guilabel>Open</guilabel>.  In this
220 case, we are using the Sintel trailer that we downloaded earlier.
221 </para>
222
223 <para>
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"/>.
228 </para>
229
230 <figure id="fig-examine-thumbs"> 
231   <title>Examining the content</title>
232   <mediaobject>
233     <imageobject> 
234       <imagedata fileref="screenshots/examine-thumbs&scs;"/>
235     </imageobject> 
236   </mediaobject>
237 </figure>
238
239 <para>
240 Dragging the slider will move through your video.
241 </para>
242
243 </section>
244
245 <section>
246 <title>Setting up</title>
247
248 <para>
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"/>.
251 </para>
252
253 <figure id="fig-video-setup"> 
254   <title>Setting up to make a video DCP</title>
255   <mediaobject>
256     <imageobject> 
257       <imagedata fileref="screenshots/video-setup&scs;"/>
258     </imageobject> 
259   </mediaobject>
260 </figure>
261
262 <para>
263 The first thing is the content type.  This can be
264 &lsquo;feature&rsquo;, &lsquo;trailer&rsquo; or whatever; select the
265 required type from the drop-down list.
266 </para>
267
268 <para>
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 &lsquo;4:3 within Flat&rsquo; and
272 &lsquo;16:9 within Flat&rsquo; 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.
275 </para>
276
277 <para>
278 The remaining options can often be left alone, but may sometimes be
279 useful.  The &lsquo;crop&rsquo; 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.
287 </para>
288
289 <para>
290 The &lsquo;filters&rsquo; 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.
293 <!-- XXX: link -->
294 </para>
295
296 <para>
297 The &lsquo;scaler&rsquo; 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
300 most situations.
301 <!-- XXX: link -->
302 </para>
303
304 <para>
305 &lsquo;Audio Gain&rsquo; 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.
308 </para>
309
310 <para>
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.
318 </para>
319
320 <figure id="fig-calculate-audio-gain"> 
321   <title>Calculating audio gain</title>
322   <mediaobject>
323     <imageobject> 
324       <imagedata fileref="screenshots/calculate-audio-gain&scs;"/>
325     </imageobject> 
326   </mediaobject>
327 </figure>
328
329 <para>
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.
336 </para>
337
338 <para>
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
342 touch</ulink>.
343 </para>
344
345 <para>
346 &lsquo;Audio Delay&rsquo; 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.
349 </para>
350
351 <para>
352 The <guilabel>Range</guilabel> controls allow you to specify a part of
353 your content to encode.  We will discuss this later.
354 </para>
355
356 </section>
357
358 <section>
359 <title>Making the DCP</title>
360
361 <para>
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"/>.
368 </para>
369
370 <figure id="fig-making-dcp">
371   <title>Making the DCP</title>
372   <mediaobject>
373     <imageobject> 
374       <imagedata fileref="screenshots/making-dcp&scs;"/>
375     </imageobject> 
376   </mediaobject>
377 </figure>
378
379 <para>
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.
383 </para>
384
385 </section>
386 </chapter>
387
388
389 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
390 <title>Creating a still-image DCP</title>
391
392 <para>
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
395 how to do it.
396 </para>
397
398 <para>
399 As with video DCPs, the first step is to create a new
400 &lsquo;Film&rsquo;; 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"/>.
403 </para>
404
405 <figure id="fig-still-new-film"> 
406   <title>Dialogue box for creating a new film</title> 
407   <mediaobject>
408     <imageobject> 
409       <imagedata fileref="screenshots/still-new-film&scs;"/>
410     </imageobject> 
411   </mediaobject>
412 </figure>
413
414 <para>
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"/>.
419 </para>
420
421 <figure id="fig-still-select-content-file"> 
422   <title>Selecting a still content file</title> 
423   <mediaobject>
424     <imageobject> 
425       <imagedata fileref="screenshots/still-select-content-file&scs;"/>
426     </imageobject> 
427   </mediaobject>
428 </figure>
429
430 <para>
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"/>.
433 </para>
434
435 <figure id="fig-still-setup"> 
436   <title>Setting up to make a still DCP</title>
437   <mediaobject>
438     <imageobject> 
439       <imagedata fileref="screenshots/still-setup&scs;"/>
440     </imageobject> 
441   </mediaobject>
442 </figure>
443
444 <para>
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
449 screen.
450 </para>
451
452 <para>
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.
457 </para>
458
459 </chapter>
460
461
462 <chapter xml:id="ch-preferences" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
463 <title>Preferences</title>
464
465 <para>
466 DVD-o-matic provides a few preferences which can be used to modify its
467 behaviour.  This chapter explains those options.
468 </para>
469
470 <section>
471 <title>The preferences dialogue</title>
472
473 <para>
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"/>.
477 </para>
478
479 <figure id="fig-prefs"> 
480   <title>Preferences</title> 
481   <mediaobject>
482     <imageobject> 
483       <imagedata fileref="screenshots/prefs&scs;"/>
484     </imageobject> 
485   </mediaobject>
486 </figure>
487
488 <section>
489 <title>TMS setup</title>
490
491 <para>
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"/>.
496 </para>
497
498 <para>
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.
504 </para>
505 </section>
506
507 <section>
508 <title>Threads</title>
509
510 <para>
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.
515 </para>
516
517 </section>
518
519 <section>
520 <title>Colour look-up table</title>
521
522 <para>
523 This specifies the colour space that your input content will be
524 expected to be in.  If in doubt, leave it set to &lsquo;sRGB&rsquo;.
525 </para>
526
527 </section>
528
529 <section>
530 <title>A/B options</title>
531
532 <para>
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"/>.
536 </para>
537
538 </section>
539
540 <section>
541 <title>Encoding servers</title>
542
543 <para>
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 &lsquo;master&rsquo; 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
550 used.
551 </para>
552
553 </section>
554
555 </section>
556 </chapter>
557
558 <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
559 <title>Advanced topics</title>
560
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
563 circumstances.
564 </para>
565
566 <section>
567 <title>Filtering</title>
568
569 <para>
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"/>.
575 </para>
576
577 <figure id="fig-filters"> 
578   <title>Filters selector</title> 
579   <mediaobject>
580     <imageobject> 
581       <imagedata fileref="screenshots/filters&scs;"/>
582     </imageobject> 
583   </mediaobject>
584 </figure>
585
586 <para>
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.
590 </para>
591
592 <para>
593 If you want to examine them yourself, you may find the A/B option (see
594 <xref linkend="sec-ab"/>) useful.
595 </para>
596
597 <para>
598 After changing the filters setup, you will need to regenerate the DCP
599 to see the effect on-screen.
600 </para>
601
602 </section>
603
604 <section>
605 <title>Scaling</title>
606
607 <para>
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 &lsquo;Bicubic&rsquo; is the
612 best all-round option, but tests are ongoing.
613 </para>
614
615 </section>
616
617 <section xml:id="tms-upload">
618 <title>TMS upload</title>
619
620 <para>
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.
625 </para>
626
627 </section>
628
629
630 <section xml:id="sec-ab">
631 <title>A/B comparison</title>
632
633 <para>
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 &lsquo;reference&rsquo; 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
640 evaluated.
641 </para>
642
643 <para>
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.
649 </para>
650
651 </section>
652
653
654 <section>
655 <title>Encode range</title>
656
657 <para>
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"/>.
662 </para>
663
664 <figure id="fig-range"> 
665   <title>Range selector</title> 
666   <mediaobject>
667     <imageobject> 
668       <imagedata fileref="screenshots/range&scs;"/>
669     </imageobject> 
670   </mediaobject>
671 </figure>
672
673 <para>
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 &mdash; perhaps
677 just encode the first ten minutes, look at it on screen, and check
678 that it is ok.
679 </para>
680
681 <para>
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
685 out.
686 </para>
687
688 </section>
689 </chapter>
690
691
692 </book>