]>
<book xmlns="http://docbook.org/ns/docbook" xmlns:mml="http://www.w3.org/1998/Math/MathML" version="5.0" xml:lang="en">
-<!-- By good luck or good management, the scale parameter to imagedata
- appears only to affect PDF output. HTML scaling is done in the
- Makefile.
--->
-
<bookinfo>
<title>DCP-o-matic users' manual</title>
<author><firstname>Carl</firstname><surname>Hetherington</surname></author>
</section>
+
<section>
<title>Decrypting encrypted DCPs</title>
</section>
+<section>
+<title>Making a DCP from a DCP</title>
+
+<para>
+In many ways, using DCPs as <emphasis>content</emphasis> in
+DCP-o-matic is the same as using any other content. There are a few
+things to note, though.
+</para>
+
+
+<section>
+<title>Re-use of existing data</title>
+
+<para>
+Where possible DCP-o-matic will re-use existing JPEG2000-compressed
+data from DCP content without modification. This has the advantage
+that creation of the new DCP will be quick, as the time-consuming
+JPEG2000 encoding is not necessary.
+</para>
+
+<para>
+DCP-o-matic can do this if you avoid changes to the following content
+settings:
+</para>
+
+<itemizedlist>
+<listitem>Crop</listitem>
+<listitem>Scaling</listitem>
+<listitem>Subtitle burn-in</listitem>
+<listitem>Fades</listitem>
+<listitem>Colour conversion</listitem>
+</itemizedlist>
+
+<para>
+If you do change any of these settings on a piece of DCP content
+DCP-o-matic will decode and then re-encode the JPEG2000 data.
+</para>
+
+</section>
+
+
+<section>
+<title>Making overlay files</title>
+
+<para>
+With its default settings, DCP-o-matic will take any data from DCP
+content and copy it into the DCP that it creates. See <xref linkend="fig-dcp-copy"/>.
+</para>
+
+<figure id="fig-dcp-copy">
+<title>Creating a new DCP by copying an existing one</title>
+<mediaobject><imageobject><imagedata scale="100" fileref="diagrams/dcp-copy&dia;"/></imageobject></mediaobject>
+</figure>
+
+<para>
+This can be inefficient in some cases. Consider, for example, a film
+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.
+</para>
+
+<para>
+The DCP format has a solution to this problem. One DCP can refer to
+the ‘assets’ (picture, sound or subtitle) of another DCP.
+For our translation example this means that we could have a
+‘base’ DCP (often called the OV or Original Version)
+containing video, audio and one set of subtitles and then any number
+of overlay DCPs (often called VF or Version Files) which refer to the
+base version and replace the original subtitles with their own. <xref
+linkend="fig-dcp-refer"/> shows this principle for one of our
+translations. The DCP that we make refers to the original content
+DCP's video and audio rather than containing a copy.
+</para>
+
+<figure id="fig-dcp-refer">
+<title>Creating a new DCP by referring to an existing one</title>
+<mediaobject><imageobject><imagedata scale="100" fileref="diagrams/dcp-refer&dia;"/></imageobject></mediaobject>
+</figure>
+
+<para>
+To play back the subtitled DCP the projectionist ingests both the base
+(OV) DCP and the overlay (VF) DCP, then plays the VF one.
+</para>
+
+<para>
+To make a DCP like this:
+</para>
+
+<itemizedlist>
+<listitem>Import your ‘Content DCP’ to a DCP-o-matic project.</listitem>
+<listitem>Add whatever replacement you want in your new DCP (replacement subtitles or audio files, for example).</listitem>
+<listitem>Select the DCP in the content list</listitem>
+<listitem>Tick the <guilabel>Refer to existing DCP</guilabel> checkbox
+in the tabs for the parts of the DCP that you want to refer to in your
+new DCP. For example, to refer to the ‘Content DCP’'s video and audio you would select the <guilabel>Video</guilabel> tab, click <guilabel>Refer to existing DCP</guilabel> then select the <guilabel>Audio</guilabel> tab and do the same.</listitem>
+<listitem>Do <guilabel>Make DCP</guilabel> as usual and your VF DCP will be created.</listitem>
+</itemizedlist>
+
+</section>
+
+</section>
+
+
</chapter>
<!-- ============================================================== -->
<title>Burnt-in subtitles</title>
<mediaobject>
<imageobject>
- <imagedata scale="80" fileref="diagrams/burn-in&dia;"/>
+ <imagedata scale="100" fileref="diagrams/burn-in&dia;"/>
</imageobject>
</mediaobject>
</figure>
<title>Separate subtitles</title>
<mediaobject>
<imageobject>
- <imagedata scale="80" fileref="diagrams/discrete&dia;"/>
+ <imagedata scale="100" fileref="diagrams/discrete&dia;"/>
</imageobject>
</mediaobject>
</figure>
<title>Timecode</title>
<mediaobject>
<imageobject>
- <imagedata fileref="diagrams/timecode&dia;"/>
+ <imagedata scale="100" fileref="diagrams/timecode&dia;"/>
</imageobject>
</mediaobject>
</figure>
<guilabel>Edit..</guilabel> button next to the key.
</para>
+<para>
+The <guilabel>Reels</guilabel> and <guilabel>Reel length</guilabel>
+controls specify how the DCP will be split up into
+‘reels’. See <xref linkend="sec-reels"/> below.
+</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
</listitem>
</itemizedlist>
+<!-- ============================================================== -->
+<section xml:id="sec-reels">
+<title>Reels</title>
+
+<para>
+A ‘reel’ in a DCP is a subsection of the DCP, in the same
+way as a 35mm reel is a section of a film. A DCP can be split up into
+any number of reels and the joins (the equivalent to 35mm splices)
+between the reels are seamless.
+</para>
+
+<para>
+There is no reason why you can't just use a single reel for the whole
+of your DCP, as there is no limit on their length. Many people choose
+to do this.
+</para>
+
+<para>
+There are, however, some possible advantages of splitting things up
+into reels:
+</para>
+
+<itemizedlist>
+<listitem>
+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
+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.
+</listitem>
+<listitem>
+It is easier to re-use DCP components if they are in reels. Consider,
+for example, a film company who wants to put a 5 second ident onto the
+beginning of DCPs that they distribute. If they receive a feature
+film DCP they can modify it to add their ident as a separate reel.
+This is easier than attaching the picture data in the DCP.
+</listitem>
+</itemizedlist>
+
+<para>
+DCP-o-matic offers three options for setting up the reels in your DCP:
+single reel, split by video content or custom.
+</para>
+
+<para>
+<guilabel>Single reel</guilabel>, as its name suggests, keeps the whole DCP as one reel.
+This is a perfectly good option if you have no particular reason to
+need reels.
+</para>
+
+<para>
+<guilabel>Split by video content</guilabel> puts each piece of source
+video content in its own reel, as shown in <xref linkend="fig-reels-by-video"/>.
+</para>
+
+<figure id="fig-reels-by-video">
+<title>Making reels using split by video content</title>
+<mediaobject><imageobject><imagedata scale="100" fileref="diagrams/reels-by-video&dia;"/></imageobject></mediaobject>
+</figure>
+
+<para>
+Here we have three video files (<code>ident.mp4</code>,
+<code>feature.ts</code> and <code>cred.mov</code>). With
+<guilabel>split by video content</guilabel> DCP-o-matic makes a new
+reel to hold each video file.
+</para>
+
+<para>
+<guilabel>Custom</guilabel> splits reels by the size of the files that
+will make up their video content. With <guilabel>Custom</guilabel>
+you must specify a reel length in Gb. Then no file in the DCP will be larger than this reel length.
+</para>
+
+</section>
+
+
<!-- ============================================================== -->
<section>
<title>Show audio</title>
<para>
The first part is simple: ticking the <guilabel>Encrypted</guilabel>
-box in the <guilabel>DCP</guilabel> tab of DCP-o-matic will encrypt
-the DCP using a random key that DCP-o-matic generates. The key will
-be written to the film's metadata file, which should be kept
-secure.
+box in the <guilabel>DCP</guilabel> tab will instruct DCP-o-matic to
+encrypt the DCP that it makes using a random key that DCP-o-matic
+generates. The key will be written to the film's metadata file, which
+should be kept secure.
</para>
<para>
</para>
<para>
-The second part is to generate KDMs for the cinemas that you wish to
-allow to play your DCP. This is done using the <guilabel>Make
-KDMs</guilabel> option on the <guilabel>Jobs</guilabel> menu. This
-will open the KDM dialogue box, as shown in <xref linkend="fig-kdm"/>.
+The second part of distributions 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.
+</para>
+
+<section>
+<title>Creating KDMs from a DCP-o-matic project</title>
+
+<para>
+You can create KDMs from inside a DCP-o-matic project using the
+<guilabel>Make KDMs</guilabel> option on the <guilabel>Jobs</guilabel>
+menu. This will open the KDM dialogue box, as shown in <xref
+linkend="fig-kdm"/>.
</para>
<figure id="fig-kdm">
</para>
<para>
-DCP-o-matic can store these certificates to make life easier. It
-stores details of cinemas and screens within those cinemas. Each
-screen has a certificate for its projector. DCP-o-matic can generate
-KDMs for any screens that it knows about.
+DCP-o-matic can store these certificates along with details of their
+cinemas and screens within those cinemas. Each screen has a
+certificate for its projector (and optionally certificates for other
+trusted devices, such as the sound processor). DCP-o-matic can
+generate KDMs for any screens that it knows about.
</para>
<para>
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.
+these manufacturers you can click <guilabel>Download</guilabel> then
+enter the serial number of the server in the screen and click
+<guilabel>Download</guilabel> again and, all being well, the certificate
+will be fetched.
</para>
<para>
</section>
+<section>
+<title>Creating KDMs using a DKDM</title>
+</section>
+
+<para>
+It can be inconvenient to need a whole DCP-o-matic project just to
+create KDMs for its film. Perhaps you want to archive the project to
+save space, or create KDMs on a different machine. In such situations
+it is easier to use a DKDM. This is a normal KDM, but instead of
+being targeted at a projection system (to allow it to decrypt the
+content) it is targeted at a particular users's certificate. This
+means that the certificate owner can create new KDMs for other users.
+The DKDM holds everything that is required to create further KDMs.
+</para>
+
+<para>
+Sometimes it is useful to create DKDMs that can be used by
+DCP-o-matic. If you create such a DKDM you can keep it and then, at
+any point in the future, use DCP-o-matic's standalone KDM creator to
+make KDMs for the DKDM's film for any cinema.
+</para>
+
+<para>
+In other cases a DKDM is sent to a 3rd 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.
+</para>
+
+<para>
+To create a DKDM for DCP-o-matic, open your encrypted project and
+select <guilabel>Make DKDM for DCP-o-matic...</guilabel> from the
+<guilabel>Jobs</guilabel> menu. Select the CPL that you want to make
+the DKDM for and click <guilabel>OK</guilabel>. This DKDM will then
+be available in the KDM creator. This is a separate program which you
+can start from the same place that you start the ‘Normal’
+DCP-o-matic. Its window is shown in <xref linkend="fig-kdm-creator"/>.
+</para>
+
+<figure id="fig-kdm-creator">
+ <title>The KDM creator</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshots/kdm-creator&scs;"/>
+ </imageobject>
+ </mediaobject>
+</figure>
+
+<para>
+To create KDMs, select the cinema(s) and/or screens that you want KDMs
+to be created for, the date range, the DCP that the KDMs are for and
+the destination for the KDMs and click <guilabel>Create
+KDMs</guilabel>.
+</para>
+
+<para>
+By default the <guilabel>DKDM</guilabel> list will list any DCPs for
+which you have clicked <guilabel>Make DKDM for
+DCP-o-matic</guilabel>in the main DCP-o-matic program. If you have
+other DKDMs you can add them by clicking <guilabel>Add...</guilabel> and
+specifying the file containing the DKDM.
+</para>
+
+<para>
+If another organisation wants to send you a DKDM they will ask you for
+a target certificate. You can get DCP-o-matic's target certificate by
+opening <guilabel>Preferences</guilabel> and clicking <guilabel>Export
+DCP decryption certificate...</guilabel> in the <guilabel>Keys</guilabel>
+tab.
+
+</para>
+
+</section>
+
+<section>
+<title>Encryption overview</title>
+
+<figure id="fig-encryption-overview">
+ <title>Overview of encryption</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="diagrams/crypt&dia;"/>
+ </imageobject>
+ </mediaobject>
+</figure>
+
+</section>
</chapter>
If you want to import an encrypted DCP you will need to give the
decryption certificate to the distributor of the DCP so that they can
generate a DKDM for you. You can save this certificate to disk by
-clicking <guilabel>Export DCP decryption certificate</guilabel>. As
+clicking <guilabel>Export DCP decryption certificate...</guilabel>. As
with the signing chain, DCP-o-matic will create a certificate chain
and private key for you. You can also choose to load your own
certificates and key or re-make the chain and key with new, random
<title>Creating a new film</title>
<mediaobject>
<imageobject>
- <imagedata fileref="diagrams/file-structure&dia;"/>
+ <imagedata scale="100" fileref="diagrams/file-structure&dia;"/>
</imageobject>
</mediaobject>
</figure>