-->
<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>
<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>
<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>
</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, choose <guilabel>Add
+folder...</guilabel> and choose the directory from the selector.
+DCP-o-matic will open a small dialogue box where you can enter the
+frame rate that your image sequence should be run at.
</para>
<para>
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>,
</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 (lower 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>
<imagedata fileref="screenshots/colour-conversion&scs;"/>
</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>
</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>
- </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>
<title>The audio map</title>
<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).
+</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>
+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>
-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>Stream</guilabel> control changes the subtitle stream
+that is used when the content has more than one.
</para>
</section>
open by clicking on the <guilabel>Details</guilabel> button.
</para>
+<para>
+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>
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.
more detail in <xref linkend="ch-frame-rates"/>.
</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
+added.
+</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>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
-added.
+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>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>
</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>
most situations.
</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>
+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>
<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>
<!-- ============================================================== -->
</section>
-<!-- XXX: servers -->
+<!-- ============================================================== -->
+<section>
+<title>Servers</title>
+
+<para>
+The servers tab is shown in <xref linkend="fig-prefs-servers"/>.
+</para>
+
+<figure id="fig-prefs-servers">
+ <title>Servers preferences</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshots/prefs-servers&scs;"/>
+ </imageobject>
+ </mediaobject>
+</figure>
+
+<para>
+If <guilabel>Use all servers</guilabel> is ticked DCP-o-matic will
+locate encoding servers automatically (see <xref
+linkend="ch-servers"/>).
+</para>
+
+<para>
+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 xml:id="sec-prefs-colour">
<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>