<section>
<title>What is DCP-o-matic?</title>
-<para>DCP-o-matic is a set of programs to allow you to:</para>
+<para>DCP-o-matic is a set of tools to allow you to:</para>
<itemizedlist>
<listitem>Create <ulink
url="https://en.wikipedia.org/wiki/Digital_Cinema_Package">Digital
Cinema Packages</ulink> (DCPs) from video, audio, subtitle and closed-caption files.</listitem>
- <listitem>Play and verify DCPs.</listitem>
- <listitem>Create KDMs for DCPs.</listitem>
- <listitem>Write cinema-format drives containing DCPs.</listitem>
+ <listitem>Play and verify DCPs (see <xref linkend="ch-player"/> and <xref linkend="ch-verifier"/>).</listitem>
+ <listitem>Create KDMs for DCPs (see <xref linkend="ch-encryption"/>).</listitem>
+ <listitem>Write cinema-format drives containing DCPs (see <xref linkend="ch-writer"/>).</listitem>
</itemizedlist>
</section>
</para>
<para>
-If you are using a 32-bit version of Windows, you will need the 32-bit
-installer. For 64-bit Windows, either installer will work, but I
-suggest you use the 64-bit version as it will allow DCP-o-matic to
-use more memory. You may find that DCP-o-matic crashes if you run
-many parallel encoding threads (more than 4) on the 32-bit
-version.
+Use the 64-bit installer unless you are using a 32-bit version of Windows.
+You may find that DCP-o-matic crashes if run the 32-bit version on a CPU with more than 4 cores.
</para>
</section>
<title>macOS</title>
<para>
-DCP-o-matic will run on macOS version 10.10 (Yosemite) and
-higher. DCP-o-matic is split into seven separate applications, each of
+DCP-o-matic versions 2.16.0 and higher will run on macOS version 10.8 (Mountain Lion) and
+higher. DCP-o-matic is split into eight separate applications, each of
which can be installed by downloading the <code>.dmg</code>,
double-clicking to open and then dragging the icon to your
<guilabel>Applications</guilabel> folder.
with the first (main) part.
</para>
+<para>
+If you are using macOS 10.7 (Lion) or older you will need to install the latest 2.14.x version of DCP-o-matic.
+</para>
+
</section>
<!-- ============================================================== -->
</section>
<section>
- <title>
- Building from source
- </title>
- <para>
- Since DCP-o-matic is open-source you can also build it yourself, though this can be quite a difficult process (especially on Windows and macOS). There are instructions for how to do it on
- <ulink url="https://dcpomatic.com/development">
- https://dcpomatic.com/
- </ulink>
+<title>Building from source</title>
+<para>
+Since DCP-o-matic is open-source you can also build it yourself,
+though this can be quite a difficult process (especially on Windows and macOS).
+There are instructions for how to do it on <ulink url="https://dcpomatic.com/building">https://dcpomatic.com/building</ulink>
</para>
</section>
</chapter>
url="https://download.blender.org/durian/trailer/Sintel_Trailer.480p.DivX_Plus_HD.mkv">their
website</ulink>. Generally one would want to use the
highest-resolution material available, but for this test we will use
-the low-resolution version to save everyone's bandwidth bills.
+the low-resolution version to save on download time.
</para>
<para>
will write its working files.
</para>
+<para>
+DCPs can be very large (more than 100Gb for a feature-length DCP) so
+it's important to choose a folder on a disk with plenty of free space.
+</para>
+
</section>
</para>
<para>
-KDMs must be prepared by the organisation which created the DCP. They
+KDMs must be prepared by whoever created the DCP. They
contain the keys to decrypt the DCP wrapped up in such a way that only
the intended recipient can read them. You will need to provide the
-organisation with a certificate which identifies your copy of
+KDM creator with a certificate which identifies your copy of
DCP-o-matic and allows them to create a KDM for you.
</para>
<para>
To get DCP-o-matic's decryption certificate, open the Preferences
dialogue (see <xref linkend="ch-preferences"/>) and go to the
-<guilabel>Keys</guilabel> tab. Click the <guilabel>Export DCP
-decryption certificate...</guilabel> button at the bottom of this tab
-and save the certificate. Send this certificate to the DCP creators
-and they can create a KDM to allow DCP-o-matic to decrypt their DCP.
+<guilabel>Keys</guilabel> tab. Click the <guilabel>Export KDM
+decryption leaf certificate...</guilabel> button at the top of this tab
+and save the certificate. Send this certificate to the KDM creators
+and they can make a KDM to allow DCP-o-matic to decrypt the DCP.
</para>
<para>
-Once you have your KDM, right-click the DCP's name in DCP-o-matic and
-choose <guilabel>Add KDM...</guilabel>. Specify your KDM and the DCP
+Once you have your KDM, right-click the DCP's name in the DCP-o-matic content list and
+choose <guilabel>Add KDM...</guilabel>. Select your KDM and the DCP
will be decrypted and become available for preview.
</para>
which has ten different translations for which the subtitles are
different but video and audio are the same. If the video and audio
content takes up, say, 100Gb this means that the set of DCPs for every
-translation would be about 1Tb with a lot of duplicated data.
+translation would be about 1Tb, with a lot of duplicated data.
</para>
<para>
<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
+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
<!-- ============================================================== -->
<section>
-<title>Content Properties</title>
+<title>Content properties</title>
<para>
Below the content list are the controls to set content properties. To
<title>Use this DCP's video as OV and make VF</title>
<para>
-This option is only applicable if the selected content is an existing
+This option is only available if the selected content is an existing
DCP. It allows you make a VF DCP, using the video content from the
existing DCP by referencing it (rather than copying). See <xref
linkend="sec-overlay"/>.
converting the selected content into the XYZ colourspace for the DCP.
</para>
+<para>
+In particular, the setting you choose here should be the colour space <emphasis>that the content
+has been created or graded for</emphasis>. DCP-o-matic will take care of converting your content's
+colourspace into the correct one for the DCP.
+</para>
+
<para>
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
+DCP-o-matic's presets. DCP-o-matic knows how to convert from seven
+common colourspaces: sRGB, Rec. 601, Rec. 709, Rec. 1886, Rec. 2020, S-Gamut3 and P3. If you do not
know which preset you should use, refer to the suggestions in <xref
linkend="tab-colour-conversion"/>.
</para>
</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
-ratio that your content should be presented in.
+The <guilabel>Scale</guilabel> option governs the shape that
+DCP-o-matic will scale the content's image into. In most cases <guilabel>to fit DCP</guilabel> will do the right thing; if not, choose <guilabel>custom</guilabel>
+and you can specify exactly how the image should be scaled.
</para>
</section>
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 2048x872 pixels and it has square pixels (a pixel
-aspect ratio of 1.00) hence its display aspect ratio is 2.35:1. Since
-the controls specify ‘2.35’ 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.
+video file is 720x576 pixels and has rectangular pixels (a pixel
+aspect ratio of 1.42:1) and so its display aspect ratio is 1.78:1. Since
+the controls specify <guilabel>to fit DCP</guilabel> DCP-o-matic scales the image
+to 1918x1080 and pads it to the DCP's container ratio of 1.85:1 (called ‘DCI Flat’). For a 2K DCP this is 1998x1080 pixels.
</para>
<para>
</para>
<para>
-When content channels are copied into DCP channels they can be done
+When content channels are copied into DCP channels the copy can be done
with variable gain. If, for example, you want to copy a channel
as-is, you can set a gain of 0dB. Alternatively, if you want to mix
two channels into one, you may want to use a gain of -6dB on each one
</para>
<para>
-‘Audio Gain’ is used to alter the volume of the
+<guilabel>Audio Gain</guilabel> is used to alter the volume of the
soundtrack. The specified gain (in dB) will be applied to each sound
channel of your content before it is written to the DCP.
</para>
your sound-rack fader.
</para>
-<para>
-Current versions of DCP-o-matic only know about the Dolby CP650 and
-CP750. If you use a different sound processor, and know the gain
-curve of its volume control, <ulink url="mailto:carl@dcpomatic.com">get in
-touch</ulink>.
-</para>
-
<para>
<guilabel>Audio Delay</guilabel> is used to adjust the synchronisation
between audio and video. A positive delay will move the audio later
<itemizedlist>
<listitem>Extract timed text that is embedded in video files, or</listitem>
<listitem>Use timed text from SubRip (<code>.srt</code>), SubStation
- Alpha (<code>.ssa</code> or <code>.ass</code>) or DCP XML files. You may find the great
+ Alpha (<code>.ssa</code> or <code>.ass</code>) or DCP XML files. You may find the
free program <ulink
url="http://www.nikse.dk/subtitleedit/">Subtitle Edit</ulink> useful
for creating such files.</listitem>
especially on files that have come from DVD or BluRay. Such text can
be used as a subtitle, but not a closed caption (since the closed
captioning system requires the text to be delivered as
-character codes rather than an image).
+character codes rather than as an image).
</para>
<para>In contrast, SubRip, SubStation Alpha or DCP text can be used as either a subtitle or a closed caption.</para>
to the full length minus <guilabel>trim-from-start</guilabel> and minus <guilabel>trim-from-end</guilabel>.
</para>
-<para>
-<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>
Each timecode control has a <guilabel>Set</guilabel> which you should
click when you have entered a new value for a timecode. The
</para>
<para>
-Consider, as a somewhat over-the-top example, that we have a 720 x 576
+Consider, as a rather contrived example, that we have a 720 x 576
image which is letterboxed with 36 black pixels each at the top and
bottom, and the video content within the letterbox should be presented
in the DCP at ratio of 2.39:1 within a 1.85:1 frame (such as might
<para>
The next step is to scale the image. Since this content should be
presented in a 2.39:1 (scope) aspect ratio inside a 1.85:1 (flat) DCP we would select
-<guilabel>Scope</guilabel> from the <guilabel>Scale to</guilabel>
-option in the <guilabel>Video</guilabel> tab and
-<guilabel>Flat</guilabel> from the <guilabel>Container</guilabel>
-option in the <guilabel>DCP</guilabel> tab.
+<guilabel>custom</guilabel> from the <guilabel>Scale</guilabel>
+option in the <guilabel>Video</guilabel> tab, then choose a ratio (<guilabel>Set ratio and
+fit to DCP container</guilabel>) of 2.39:1.
</para>
-<para>The <guilabel>Scale to</guilabel> option should always be set to
-the aspect ratio at which the content should be seen. The
-<guilabel>Container</guilabel> option should be set to the preset that
-you want to use on the projector. Of course, these two settings will
-often be the same.
+<para>Next, we would choose
+<guilabel>Flat</guilabel> from the <guilabel>Container</guilabel>
+option in the <guilabel>DCP</guilabel> tab.
</para>
<para>
‘Flat’ preset). At 2K, 1.85:1 is 1998 pixels by 1080.
Scaling the source up whilst preserving its 1.85:1 aspect ratio will
result in the image hitting the sides of the container first, at a
-size of 1998 x 836. This gives us a new version of the image as shown
+size of 1998x836. This gives us a new version of the image as shown
in <xref linkend="fig-pipeline3"/>.
</para>
</para>
<para>
-Underneath the name field is a preview of the name that the DCP will
-get. To use a ISDCF-compliant name, tick the <guilabel>Use ISDCF
-name</guilabel> check-box. The ISDCF name will be composed using details
+Underneath the <guilabel>Use ISDCF name</guilabel> checkbox is a preview of the name that the DCP will
+get. The ISDCF name will be composed using details
of your content's soundtrack, the current date and other things that
-can be specified in the ISDCF name details dialogue box, which you can
-open by clicking on the <guilabel>Details</guilabel> button.
+can be specified in the <guilabel>Metadata</guilabel> dialogue box, which you can
+open by clicking on the <guilabel>Metadata</guilabel> button.
</para>
<para>
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.
+projectionists will appreciate it if you use the
+<ulink url="https://registry-page.isdcf.com/illustratedguide/">standard naming scheme</ulink>
+as it makes it easier to identify details of the content.
+</para>
+
+<para>
+If there is spoken language in your project's audio you can tick the
+<guilabel>Audio Language</guilabel> checkbox and then specify the language
+of that audio. This information will be used for the ISDCF name, written into
+the DCP cover sheet, and added as metadata to the audio MXF files in the DCP.
</para>
<para>
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
</para>
<para>
-Ticking the <guilabel>Upload DCP to TMS after it is made</guilabel>
-will ask DCP-o-matic to copy the finished DCP to your configured TMS (see <xref linkend="sec-prefs-tms"/>).
+The <guilabel>Markers</guilabel> button opens the Markers dialogue,
+as shown in <xref linkend="fig-markers"/>.
+</para>
+
+<figure id="fig-markers">
+ <title>Markers dialogue</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshots/markers&scs;"/>
+ </imageobject>
+ </mediaobject>
+</figure>
+
+<para>
+This dialogue allows you to specify times for when certain things happen
+within your DCP. These times may be read by projection systems to automate
+actions such as setting house light levels.
+</para>
+
+<para>
+The <guilabel>Metadata</guilabel> button opens the Metadata dialogue,
+which allows you to specify various information about the DCP that you are
+making. Some of these data will be included in the DCP's files, and others
+used to make up the ISDCF name for the DCP (if that option is being used).
</para>
<para>
for the content's ratio and ‘Flat’ for the DCP.
</para>
+<para>
+The <guilabel>Resolution</guilabel> control allows you to choose the
+resolution for your DCP. Use 2K unless you have content that is of
+high enough resolution to be worth presenting in 4K.
+</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>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>3D</guilabel> button will set your DCP to 3D mode if it
is checked. A 3D DCP will then be created, and any 2D content will be
</para>
<para>
-The <guilabel>Resolution</guilabel> tab allows you to choose the
-resolution for your DCP. Use 2K unless you have content that is of
-high enough resolution to be worth presenting in 4K.
-</para>
-
-<para>
-The <guilabel>JPEG2000 bandwidth</guilabel>; setting changes how big
+The <guilabel>JPEG2000 bandwidth for newly-encoded data</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).
</para>
<para>
-The <guilabel>Audio Channels</guilabel> control sets the number of
+The <guilabel>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
<para>
The <guilabel>Processor</guilabel> control allows you to select a
-process to apply to the audio before it goes into the DCP. Three processes are currently provided:
+process to apply to the audio before it goes into the DCP. One process is currently provided:
</para>
<itemizedlist>
-<listitem>Mid-side decode — this will take a L/R
+<listitem>Mid-side decoder — 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>
-<para>
-This upmixing algorithm is due to Gérald Maruccia.
-</para>
-</listitem>
-<listitem>Stereo to 5.1 up-mixer B — this uses a different approach:
-<itemizedlist>
- <listitem>DCP L is input L.</listitem>
- <listitem>DCP R is input R.</listitem>
- <listitem>DCP C is input L + input R taken down by 3dB.</listitem>
- <listitem>DCP Lfe is DCP C bandpass filtered between 20Hz and 150Hz.</listitem>
- <listitem>DCP Ls and Rs are input L - input R with a 20ms delay.</listitem>
-</itemizedlist>
-</listitem>
</itemizedlist>
-The up-mixers are not particularly advanced and should be used with care. You are strongly advised to check how the DCPs sound in a cinema if you have used one of DCP-o-matic's upmixers.
-
<!-- ============================================================== -->
<section xml:id="sec-reels">
<title>Reels</title>
The picture, sound and subtitle data of the DCP will be
split up into more smaller files on disk, rather than fewer larger
files. This can be useful if the DCP is to be transferred on storage
-that have file size limits. The FAT32 filesystem, for example, can
+that has a file size limit. The FAT32 filesystem, for example, can
only hold files smaller than 4Gb. A 6Gb DCP with a single reel could
not be transferred using a FAT32-formatted disk. If that DCP were
split up into two 3Gb reels it could be transferred.
to the plots, which can make them easier to read in some cases.
</para>
+<para>Underneath the plot are shown some precise numbers for peaks and other measurements. A peak value displayed in red means that it is greater than -3dB.</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.
+The audio plot is no substitute for listening in an
+cinema, but it can be useful to get levels in roughly the right area.
</para>
</section>
<listitem>Resolution</listitem>
<listitem>JPEG200 bandwidth</listitem>
<listitem>Video frame rate</listitem>
- <listitem>Signed and encrypted checkboxes</listitem>
+ <listitem>Encrypted checkbox</listitem>
<listitem>Audio channels</listitem>
<listitem>Standard (Interop / SMPTE)</listitem>
<listitem>Audio processor</listitem>
<listitem>Reel type and length</listitem>
- <listitem>Upload after make DCP checkbox</listitem>
</itemizedlist>
<para>
-In addition to this, the settings (but not the filenames) of any
+In addition, the settings (but not the filenames) of any
content in the template are stored, as discussed above. The status of
the <guilabel>Keep video and subtitles in sequence</guilabel> checkbox
from the timeline is also preserved.
<para>
From this dialogue you can select the required output format,
output file and, in the case of MP4, the quality of the output
- file. Higher quality files will, of course, be larger.
+ file (by setting the <ulink url="https://trac.ffmpeg.org/wiki/Encode/H.264#crf">CRF value</ulink>).
+ </para>
+
+ <para>
+ The useful range of CRF values is from 17 (high quality but large file size) to 28 (smaller file size and still reasonable quality).
+ </para>
+
+ <para>
+ The time needed to export, and the resulting size, depend partly on the DCP resolution set in the project. To change that, see <xref linkend="ch-dcp"/>.
</para>
<para>
<para>
We suppose that we are trying to send a DCP to
-Alice's cinema without an attacker called Mallory being able to
+Alice's cinema without a third party called Mallory being able to
watch it himself.
</para>
</para>
<para>
-The first step in a DCP encryption is to encode its data with a random key
+The first step in encrypting a DCP is to encode its data with a random key
using symmetric-key encryption. The encrypted DCP can then be sent
anywhere, safe in the knowledge that even if Mallory got hold of a
copy, he could not decrypt it.
cinema. A simple approach might be for us to send Alice the key.
However, if Mallory can intercept the DCP, he might also be able to
intercept our communication of the key to Alice. Furthermore, if Alice
-happened to know Mallory, she could just send him a copy of the key.
+happened to know Mallory, he could just send her a copy of the key.
</para>
<para>
We take our DCP's symmetric key and encrypt it using the public key of
Alice's projector. We send the result to Alice over email (using a
format called a Key Delivery Message, or KDM). Her projector then
-decrypts our message using its private key, yielding the magic
+decrypts our message using its private key, giving the
symmetric key which can decrypt the DCP.
</para>
</para>
<para>
-The second part of distributions is to generate KDMs for the cinemas
+The second stage of distribution is to generate KDMs for the cinemas
that you wish to allow to play your DCP. There are two approaches to
this within DCP-o-matic: using the project, or using a DKDM. These
approaches are now described in turn.
problems.
</para>
+<!-- XXX: this is a sudden introduction of CPL as a concept -->
<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
<section>
<title>Creating KDMs using a DKDM</title>
-</section>
<para>
It can be inconvenient to need a whole DCP-o-matic project just to
</para>
<para>
-In other cases a DKDM is sent to a 3rd party so that they can create
+In other cases a DKDM is sent to a third party so that they can create
KDMs for your films. This can be useful if, for example, you have a
distributor who provides 24-hour KDM support to cinemas and can create
KDMs for anybody that requires them at short notice.
opening <guilabel>Preferences</guilabel> and clicking <guilabel>Export
DCP decryption certificate...</guilabel> in the <guilabel>Keys</guilabel>
tab.
-
</para>
+</section>
</section>
<section>
<title>Encryption keys</title>
<para>
- You must be careful when using encryption not to lose important keys.
+ You should be careful when using encryption not to lose important keys.
</para>
<para>
<para>
Preferences can be edited by choosing
<guilabel>Preferences...</guilabel> from the <guilabel>Edit</guilabel>
-menu. This opens a dialogue which is split into eleven tabs.
+menu. This opens a dialogue which is split into tabs.
</para>
<!-- ============================================================== -->
<para>
The translations for DCP-o-matic have been contributed by helpful
-users. If your language is not on the last, head to <ulink
+users. If your language is not on the last, visit <ulink
url="https://dcpomatic.com/i18n.php">the DCP-o-matic website</ulink> to
find out how to contribute a translation.
</para>
</section>
-<!-- ============================================================== -->
-<section>
- <title>Interface complexity</title>
-
- <para>
- Choose <guilabel>Simple</guilabel> to see a cut-down, simplified
- interface or <guilabel>Full</guilabel> to see DCP-o-matic's full
- interface.
- </para>
-</section>
-
-
<!-- ============================================================== -->
<section>
<title>Number of threads DCP-o-matic should use</title>
<para>
This is the location of DCP-o-matic's configuration file on disk. You
can use this to share configuration between several copies of
-DCP-o-matic, across a network share, for instance.
+DCP-o-matic: across a network share, for instance.
</para>
</section>
<para>
The checkbox to the left of <guilabel>Play sound</guilabel> enables or
-disables DCP-o-matic use of sound. On some machines there will be
+disables DCP-o-matic's use of sound. On some machines there will be
multiple options in the drop-down menu to decide how the sound should
be played.
</para>
If <guilabel>Find integrated loudness, true peak and loudness range
when analysing audio</guilabel> is ticked, DCP-o-matic will do extra
work when analysing audio. Leave this ticked if the extra parameters
-are useful to you. If not, untick it and audio analysis will be
-faster.
+are useful to you. If not, untick it to make audio analysis faster.
</para>
</section>
<para>
The <guilabel>Check for updates on startup</guilabel> option, if
enabled, will tell DCP-o-matic to check on <ulink
-url="https://dcpomatic.com/">dcpomatic.com</ulink> to see if there any
+url="https://dcpomatic.com/">dcpomatic.com</ulink> to see if there are any
newer versions of DCP-o-matic then the one you are running. If so, a
dialogue box will open with a link to download the new version.
</para>
<para>
The <guilabel>Check for testing updates as well as stable
ones</guilabel> option will also check for test updates as well as
-those that are formally ‘released’. This is useful if you
-like to live on the bleeding edge!
-</para>
-</section>
-
-<!-- ============================================================== -->
-<section>
-<title>Issuer and creator</title>
-
-<para>
-With these controls you can set the issuer and creator strings that
-will be put into the DCPs which you create. The issuer is typically your name
-(or your organisation's name) and the creator is typically the name of the tool
-used to make the DCP (e.g. DCP-o-matic).
+those that are formally ‘released’.
</para>
</section>
<para>
<guilabel>Protocol</guilabel> should be set to SCP or FTP as
appropriate for your TMS. We know that the Arts Alliance Media (AAM)
-and the Doremi ranges uses SCP connections, and that Dolby's TMSs use
+and the Doremi ranges uses SCP connections, and that Dolby's TMS uses
FTP. Do let us know if you use any other type of TMS with the
<guilabel>Send DCP to TMS</guilabel> feature.
</para>
<entry><code>$CPL_NAME</code></entry><entry>DCP title</entry>
</row>
<row>
+<entry><code>$CPL_FILENAME</code></entry><entry>Filename of the CPL</entry>
+</row>
+<row>
<entry><code>$CINEMA_NAME</code></entry><entry>Cinema name</entry>
</row>
<row>
+<entry><code>$CINEMA_SHORT_NAME</code></entry><entry>First 14 characters of the cinema name</entry>
+</row>
+<row>
<entry><code>$SCREENS</code></entry><entry>Name of screen or screens that KDMs are being generated for</entry>
</row>
<row>
</para>
<para>
-The bottom box in the tab is the contents of the email that should
+The bottom box in the tab is the content of the email that should
be sent. DCP-o-matic will replace the ‘magic’ strings
<code>$JOB_NAME</code> and <code>$JOB_STATUS</code> in the with the
details of the job that has completed.
</para>
<para>
-The four checkboxes labelled <guilabel>Log</guilabel> control what
+The checkboxes labelled <guilabel>Log</guilabel> control what
sort of messages DCP-o-matic writes to its log file when creating a
DCP. It is useful to leave <guilabel>General</guilabel>,
<guilabel>Warnings</guilabel> and <guilabel>Errors</guilabel> ticked
There are some limitations to video and audio frame rates in DCPs. This is
complicated by the fact that not all projectors will play DCPs at the
same frame rates. It is possible to create a DCP which one projector will
-play fine, but another (of a different type) will refuse to play.
+play fine, but another (of a different type, or even just with a different software version) will refuse to play.
</para>
</para>
<para>
-Video rate conversion is harder. DCP-o-matic's basic strategy to deal
+Video rate conversion is harder. DCP-o-matic's 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>
<para>
-If you want to experiment with other non-standard frame rates, you can
-do so by ticking the <guilabel>Allow any DCP frame rate</guilabel> in
+You can experiment with other non-standard frame rates
+by ticking the <guilabel>Allow any DCP frame rate</guilabel> in
the <guilabel>Advanced</guilabel> tab of the preferences dialogue (see the
<xref linkend="sec-prefs-advanced" endterm="sec-prefs-advanced-short"/>). You are strongly advised to
use this only on your own equipment, and only for experimentation
</para>
<para>
-The master and server machines do not need to be the same type, so you
+The master and server machines do not need to be running the same operating system, so you
can mix Windows PCs, Macs and Linux machines as you wish.
</para>
<title>Running the servers</title>
<para>
-There are two options for the encoding server;
+There are two options for the encoding server:
<code>dcpomatic_server_cli</code>, which runs on the command line, and
<code>dcpomatic_server</code>, which has a simple GUI. The command line
version is well-suited to headless servers, especially on Linux, and
-the GUI version works best on Windows where it will put an icon in the
+the GUI version works best on Windows and macOS where it will put an icon in the
system tray.
</para>
<code>DCP-TEST_EN-XX_UK-U_51_2K_CSY_20130218_CSY_OV</code>. This
contains some small XML files, which describe the DCP, and two large
MXF files, which contain the DCP's audio and video data. It may also
-contain subtitles in either XML or MXF format. This folder
+contain subtitles or closed captions in either XML or MXF format. This folder
(<code>DCP-TEST_EN-XX_...</code>) is what you should ingest, or pass
to the cinema which is showing your DCP.
</para>
<listitem>Start a new DCP-o-matic film.</listitem>
<listitem>Click <guilabel>Add DCP...</guilabel> and specify your existing DCP's folder.</listitem>
<listitem>Go to the <guilabel>DCP</guilabel> tab and choose <guilabel>Split by video content</guilabel> for <guilabel>Reel type</guilabel>.</listitem>
-<listitem>Go to the <guilabel>Video</guilabel> and
-<guilabel>Audio</guilabel> tabs in turn and tick the <guilabel>Use this DCP's audio as OV and make VF</guilabel> checkboxes.</listitem>
+<listitem>Go to the <guilabel>Video</guilabel> tab and tick the <guilabel>Use this DCP's video as OV and make VF</guilabel> checkbox.</listitem>
+<listitem>Go to the <guilabel>Audio</guilabel> tab and tick the <guilabel>Use this DCP's audio as OV and make VF</guilabel> checkbox.</listitem>
<listitem>Add your subtitles to the film in whatever format you have.</listitem>
<listitem>Check the subtitle appearance in the preview; it will be
slow to respond as it is having to decompress images from the existing
<listitem>Check the subtitle appearance in the preview; it will be
slow to respond as it is having to decompress images from the existing
DCP. Adjust the appearance using controls in the
-<guilabel>Subtitle</guilabel> tab if required.</listitem>
+<guilabel>Timed Text</guilabel> or <guilabel>Closed Captions</guilabel> tabs if required.</listitem>
<listitem>Choose <guilabel>Make DCP</guilabel> from the menu.</listitem>
</itemizedlist>
<listitem>Check the subtitle appearance in the preview; it will be
slow to respond as it is having to decompress images from the existing
DCP. Adjust the appearance using controls in the
-<guilabel>Subtitle</guilabel> tab if required.</listitem>
+<guilabel>Timed Text</guilabel> or <guilabel>Closed Captions</guilabel> tabs if required.</listitem>
<listitem>Choose <guilabel>Make DCP</guilabel> from the menu.</listitem>
</itemizedlist>
</chapter>
<chapter xml:id="ch-player" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
- <title>Playing and verifying DCPs</title>
+ <title>Playing DCPs</title>
<para>DCP-o-matic includes a DCP player, and although it requires a
very high-speed CPU to play DCPs in full resolution, it can also
resolution.
</para>
+ <para>Another way to improve performance is to set the <guilabel>Video display mode</guilabel>
+ in <guilabel>Preferences</guilabel> to <guilabel>OpenGL (faster)</guilabel>. This should provide
+ a significant speed-up on most systems, although this mode has not been so widely tested so may
+ have problems.
+ </para>
+
+</chapter>
+
+
+<chapter xml:id="ch-verifier" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
+ <title>Verifying DCPs</title>
+
<para>
- The player also offers a simple DCP validator. To check a DCP,
+ The DCP-o-matic Player (see <xref linkend="ch-player"/>) also offers a DCP verifier. To check a DCP,
open it and then select <guilabel>Verify DCP</guilabel> from the
- <guilabel>Tools</guilabel> menu. This will run some basic checks to see if the DCP meets the required standards.
+ <guilabel>Tools</guilabel> menu.
</para>
+ <para>
+ The verifier will report three kinds of problems:
+ </para>
+
+ <itemizedlist>
+ <listitem><emphasis>Errors</emphasis> — serious problems with the DCP that are likely to cause problems on playback.</listitem>
+ <listitem><emphasis>Bv2.1 errors</emphasis> — errors described by the <ulink url="https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9161348">SMPTE Bv2.1 standard</ulink>.</listitem>
+ <listitem><emphasis>Warnings</emphasis> — small problems that may not matter.</listitem>
+ </itemizedlist>
+
+ <para>
+ The following sections list what the verifier checks for in each category.
+ </para>
+
+ <section>
+ <title>Errors</title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="verify_errors.xml"/>
+ </section>
+
+ <section>
+ <title>Bv2.1 errors</title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="verify_bv21_errors.xml"/>
+ </section>
+
+ <section>
+ <title>Warnings</title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="verify_warnings.xml"/>
+ </section>
+
+</chapter>
+
+
+<!-- ============================================================== -->
+<chapter xml:id="ch-writer">
+<title>Writing DCPs to disks</title>
+
+<para>
+Once you have your DCP, you need to get it to the cinema or theater who
+will play it. Sometimes this is possible via the internet, using a
+service such as Filemail. If that's an option: go for it! Network
+transfers avoid a lot of the difficulties that other methods have.
+</para>
+
+<para>
+However, your DCP may be too large to make that practical. In that case,
+the usual approach is to copy the DCP onto a USB hard drive or stick and
+physically take it or send it to the cinema.
+</para>
+
+<section>
+<title>Hard drive formatting</title>
+
+<para>
+In theory, this should be as simple as dragging and dropping the DCP's
+files onto a USB-connected drive. Sadly, though, things are not always
+that simple. This is because not all hard drives are formatted in the
+same way. The most common formats for hard drives are:
+</para>
+
+<itemizedlist>
+<listitem>APFS — used by macOS 10.13 and later for solid state drives (SSDs).</listitem>
+<listitem>HFS+ (Mac OS Extended) — used by macOS on 10.12 and earlier, and on all macOS systems for spinning disks.</listitem>
+<listitem>NTFS — modern format used by Windows.</listitem>
+<listitem>ExFAT — another modern, but less common (and buggier) format used by Windows.</listitem>
+<listitem>FAT32 — old format used by Windows.</listitem>
+<listitem>ext2, ext3, ext4 — often used by Linux.</listitem>
+</itemizedlist>
+
+<para>
+You can format a drive however you want, but a drive set up on macOS will usually use APFS, just as one set up on Windows will probably use NTFS or ExFAT.
+</para>
+
+<para>
+The problem you have as a DCP maker is: the only format that is
+guaranteed to work in all cinemas is ext2. This format is not easy to
+use directly from Windows or macOS: both operating systems need extra
+software to write ext2 drives.
+</para>
+
+<para>
+The “DCP-o-matic Disk Writer” provides a possible
+solution to this problem. It allows you to format and copy DCPs onto ext2-formatted disks from Windows, macOS or Linux.
+</para>
+
+</section>
+
+
+<section>
+<title>Caution</title>
+
+<para>
+DCP-o-matic is made by one developer in his spare time. As a project,
+we do not have any quality assurance department, testing team or
+anything like that. Though we try our best to ensure quality using
+automated testing, and by the great efforts of our users to find and report problems,
+bugs do get into the code and things do go wrong.
+</para>
+
+<para>
+Though very undesirable, bugs in most parts of DCP-o-matic are usually
+not disastrous; they most often result in an error message, or some
+problem with a DCP. The Disk Writer tool, however, is a bit different. It obtains
+permission from your operating system to write directly to disks connected to the
+computer. Though we have done as much as we can to prevent problems, there is a chance
+that a bug in the Disk Writer could cause irretrievable data loss (for example, if
+the writer wrote to the wrong drive by mistake).
+</para>
+
+<para>
+No such problems have been reported, nor found by us during testing, but I would
+like to warn you that they are possible. As always, make sure that you have backups
+(somewhere that is not directly connected to your computer) of anything that you do not want
+to lose.
+</para>
+
+</section>
+
+
+<section>
+<title>Writing a DCP to a disk</title>
+
+<para>
+Starting up the Disk Writer will give open a confirmation window to make sure that you understand the risks involved, as shown in <xref linkend="fig-disk-writer-notice"/>.
+</para>
+
+<figure id="fig-disk-writer-notice">
+ <title>Starting the Disk Writer</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshots/disk-writer-notice&scs;"/>
+ </imageobject>
+ </mediaobject>
+</figure>
+
+<para>
+If you are sure you want to continue, type <code>I am sure</code> into the text box and click <guilabel>OK</guilabel>. This will open the window shown in <xref linkend="fig-disk-writer"/>.
+</para>
+
+<figure id="fig-disk-writer">
+ <title>The Disk Writer</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshots/disk-writer&scs;"/>
+ </imageobject>
+ </mediaobject>
+</figure>
+
+<para>Next, click <guilabel>Open...</guilabel> and choose the DCP that you want to write.</para>
+
+<para>
+Now we need to choose the drive that the DCP will be written to from the drop-down menu.
+<emphasis>Whichever drive you choose will be irretrievably wiped!</emphasis>
+If the drive you want is not listed, click <guilabel>Refresh</guilabel> to search the system for drives.
+</para>
+
+<para>
+Finally, click <guilabel>Copy DCP</guilabel>. After a confirmation window, the drive will be formatted,
+and the DCP copied and then read back to check that it was written correctly.
+</para>
+
+</section>
+
</chapter>
+
+<!-- ============================================================== -->
+<chapter>
+<title>Keyboard shortcuts</title>
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="shortcuts.xml"/>
+</chapter>
+
+
<!-- ============================================================== -->
<chapter xml:id="ch-config" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
<title>Configuration files</title>