%dbcent; %extensions; ]> DVD-o-matic CarlHetherington Introduction Hello, and welcome to DVD-o-matic!
What is DVD-o-matic? DVD-o-matic is a program to generate Digital Cinema Packages (DCPs) from DVDs, Blu-Rays, video files such as MP4 and AVI, or still images. The resulting DCPs will play on modern digital cinema projectors. 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.
Licence DVD-o-matic is licensed under the GNU GPL.
Installation
Windows To install DVD-o-matic on Windows, simply download the installer from http://carlh.net and double-click it. Click through the installer wizard, and DVD-o-matic will be installed onto your machine.
Linux Installation on Linux is currently a little involved, as there are no packages available (yet); you will have to compile it from source. The following dependencies are required: FFmpeg libsndfile OpenSSL libopenjpeg ImageMagick Boost libssh GTK wxWidgets libdcp Once you have installed the development packages for the dependencies, download the source code from http://carlh.net, unpack it and run the following commands from inside the source directory: ./waf configure ./waf build sudo ./waf install With any luck, this will build and install DVD-o-matic on your system. To run it, enter: dvdomatic in a shell.
Obtaining dependencies on Ubuntu 12.04 Ubuntu 12.04 packages most of DVD-o-matic's dependencies, but some are missing. This section describes how to obtain all of the dependencies.
Packaged dependencies Most of the dependencies can be obtained from Ubuntu's packages using: sudo apt-get install libwxgtk2.8-dev libsndfile1-dev libssl-dev libssh-dev sudo apt-get install libmagickcore-dev libboost-filesystem-dev libboost-thread-dev
Unpackaged dependencies
FFmpeg Ubuntu does not package FFmpeg, so you will need to build it from source. The following commands should work: git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg cd ffmpeg ./configure --enable-shared --enable-postproc --enable-gpl make sudo make install
libdcp You can build libdcp using: wget http://carlh.net/software/libdcp-0.20.tar.bz2 tar xjf libdcp-0.20.tar.bz2 cd libdcp-0.20 ./waf configure ./waf build sudo ./waf install
libopenjpeg Ubuntu does package libopenjpeg, but it is a rather old version. To build the current release: wget http://code.google.com/p/openjpeg/downloads/detail?name=openjpeg-1.5.1.tar.gz tar xzf openjpeg-1.5.1.tar.gz cd openjepg-1.5.1.tar.gz ./configure make sudo make install
Creating a video DCP In this chapter we will see how to create a video DCP using DVD-o-matic. We will gloss over some of the finer details, which are explained in later chapters.
Creating a new film Let's make a very simple DCP to see how DVD-o-matic works. First, we need some content. Download the low-resolution trailer for the open movie Sintel from their website. Generally, of course, 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. Now, start DVD-o-matic and its window will open. First, we will create a new ‘film’. A ‘film’ is how DVD-o-matic refers to a piece of content, along with some settings, which we will make into a DCP. DVD-o-matic stores its data in a folder on your disk while it creates the DCP. You can create a new film by selecting New from the File menu, as shown in .
Creating a new film
This will open a dialogue box for the new film, as shown in .
Dialogue box for creating a new film
In this dialogue box you can choose a name for the film. This will be used to name the folder to store its data in, and also as the initial name for the DCP itself. You can also set whereabouts you want to create the film. In the example from the figure, DVD-o-matic will create a folder called ‘DCP Test’ inside my home folder (carl) into which it will write its working files.
Selecting content The next step is to set the content that you want to use. Click the content selector, as shown in and the a file chooser will open for you to select the content file to use, as shown in .
Opening the content selector
Selecting a video content file
Select your content file and click Open. In this case, we are using the Sintel trailer that we downloaded earlier. When you do this, DVD-o-matic will take a look at your file. After a short while (when the progress bars at the bottom right of the window have finished), you can look through your content using the slider to the right of the window, as shown in .
Examining the content
Dragging the slider will move through your video.
Setting up Now there are a few things to set up to describe how the DCP should be created, as shown in .
Setting up to make a video DCP
The first thing is the content type. This can be ‘feature’, ‘trailer’ or whatever; select the required type from the drop-down list. Next is the format. This will govern the shape that DVD-o-matic will make your image into. Select the aspect ratio that your content should be presented in. The ‘4:3 within Flat’ and ‘16:9 within Flat’ settings will put the image at the specified ratio within a Flat (1.85:1) frame, so that you can project the DCP using your projector's Flat preset. The remaining options can often be left alone, but may sometimes be useful. The ‘crop’ 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 L, R, T and B settings correspond to the left, right, top and bottom of the image respectively. The specified number of pixels will be trimmed from each edge, and your content image in the right of the window will be updated to show the cropping in action. The ‘filters’ settings allow you to apply various video filters to the image. These may be useful to try to improve poor-quality sources like DVDs. We will discuss filtering later in the manual. The ‘scaler’ is the method that will be used to scale up your content to the required size for the DCP, if required. We will discuss the options in more detail later; Bicubic is a fine choice in most situations. ‘Audio Gain’ is used to alter the volume of the soundtrack. The specified gain (in dB) will be applied to each sound channel before it is written to the DCP. If you use a sound processor that DVD-o-matic knows about, it can help you calculate changes in gain that you should apply. Say, for example, that you make a test DCP and find that you have to run it at volume 5 instead of volume 7 to get a good sound level in the screen. If this is the case, click the Calculate... button next to the audio gain entry, and the dialogue box in will open.
Calculating audio gain
For our example, put 5 in the first box and 7 in the second and click OK. DVD-o-matic will calculate the audio gain that it should apply to make this happen. Then you can re-make the DCP (this will be reasonably fast, as the video data will already have been done) and it should play back at the correct volume with 7 on your sound-rack fader. Current versions of DVD-o-matic only know about the Dolby CP750. If you use a different sound processor, and know the gain curve of its volume control, get in touch. ‘Audio Delay’ is used to adjust the synchronisation between audio and video. A positive delay will move the audio later with respect to the video, and a negative delay will move it earlier. The Range controls allow you to specify a part of your content to encode. We will discuss this later.
Making the DCP Now that we have set everything up, choose Make DCP from the Jobs menu. DVD-o-matic will encode your DCP. This may take some time (many hours in some cases). While the job is in progress, DVD-o-matic will update you on how it is getting on with the progress bar in the bottom right hand corner of its window, as shown in .
Making the DCP
When it has finished, the DCP will end up on your disk inside the film's directory. You can then copy this to a projector via a USB stick, hard-drive or network connection.
Creating a still-image DCP DVD-o-matic can also be used to create DCPs of a still image, perhaps for an advertisement or an on-screen announcement. This chapter shows you how to do it. As with video DCPs, the first step is to create a new ‘Film’; select New from the File menu and the new film dialogue will open as shown in .
Dialogue box for creating a new film
Enter a name and click OK. Then we set up the content; click the content selector as before, and this time we will choose an image file, as shown in .
Selecting a still content file
Setting up for a still image DCP is somewhat simpler than for a video; the options are shown in .
Setting up to make a still DCP
As with video, you can select a content type and the format (ratio) that your image should be presented in. It will be scaled to fit the selected ratio. You can also crop your image, if you so choose, and then set a duration (in seconds) that the image should appear on screen. Finally, as with video, you can choose Make DCP from the Jobs menu to create your DCP. This will be much quicker than creating a video DCP, as DVD-o-matic only needs to encode a single frame which it can then repeat.
Preferences DVD-o-matic provides a few preferences which can be used to modify its behaviour. This chapter explains those options.
The preferences dialogue The preferences dialogue is opened by choosing Preferences... from the Edit menu. The dialogue is shown in .
Preferences
TMS setup The first part of the dialogue gives some options for specifying details about your TMS. If you do this, and your TMS accepts SSH connections, you can upload DCPs directly from DVD-o-matic to the TMS. This is discussed in . TMS IP address should be set to the IP address of your TMS, TMS target path to the place that DCPs should be uploaded to (which will be relative to the home directory of the SSH user). Finally, the user name and password are the credentials required to log into the TMS via SSH.
Threads When DVD-o-matic is encoding DCPs it can use multiple parallel threads to speed things up. Set this value to the number of threads DVD-o-matic should use. This would typically be set to the number of processors (or processor cores) in your machine.
Colour look-up table This specifies the colour space that your input content will be expected to be in. If in doubt, leave it set to ‘sRGB’.
A/B options These options are for DVD-o-matic's special mode of making A/B comparison DCPs for checking the performance of video filters. Their use is described in .
Encoding servers If you have spare machines sitting around on your network not doing much, they can be pressed into service to speed up DCP encodes. This is done by running a small server program on the machine, which will encode video sent to it by the ‘master’ DVD-o-matic. This option is described in more detail in . Use these preferences to specify the encoding servers that should be used.
Advanced topics This chapter describes some parts of DVD-o-matic that are probably not essential, but which you might find useful in some circumstances.
Filtering DVD-o-matic offers a variety of filters that can be applied to your video content. You can set up the filters by clicking the Edit button next to the filters entry in the setup area of the DVD-o-matic window; this opens the filters selector as shown in .
Filters selector
As it stands, these filters are somewhat disorganised! Work is ongoing to test them with various content and choose a selection which work well for cinema applications. If you want to examine them yourself, you may find the A/B option (see ) useful. After changing the filters setup, you will need to regenerate the DCP to see the effect on-screen.
Scaling If your source material is not of the DCI-specified size, or if it uses non-square pixels, DVD-o-matic will need to scale it. The algorithm used to scale is set up by the Scaler entry in the film setup area. We think ‘Bicubic’ is the best all-round option, but tests are ongoing.
TMS upload If you have configured details of a TMS in the preferences dialogue () you can upload a completed DCP straight to your TMS but choosing Send DCP to TMS from the Jobs menu.
A/B comparison When evaluating the effects of different filters or scalers on the image quality, A/B mode might be useful. In this mode, DVD-o-matic will generate a DCP where the left half of the image uses some ‘reference’ filtering and scaling, and the right half of the image uses a different set of filters and a different scaler. This DCP can then be played back on a projector and the image quality evaluated. To enable A/B mode, click the A/B checkbox in the setup area of the DVD-o-matic window. When you generate your DCP, the left half of the screen will use the filters and scaler specified in the preferences dialogue, and the right half will use the filters and scaler specified in the film setup.
Encode range If you want to encode only a portion of your input content, you can do so by clicking the Edit button next to the Range entry in the film setup area. This will open the dialogue shown in .
Range selector
Here you can choose to encode the whole film, or just the first so-many frames of it. This can be useful to check the quality of an encode before comitting to encoding the whole film — perhaps just encode the first ten minutes, look at it on screen, and check that it is ok. If you choose to encode only a part of the film, you can set DVD-o-matic to black out the rest. This can be useful to chop a small part off the end of a piece of content while letting the audio play out.
Encoding servers One way to increase the speed of DCP encoding is to use more than one machine at the same time. An instance of DVD-o-matic can offload some of the time-consuming JPEG2000 encoding to any number of other machines on a network. To do this, one ‘master’ machine runs DVD-o-matic, and the ‘server’ machines run a small program called ‘servomatic’.
Running the servers There are two options for the encoding server; servomatic_cli, which runs on the command line, and servomatic_gui, 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 system tray. To run the command line version, simply enter: servomatic_cli at a command prompt. If you are running the program on a machine with a multi-core processor, you can run multiple parallel encoding threads by doing something like: servomatic_cli -t 4 to run 4 threads in parallel. To run the GUI version on windows, run the ‘DVD-o-matic encode server’ from the start menu. An icon will appear in the system tray; right-click it to open a menu from whence you can quit the server or open a window to show its status.
Setting up DVD-o-matic Once your servers are running, you need to tell your master DVD-o-matic instance about them. Start DVD-o-matic and open the Preferences dialog from the Edit menu. At the bottom of this dialog is a section where you can add, edit and remove encoding servers. For each encoding server you need only specify its IP address and the number of threads that it is running, so that DVD-o-matic knows how many parallel encode jobs to send to the server. Once this is done, any encodes that you start will split the workload up between the master machine and the servers.
Some notes about encode servers DVD-o-matic does not mind if servers come and go; if a server disappears, DVD-o-matic will stop sending work to it, and will check it every minute or so in case it has come back online. You will probably find that using a 1Gb/s or faster network will provide a significant speed-up compared to a 100Mb/s network. Making changes to the server configuration in the master DVD-o-matic will have no effect while an encode is running; the changes will only be noticed when a new encode is started.