-->
<bookinfo>
-<title>DCP-o-matic</title>
+<title>DCP-o-matic users' manual</title>
<author><firstname>Carl</firstname><surname>Hetherington</surname></author>
</bookinfo>
cinema projectors.
</para>
-<para>
-You might find it useful to make DVDs easier to present, to encode
-independently-shot feature films, or to generate local advertising for
-your cinema.
-</para>
-
</section>
<title>Licence</title>
<para>
-DCP-o-matic is licensed under the <ulink url="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU GPL</ulink>.
+DCP-o-matic is free and open-source and is licensed under the <ulink
+url="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU
+GPL</ulink>.
</para>
</section>
</section>
</chapter>
+
+<!-- ============================================================== -->
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
<title>Installation</title>
<para>
You can install DCP-o-matic on Ubuntu 12.04 (‘Precise
-Pangolin’) or 14.04 (‘Trusty Tahr’) using <code>.deb</code> packages: download the
-appropriate package from <ulink
+Pangolin’), 14.04 (‘Trusty Tahr’) or 15.04
+(‘Vivid Vervet’) using <code>.deb</code> packages:
+download the appropriate package from <ulink
url="http://dcpomatic.com/">http://dcpomatic.com/</ulink> and
double-click it. Ubuntu will install the necessary bits and pieces
and set DCP-o-matic up for you.
<section>
<title>Debian Linux</title>
<para>
-Packages are available for Debian 7 (squeeze) and unstable (sid) from <ulink
+Packages are available for Debian 7 (squeeze), 8 (jessie) and unstable (sid) from <ulink
url="http://dcpomatic.com/">http://dcpomatic.com/</ulink>.
</para>
</section>
<title>Other Linux distributions</title>
<para>
-Installation on non-Ubuntu Linux is currently a little involved, as
-there are no packages available (yet); you will have to compile it
-from source. If you are using a non-Ubuntu distribution, do let me
-know by <ulink url="mailto:carl@dcpomatic.com">email</ulink> and I will see about building some packages.
+Installation on other Linux systems (for which no packages are
+available) is quite hard; you will have to compile it from source. If
+you are using distribution for which no packages are available, do let
+me know by <ulink url="mailto:carl@dcpomatic.com">email</ulink> and I
+will look into providing packages on the website.
</para>
<para>
<listitem><ulink url="http://www.libssh.org/">libssh</ulink></listitem>
<listitem><ulink url="http://www.gtk.org/">GTK (on Linux)</ulink></listitem>
<listitem><ulink url="http://www.wxwidgets.org/">wxWidgets</ulink></listitem>
-<listitem><ulink url="http://freecode.com/projects/libquickmail">libquickmail</ulink></listitem>
<listitem><ulink url="http://libxmlplusplus.sourceforge.net/">libxml++</ulink></listitem>
<listitem><ulink url="http://www.aleksey.com/xmlsec/">xmlsec</ulink></listitem>
<listitem><ulink url="http://curl.haxx.se/">curl</ulink></listitem>
</para>
<programlisting>
-dcpomatic
+dcpomatic2
</programlisting>
<para>
</para>
<figure id="fig-file-new">
- <title>Creating a new film</title>
+ <title>Creating a new film</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/file-new&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
</para>
<figure id="fig-video-new-film">
- <title>Dialogue box for creating a new film</title>
+ <title>Dialogue box for creating a new film</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/video-new-film&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
linkend="fig-video-select-content-file"/>.
</para>
-<figure id="fig-add-file">
- <title>Adding content files</title>
+<figure id="fig-add-file">
+ <title>Adding content files</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/add-file&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
-<figure id="fig-video-select-content-file">
- <title>Selecting a video content file</title>
+<figure id="fig-video-select-content-file">
+ <title>Selecting a video content file</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/video-select-content-file&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
the right of the window, as shown in <xref linkend="fig-examine-content"/>.
</para>
-<figure id="fig-examine-content">
+<figure id="fig-examine-content">
<title>Examining the content</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/examine-content&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
<para>
Dragging the slider will move through your video. You can also click
-the <guilabel>Play</guilabel> button to play the content back. Note
-that there will be no sound, and playback might not be entirely
+the <guilabel>Play</guilabel> button to play the content back. <emphasis>Note
+that there will be no sound</emphasis>, and playback might not be entirely
accurate (it may be slightly slower or faster than it should be, for
example). This player is really only intended for brief inspection of
content; if you need to check it more thoroughly, use another player
<figure id="fig-making-dcp">
<title>Making the DCP</title>
<mediaobject>
- <imageobject>
- <imagedata scale="30" fileref="screenshots/making-dcp&scs;"/>
- </imageobject>
+ <imageobject>
+ <imagedata scale="50" fileref="screenshots/making-dcp&scs;"/>
+ </imageobject>
</mediaobject>
</figure>
</para>
<para>
-Alternatively, if you have a projector or TMS that is accessible via
-SCP across your network, you can upload the content directly from
-DCP-o-matic. See the <xref linkend="sec-prefs-tms" endterm="sec-prefs-tms-short"/>.
+Alternatively, if you have a projector or Theatre Management System
+(TMS) that is accessible via SCP across your network, you can upload
+the content directly from DCP-o-matic. See the <xref
+linkend="sec-prefs-tms" endterm="sec-prefs-tms-short"/> in <xref linkend="sec-prefs-tms"/>.
</para>
</section>
shown in <xref linkend="fig-still-new-film"/>.
</para>
-<figure id="fig-still-new-film">
- <title>Dialogue box for creating a new film</title>
+<figure id="fig-still-new-film">
+ <title>Dialogue box for creating a new film</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/still-new-film&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
linkend="fig-still-select-content-file"/>.
</para>
-<figure id="fig-still-select-content-file">
- <title>Selecting a still content file</title>
+<figure id="fig-still-select-content-file">
+ <title>Selecting a still content file</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/still-select-content-file&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
As with video DCPs, most of the default settings will be fine for a
simple test. The one thing that you might wish to change is the
length of the still. Select the <guilabel>Timing</guilabel> tab and
-you will see a <guilabel>Length</guilabel> setting, as shown in <xref
+you will see a <guilabel>Play length</guilabel> setting, as shown in <xref
linkend="fig-timing-tab"/>.
</para>
-<figure id="fig-timing-tab">
+<figure id="fig-timing-tab">
<title>The timing tab</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/timing-tab&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
<itemizedlist>
<listitem>Movie — a file containing some video, probably some
-audio and possibly some subtitles; for example, a MOV, MP4 or VOB.
+audio and possibly some embedded subtitles; for example, a MOV, MP4 or VOB.
</listitem>
<listitem>Sound — a file containing one or more channels of
<listitem>Moving image — a directory containing many still
images which should be treated as the frames of a video.
</listitem>
+
+<listitem>Subtitle — a file containing subtitle which will be
+superimposed on the image of the DCP. These can be
+<guilabel>.srt</guilabel> or <guilabel>.xml</guilabel>
+files.</listitem>
+
+<listitem>DCP — an existing DCP.</listitem>
</itemizedlist>
<para>
-To add one or more movie, sound or still-image files, select
+To add one or more movie, sound, still-image or subtitle files, select
<guilabel>Add file(s)...</guilabel> and choose them from the selector.
-To add a directory of images, choose <guilabel>Add
-directory...</guilabel> and do similar.
+</para>
+
+<para>
+To add a directory (folder) of images or a DCP, choose <guilabel>Add
+folder...</guilabel> and choose the directory from the selector. If
+you select a folder of images DCP-o-matic will open a small dialogue
+box where you can enter the frame rate that the image sequence should
+be run at.
</para>
<para>
</section>
+<!-- ============================================================== -->
+<section>
+<title>Adding existing DCPs</title>
+
+<para>Adding existing DCPs to a DCP-o-matic film is a little different
+to adding other types of content. Most content has to be converted to
+JPEG2000, the compression scheme used by DCPs, which is a very
+time-consuming process. Existing DCPs are already in JPEG2000 format
+so do not require conversion. This means that, provided no settings
+such as crop are used on the DCP content, picture and sound data will
+be passed from existing to new DCP unaltered.
+</para>
+
+<para>Encrypted DCPs that are added as content will require a KDM
+targeted at DCP-o-matic so that DCP-o-matic can decrypt them. You
+should ask the creator of the imported DCP to provide a KDM for
+DCP-o-matic's decryption certificate, which can be obtained by
+clicking <guilabel>Export DCP decryption certificate...</guilabel>
+from the <guilabel>Keys</guilabel> tab of the
+<guilabel>Preferences</guilabel> dialog (see <xref
+linkend="sec-prefs-keys"/>).
+</para>
+
+</section>
<!-- ============================================================== -->
<section>
for that piece of content.
</para>
+<para>
+If you want to change the properties for multiple pieces of content at
+the same time, select the content in the list by clicking the first
+piece then clicking the other pieces with <keycap>shift</keycap> key
+held down. Note that not all settings can be changed in this way.
+</para>
+
<para>
The content properties are split up into four sections:
<guilabel>Video</guilabel>, <guilabel>Audio</guilabel>,
The <guilabel>Video</guilabel> tab controls properties of the image, as shown in <xref linkend="fig-video-tab"/>.
</para>
-<figure id="fig-video-tab">
+<figure id="fig-video-tab">
<title>Video settings tab</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/video-tab&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
left-right pair, as shown in <xref linkend="fig-3d-left-right"/>.
</para>
-<figure id="fig-3d-left-right">
+<figure id="fig-3d-left-right">
<title>3D left/right image type</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata scale="100" fileref="diagrams/3d-left-right&dia;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
linkend="fig-3d-top-bottom"/>.
</para>
-<figure id="fig-3d-top-bottom">
+<figure id="fig-3d-top-bottom">
<title>3D top/bottom image type</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata scale="100" fileref="diagrams/3d-top-bottom&dia;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
as shown in <xref linkend="fig-filters"/>.
</para>
-<figure id="fig-filters">
- <title>Filters selector</title>
+<figure id="fig-filters">
+ <title>Filters selector</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/filters&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
</para>
<para>
-Clicking <guilabel>Edit...</guilabel> will open the colour conversion
-dialogue box, as shown in <xref linkend="fig-colour-conversion"/>.
+The easiest way to select the required conversion is to choose one of
+DCP-o-matic's presets. DCP-o-matic knows how to convert from four
+common colourspaces: sRGB, Rec. 601, Rec. 709 and P3. If you do not
+know which preset you should use, refer to the suggestions in <xref
+linkend="tab-colour-conversion"/>.
+</para>
+
+<table id="tab-colour-conversion">
+<title>Suggested colour conversion settings</title>
+<tgroup cols='2' align='left' colsep='1' rowsep='1'>
+<colspec colwidth='1*'/>
+<colspec colwidth='5*'/>
+<tbody>
+<row>
+<entry>sRGB</entry><entry>Still images in RGB, e.g. photographs</entry>.
+</row>
+<row>
+<entry>Rec. 601</entry><entry>Standard-definition content (fewer than about 1000 pixels across) including DVD rips.</entry>
+</row>
+<row>
+<entry>Rec. 709</entry><entry>High-definition content including Blu-Ray rips.</entry>
+</row>
+<row>
+<entry>P3</entry><entry>Content explicitly graded to P3.</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+
+<para>
+For other required colour conversions, and if you know what you are
+doing, you can choose <guilabel>Custom</guilabel> which will open the full
+colour conversion editing dialogue box:
</para>
<figure id="fig-colour-conversion">
- <title>Dialogue box for setting colour conversion</title>
+ <title>Dialogue box for custom colour conversion</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/colour-conversion&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
<para>
-In most cases, it is only necessary to select one of DCP-o-matic's
-presets. DCP-o-matic knows how to convert from two common
-colourspaces: sRGB and Rec. 709, so if your content was graded using
-one of those you can select the appropriate preset.
-</para>
-
-<para>
-For other colour spaces you can edit the values in the lower half of
-the dialogue box as you wish. Alternatively, create a new colour
-conversion preset using the preferences dialog, as described in <xref
-linkend="sec-prefs-colour"/>.
+Alternatively, choose <guilabel>None</guilabel> if your source files
+are already in the XYZ colour space and require no conversion.
</para>
<para>
-Colour conversion is discussed in more detail in a separate document
-<ulink url="http://dcpomatic.com/manual/colour.pdf">colour.pdf</ulink>.
+DCP-o-matic's colour conversion processes are discussed in much more
+detail in a separate document <ulink
+url="http://dcpomatic.com/manual/colour.pdf">colour.pdf</ulink>.
</para>
</section>
<title>Other settings</title>
<para>
-The ‘crop’ settings can be used to crop your content,
+The <guilabel>crop</guilabel> settings can be used to crop your content,
which can be used to remove black borders from round the edges of DVD
images, for example. The specified number of pixels will be trimmed
from each edge, and the content image in the right of the window will
be updated to show the effect of the crop.
</para>
+<para>
+The <guilabel>fade in</guilabel> and <guilabel>fade out</guilabel>
+settings can be used to apply linear fades into and out of a piece of
+content. Specify the time for each, clicking <guilabel>Set</guilabel>
+after making any changes.
+</para>
+
<para>
The <guilabel>Scale to</guilabel> option governs the shape that
DCP-o-matic will scale the content's image into. Select the aspect
At the bottom of the video tab is a short description of what will
happen to your video with the current settings. In the example of
<xref linkend="fig-video-tab"/>, DCP-o-matic is telling you that the
-video file is 1920x1080 pixels (which is a ratio of 1.78:1). Since
-the controls specify ‘Flat’ for the ratio, DCP-o-matic
-scales the content image to 1998x1080, which is the DCI flat
-resolution at 2K.
+video file is 1920x1080 pixels and it has square pixels (a pixel
+aspect ratio of 1.00) hence its display aspect ratio is 1.78:1. Since
+the controls specify ‘16.9’ for the ratio, DCP-o-matic
+does not scale the image but pads it to the DCP's container ratio of
+1.85:1. For a 2K DCP this is 1998x1080 pixels.
</para>
<para>
This description also gives the frame rate of the content and what
-will happen to it when it is played at the DCP's frame rate.
-<!-- XXX: link to more detailed discussion of this -->
+will happen to it when it is played at the DCP's frame rate. See
+<xref linkend="ch-frame-rates"/> for details of DCP-o-matic's
+frame-rate conversion.
</para>
</section>
The <guilabel>Audio</guilabel> tab controls properties of the image, as shown in <xref linkend="fig-audio-tab"/>.
</para>
-<figure id="fig-audio-tab">
+<figure id="fig-audio-tab">
<title>Audio settings tab</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/audio-tab&scs;"/>
- </imageobject>
- </mediaobject>
-</figure>
-
-
-<!-- ============================================================== -->
-<section>
-<title>Show audio</title>
-
-<para>
-The <guilabel>Show Audio</guilabel> button will instruct DCP-o-matic
-to examine the audio in your content and plot a graph of its level
-over time. This can be useful for getting a rough idea of how loud
-the sound will be in the cinema auditorium. A typical plot is shown
-in <xref linkend="fig-audio-plot"/>
-</para>
-
-<figure id="fig-audio-plot">
- <title>Audio plot</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="screenshots/audio-plot&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
-<para>
-The plot gives the audio level (vertical axis, in dB) with time
-(horizontal axis). 0dB represents full scale, so if there is anything
-near this you are in danger of clipping the projector's audio outputs.
-</para>
-
-<para>
-There are two plot types: the peak level and the RMS, which can be
-shown or hidden using the check-boxes on the right hand side of the
-window.
-</para>
-
-<para>
-The channel check-boxes will show or hide the plot(s) for
-the corresponding channels in the DCP.
-</para>
-
-<para>
-The smoothing slider applies a variable degree of temporal smoothing
-to the plots, which can make them easier to read in some cases.
-</para>
-
-<para>
-Obviously the audio plot is no substitute for listening in an
-auditorium, but it can be useful to get levels in the right rough area.
-</para>
-
-</section>
-
<!-- ============================================================== -->
<section>
<para>
Down the left-hand side of the map is the list of audio channels in
-the currently-selected piece of content. Along the top is each
-channel in the DCP. A green box means that the corresponding
-content channel will be copied into the corresponding DCP channel.
+the currently-selected piece of content. These are labelled with two
+numbers; the first is the stream index within the content and the
+second is the channel number within that stream. Some content will
+have different streams for different languages or audio mixes. Along
+the top is each channel in the DCP. A green box means that the
+corresponding content channel will be copied into the corresponding
+DCP channel.
</para>
<para>
<figure id="fig-audio-map-eg1">
<title>Audio map example 1</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/audio-map-eg1&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
<figure id="fig-audio-map-eg2">
<title>Audio map example 2</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/audio-map-eg2&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
<figure id="fig-audio-map-eg3">
<title>Audio map example 3</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/audio-map-eg3&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
linkend="fig-calculate-audio-gain"/> will open.
</para>
-<figure id="fig-calculate-audio-gain">
+<figure id="fig-calculate-audio-gain">
<title>Calculating audio gain</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/calculate-audio-gain&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
with respect to the video, and a negative delay will move it earlier.
</para>
-<para>
-The <guilabel>Audio Stream</guilabel> option allows you to select the
-audio stream to use, if the content contains more than one. There
-might be different soundtrack languages, for example.
-</para>
-
</section>
</section>
content, as shown in <xref linkend="fig-subtitles-tab"/>.
</para>
-<figure id="fig-subtitles-tab">
+<figure id="fig-subtitles-tab">
<title>Subtitle settings tab</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/subtitles-tab&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
<para>
DCP-o-matic will extract subtitles from the content, if present, and
they can be ‘burnt into’ the DCP (that is, they are
-included in the image and not overlaid by the projector). Note that
-DVD and Blu-Ray subtitles are stored as bitmaps, so it is not possible
-(automatically) to use non-burnt-in subtitles with these sources.
+included in the image and not overlaid by the projector) or included
+as a separate subtitle ‘asset’ within your DCP (in which
+case the projector overlays them onto the image on playback). The
+difference between these two arrangements is illustrated by <xref
+linkend="fig-burn-in"/> and <xref linkend="fig-discrete"/>
+</para>
+
+<figure id="fig-burn-in">
+ <title>Burnt-in subtitles</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata scale="80" fileref="diagrams/burn-in&dia;"/>
+ </imageobject>
+ </mediaobject>
+</figure>
+
+<figure id="fig-discrete">
+ <title>Separate subtitles</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata scale="80" fileref="diagrams/discrete&dia;"/>
+ </imageobject>
+ </mediaobject>
+</figure>
+
+<para>
+The advantage of separate subtitles is that the same video content can
+be used for DCPs in many different languages. This means that only a
+small text file needs to be changed for each target language, rather
+than a large video file. It also means that the time-consuming video
+encoding need only be done once for the project rather than once for
+every language.
+</para>
+
+<para>
+Note that subtitles come in two types: text and bitmap. Text
+subtitles are expressed as plain text and can be either burnt into the
+image or included as a separate subtitle asset within the DCP. Bitmap
+subtitles, on the other hand, are expressed as pre-rendered bitmaps.
+They cannot (yet) be added to the DCP as a separate asset and must be
+burnt into the image.
+</para>
+
+<para>
Select the <guilabel>With Subtitles</guilabel> check-box to enable
-subtitles. The <guilabel>X Offset</guilabel> and <guilabel>Y
-Offset</guilabel> controls move the subtitles around within the image,
-and the <guilabel>scale</guilabel> control changes their size. The
-<guilabel>Stream</guilabel> control changes the subtitle stream that
-is used when the content has more than one.
+subtitles.
+</para>
+
+<para>
+The <guilabel>X Offset</guilabel> and <guilabel>Y Offset</guilabel>
+controls move the subtitles around within the image. The offsets are
+expressed as a percentage of the video frame size; 100% X offset is
+the entire width of the frame, and 100% Y offset is the entire height.
+Hence, to move the subtitles down by half the frame height you would
+use a Y offset of 50%.
</para>
<para>
-All being well, future versions of DCP-o-matic will include the option to
-use text subtitles (as is the norm with most professionally-mastered
-DCPs).
+The <guilabel>X Scale</guilabel> and <guilabel>Y Scale</guilabel>
+controls scale the subtitles. Scale values of 1 make the subtitles
+the same size (relative to the size of the image) as they are on the
+original. Values lower than 1 make them smaller, and values higher
+make them larger. You can stretch the subtitles in either direction
+by specifying different values for X and Y scale. Subtitles from DVD
+and Blu Ray sources are frequently larger (relative to the video
+frame) than those typically used for DCP, so it is often useful to
+scale such subtitles down using these controls.
+</para>
+
+<para>
+The <guilabel>Stream</guilabel> control changes the subtitle stream
+that is used when the content has more than one.
</para>
</section>
content, as shown in <xref linkend="fig-timing-tab-detail"/>.
</para>
-<figure id="fig-timing-tab-detail">
+<figure id="fig-timing-tab-detail">
<title>Timing settings tab</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/timing-tab&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
linkend="fig-timecode"/>.
</para>
-<figure id="fig-timecode">
+<figure id="fig-timecode">
<title>Timecode</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="diagrams/timecode&dia;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
</para>
<para>
-<guilabel>Video frame rate</guilabel> specifies the frame rate for still-image content.
+<guilabel>Video frame rate</guilabel> specifies the frame rate for
+still-image content. It can also be used to override the detected
+frame rate of other content if DCP-o-matic has got it wrong.
</para>
<para>
linkend="fig-pipeline1"/>.
</para>
-<figure id="fig-pipeline1">
+<figure id="fig-pipeline1">
<title>Example image to demonstrate video processing</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata scale="100" fileref="diagrams/pipeline1&dia;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
linkend="fig-pipeline2"/>.
</para>
-<figure id="fig-pipeline2">
+<figure id="fig-pipeline2">
<title>Example image after cropping</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata scale="100" fileref="diagrams/pipeline2&dia;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
in <xref linkend="fig-pipeline3"/>.
</para>
-<figure id="fig-pipeline3">
+<figure id="fig-pipeline3">
<title>Example image after cropping and scaling</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata scale="100" fileref="diagrams/pipeline3&dia;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
linkend="fig-pipeline3"/>.
</para>
-<figure id="fig-pipeline4">
+<figure id="fig-pipeline4">
<title>Example image in the DCP</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata scale="100" fileref="diagrams/pipeline4&dia;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
the main window, as shown in <xref linkend="fig-dcp-tab"/>.
</para>
-<figure id="fig-dcp-tab">
+<figure id="fig-dcp-tab">
<title>DCP settings tab</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/dcp-tab&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
name</guilabel> is not ticked, the name that you specify will be used
as-is for the name of the DCP. If <guilabel>Use ISDCF name</guilabel>
is ticked, the name that you enter will be used as part of a
-ISDCF-compliant name.
+ISDCF-compliant name.
</para>
<para>
</para>
<para>
-If the DCP name is long, it may not all be visible. You can see the
-full name by hovering the mouse pointer over the partial name.
+If you want to take the ISDCF-compliant name that DCP-o-matic
+generates and modify it, click <guilabel>Copy as name</guilabel> and
+the ISDCF name will be copied into the <guilabel>Name</guilabel> box.
+You can then edit it as you wish. The DCP name should not matter (in
+that it should not affect how the DCP ingests or plays) but
+projectionists will appreciate it if you use the standard naming
+scheme as it makes it easier to identify details of the content.
+</para>
+
+<para>
+The <guilabel>Content Type</guilabel> option can be
+‘feature’, ‘trailer’ or whatever; select the
+required type from the drop-down list. On some projection systems
+this will affect where your content appears in the projector's server
+user interface, so take care to select an appropriate type.
+</para>
+
+<para>
+The <guilabel>Signed</guilabel> check-box sets whether or not the DCP
+is signed. This is rarely important; if in doubt, tick it.
+</para>
+
+<para>
+The <guilabel>Encrypted</guilabel> check-box will set whether the DCP
+should be encrypted or not. If this is ticked, the DCP will require a
+KDM to play back. Encryption is discussed in <xref
+linkend="ch-encryption"/>.
+</para>
+
+<para>
+If you use encryption DCP-o-matic will generate a random encryption
+key for you. To specify your own key, click the
+<guilabel>Edit..</guilabel> button next to the key.
+</para>
+
+<para>
+The <guilabel>Standard</guilabel> option specifies which of the two
+DCP standards DCP-o-matic should use. If in doubt, use SMPTE (the
+more modern of the two).
+</para>
+
+<para>
+At the bottom of the DCP tab are a further two tabs, one each to
+contain the settings for the DCP's video and audio parts.
</para>
<para>
for the content's ratio and ‘Flat’ for the DCP.
</para>
-<para>
-Next up is the content type. This can be
-‘feature’, ‘trailer’ or whatever; select the
-required type from the drop-down list.
-</para>
-
<para>
The <guilabel>Frame Rate</guilabel> control sets the frame rate of
your DCP. This can be a little tricky to get right. Ideally, you
more detail in <xref linkend="ch-frame-rates"/>.
</para>
-<para>
-The <guilabel>Signed</guilabel> check-box sets whether or not the DCP
-is signed. This is rarely important; if in doubt, tick it.
-</para>
-
-<para>
-The <guilabel>Encrypted</guilabel> check-box will set whether the DCP
-should be encrypted or not. If this is ticked, the DCP will require a
-KDM to play back. Encryption is discussed in <xref
-linkend="ch-encryption"/>.
-</para>
-
<para>
The <guilabel>Use best</guilabel> button sets the DCP video frame rate
to what DCP-o-matic thinks is the best given the content that you have
</para>
<para>
-The <guilabel>Audio Channels</guilabel> control sets the number of
-audio channels that the DCP will have. If the DCP has any channels
-for which there is no content audio they will be replaced by silence.
+<guilabel>Burn subtitles into image</guilabel> should be selected if
+you want DCP-o-matic to overlay the subtitles onto the video frame
+before encoding. Leave this un-ticked to include the subtitles
+separately in the DCP.
</para>
<para>
</para>
<para>
-The <guilabel>JPEG2000 bandwidth</guilabel>; setting changes how big the final
-image files used within the DCP will be. Larger numbers will give
-better quality, but correspondingly larger DCPs. The bandwidth can be
-between 50 and 250 megabits per second (Mbit/s).
+The <guilabel>JPEG2000 bandwidth</guilabel>; setting changes how big
+the final image files used within the DCP will be. Larger numbers
+will give better quality, but correspondingly larger DCPs. The
+bandwidth can be between 50 and 250 megabits per second (Mbit/s).
+Most commercial DCPs use bit rates between 75 and 125 MBit/s.
</para>
<para>
-The <guilabel>Standard</guilabel> option specifies which of the two
-DCP standards DCP-o-matic should use. If in doubt, use SMPTE (the
-more modern of the two).
+The <guilabel>Audio Channels</guilabel> control sets the number of
+audio channels that the DCP will have. If the DCP has any channels
+for which there is no content audio they will be replaced by silence.
+You can only set an even number of channels here, since that is
+required by the DCI standard. If you want an odd number of channels,
+set the DCP channel count to one greater than you need and the
+unused channel will be filled with silence.
+</para>
+
+<para>
+The <guilabel>Processor</guilabel> control allows you to select a
+process to apply to the audio before it goes into the DCP. Two processes are currently provided:
+</para>
+
+<itemizedlist>
+<listitem>Mid-side decode — this will take a L/R
+stereo input and extract the common part (corresponding to the
+‘Mid’ in a mid-side signal) into the DCP's centre channel.
+The remaining L/R parts will be kept in the L/R channels of the DCP.
+This may be useful to make near-field L/R mixes more compatible with
+cinema audio systems.</listitem>
+<listitem>Stereo to 5.1 up-mixer A — this will take a stereo input and up-mix it to ‘fake’ 5.1. The input L/R are treated as follows:
+<itemizedlist>
+<listitem>DCP L is input L bandpass-filtered between 1.9kHz and 4.8kHz.</listitem>
+<listitem>DCP R is input R bandpass-filtered between 1.9kHz and 4.8kHz.</listitem>
+<listitem>DCP C is input L mixed with input R, taken down by 3dB and then bandpass-filtered between 150Hz and 1.9kHz.</listitem>
+<listitem>DCP Lfe is input L mixed with input R, taken down by 3dB and then bandpass-filtered between 20Hz and 150Hz.</listitem>
+<listitem>DCP Ls is input L bandpass-filtered between 4.8kHz and 20kHz.</listitem>
+<listitem>DCP Rs is input R bandpass-filtered between 4.8kHz and 20kHz.</listitem>
+</itemizedlist>
+</listitem>
+</itemizedlist>
+
+<para>
+This upmixing algorithm is due to GĂ©rald Maruccia.
+</para>
+
+
+<!-- ============================================================== -->
+<section>
+<title>Show audio</title>
+
+<para>
+The <guilabel>Show Audio</guilabel> button will instruct DCP-o-matic
+to examine the audio in your content and plot a graph of its level
+over time. This can be useful for getting a rough idea of how loud
+the sound will be in the cinema auditorium. A typical plot is shown
+in <xref linkend="fig-audio-plot"/>
+</para>
+
+<figure id="fig-audio-plot">
+ <title>Audio plot</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshots/audio-plot&scs;"/>
+ </imageobject>
+ </mediaobject>
+</figure>
+
+<para>
+The plot gives the audio level (vertical axis, in dB) with time
+(horizontal axis). 0dB represents full scale, so if there is anything
+near this you are in danger of clipping the projector's audio outputs.
+</para>
+
+<para>
+There are two plot types: the peak level and the RMS, which can be
+shown or hidden using the check-boxes on the right hand side of the
+window.
+</para>
+
+<para>
+The channel check-boxes will show or hide the plot(s) for
+the corresponding channels in the DCP.
</para>
<para>
-Finally, the <guilabel>Scaler</guilabel> is the method that will be used to scale up
-your content for the DCP, if required. Bicubic is a fine choice in
-most situations.
+The smoothing slider applies a variable degree of temporal smoothing
+to the plots, which can make them easier to read in some cases.
</para>
+<para>
+Obviously the audio plot is no substitute for listening in an
+auditorium, but it can be useful to get levels in the right rough area.
+</para>
+
+</section>
+
</chapter>
<chapter xml:id="ch-encryption" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
</para>
<para>
-We suppose that we are trying to distribute a DCP to
-Alice's cinema without a troublemaker called Mallory being able to
+We suppose that we are trying to distribute a DCP, to
+Alice's cinema, without a troublemaker called Mallory being able to
watch it himself.
</para>
</para>
<figure id="fig-kdm">
- <title>KDM dialog</title>
+ <title>KDM dialog</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/kdm&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
</para>
<para>
-Once you have set up all the screens that you need KDMs for,
-DCP-o-matic can generate KDMs for the last DCP that you generated for
-the currently-loaded film. Select the cinemas and/or screens that you
-want KDMs for and fill in the start and end dates and times.
+Alternatively, certificates for projection systems made by some
+manufacturers can be downloaded from databases provided by the
+manufacturer. Currently this is supported for Doremi and Dolby
+equipment. If you are targeting a screen with equipment by one of
+these manufacturers you can select Doremi or Dolby from the
+<guilabel>Server manufacturer</guilabel> selection and then click
+<guilabel>Download</guilabel>. In the next dialogue box, enter
+details of the screen and click <guilabel>Download</guilabel> and, all
+being well, the certificate will be fetched.
+</para>
+
+<para>
+Using the download system you will need to know the serial number of
+the media server in use in the screen. Most cinema projection or
+technical departments will know these serial numbers.
+</para>
+
+<para>
+Note that the reliability of the manufacturers' certificate databases
+cannot be guaranteed. It is vital that KDMs are tested by the
+destination cinema will in advance of show time to identify any
+problems.
+</para>
+
+<para>
+Once you have set up all the screens that you need KDMs for, select
+the CPL that you want to create the KDM for. You can use the
+drop-down list to select the CPLs in the current film project, or load
+a CPL from somewhere else. Select the cinemas and/or screens that you
+want KDMs for and fill in the start and end dates and times.
+</para>
+
+<para>
+You must also select the type of KDM that you want to generate. If in
+doubt, use <guilabel>Modified Transitional 1</guilabel>.
</para>
<para>
<!-- ============================================================== -->
-<!-- PREFERENCES -->
-<!-- ============================================================== -->
-
<chapter xml:id="ch-preferences" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
<title>Preferences</title>
<para>
The preferences dialogue is opened by choosing
<guilabel>Preferences...</guilabel> from the <guilabel>Edit</guilabel>
-menu. The dialogue is split into eight tabs.
+menu. The dialogue is split into seven tabs.
</para>
<!-- ============================================================== -->
The general tab is shown in <xref linkend="fig-prefs-general"/>.
</para>
-<figure id="fig-prefs-general">
- <title>General preferences</title>
+<figure id="fig-prefs-general">
+ <title>General preferences</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/prefs-general&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
</para>
<figure id="fig-prefs-defaults">
- <title>Defaults preferences</title>
+ <title>Defaults preferences</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/prefs-defaults&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
</section>
-<!-- XXX: servers -->
-
<!-- ============================================================== -->
-<section xml:id="sec-prefs-colour">
-<title>Colour conversions</title>
+<section>
+<title>Servers</title>
<para>
-The colour conversions tab is shown in <xref linkend="fig-prefs-colour-conversions"/>.
+The servers tab is shown in <xref linkend="fig-prefs-servers"/>.
</para>
-<figure id="fig-prefs-colour-conversions">
- <title>Colour conversions preferences</title>
+<figure id="fig-prefs-servers">
+ <title>Servers preferences</title>
<mediaobject>
- <imageobject>
- <imagedata fileref="screenshots/prefs-colour-conversions&scs;"/>
- </imageobject>
+ <imageobject>
+ <imagedata fileref="screenshots/prefs-servers&scs;"/>
+ </imageobject>
</mediaobject>
</figure>
<para>
-As part of the encoding process, DCP-o-matic has to convert the colour
-space of the source files that you use into XYZ, the colour space used
-by the DCI standard.
+If <guilabel>Use all servers</guilabel> is ticked DCP-o-matic will
+locate encoding servers automatically (see <xref
+linkend="ch-servers"/>).
</para>
<para>
-Colour conversion is discussed in more detail in a separate document
-<ulink url="http://dcpomatic.com/manual/colour.pdf">colour.pdf</ulink>.
-</para>
-
-<para>
-These preferences control a list of presets which are suitable for
-converting from common input colour spaces to XYZ.
+Instead of this (or in addition) servers can be specified explicitly.
+To add a server, click <guilabel>Add...</guilabel> and enter the host
+name or IP address of the server to use.
</para>
</section>
<!-- ============================================================== -->
-<section>
+<section xml:id="sec-prefs-keys">
<title>Keys</title>
<para>
creation.
</para>
-<figure id="fig-prefs-keys">
- <title>Keys preferences</title>
+<figure id="fig-prefs-keys">
+ <title>Keys preferences</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/prefs-keys&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
<guilabel>Jobs</guilabel> menu.
</para>
-<figure id="fig-prefs-tms">
- <title>TMS preferences</title>
+<figure id="fig-prefs-tms">
+ <title>TMS preferences</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/prefs-tms&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
the SSH user). Finally, the user name and password are the
credentials required to log into the TMS via SSH.
</para>
+
+<para>
+Note that for this to work on Doremi servers you will need to set the
+<code>PasswordAuthentication</code> option in your server's
+<code>sshd_config</code> to <code>yes</code>.
+</para>
+
</section>
The KDM email is shown in <xref linkend="fig-prefs-kdm-email"/>.
</para>
-<figure id="fig-prefs-kdm-email">
- <title>KDM email preferences</title>
+<figure id="fig-prefs-kdm-email">
+ <title>KDM email preferences</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/prefs-kdm-email&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
The advanced preferences are shown in <xref linkend="fig-prefs-advanced"/>.
</para>
-<figure id="fig-prefs-advanced">
- <title>Advanced preferences</title>
+<figure id="fig-prefs-advanced">
+ <title>Advanced preferences</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="screenshots/prefs-advanced&scs;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>
<para>
The only rates that are (pretty much) guaranteed to work on all DCI
-projectors is 24 frames per second (fps) for video and 48kHz or 96kHz
+projectors are 24 frames per second (fps) for video and 48kHz or 96kHz
for audio. If you are sending your DCPs to unknown places it wise to
consider using these rates if at all possible.
</para>
</para>
<para>
-Video rate conversion is harder. DCP-o-matic's strategy to deal
+Video rate conversion is harder. DCP-o-matic's basic strategy to deal
with a non-supported content rate is to run it at the wrong speed, and
to adjust the audio to keep it in sync.
</para>
-<para>Consider the example of a 25fps source for which you want
+<para>Let us consider the example of a 25fps source for which you want
to create a 24fps DCP. DCP-o-matic will put the frames from the
source directly into the DCP without modification, but will tell the
projector to play them back at 24fps. This means that the DCP's video
</para>
<programlisting>
-dcpomatic_server_cli
+dcpomatic2_server_cli
</programlisting>
<para>
</para>
<programlisting>
-dcpomatic_server_cli -t 4
+dcpomatic2_server_cli -t 4
</programlisting>
<para>
after you have created a DCP for a film called ‘DCP Test’.
</para>
-<figure id="fig-file-structure">
- <title>Creating a new film</title>
+<figure id="fig-file-structure">
+ <title>Creating a new film</title>
<mediaobject>
- <imageobject>
+ <imageobject>
<imagedata fileref="diagrams/file-structure&dia;"/>
- </imageobject>
+ </imageobject>
</mediaobject>
</figure>