I was surprised to note that several animation festivals (who almost all sent me lovely messages of rejection over the course of this Autumn — some kinder and more regretful than others) required a DCP for their final deliverable format. Not realizing I was going to be ousted by all but one (and the one being, ironically or not, local — an awesome monthly showcase of regional talent at FilmBar — www.thefilmbarphx.com) I scrambled to study the process of making a DCP.
What’s a DCP?
Turns out it is, in fact, a video format … of sorts.
Even more than that, it’s one that is regulated and maintained by big money, presumably to keep big money with big money, in a way. To be more general (or generous?) it makes projector systems not have to vary too much in order to play every kind of film that is converted to DCP format. It also standardizes and expects shorthand for a number of authorities that studios adhere to. For example, there is a shorthand code of a few letters for the existing big studios. The name of a DCP file is broken down like this:
This is the name of the DCP file which references the video and audio and subtitles you create in a particular format.
All of these pieces of the name are broken down into quite specific, selectable codes. For example, “Facility” ordinarily refers to the place where the DCP was made. I am not sure if this is because DCP creation used to be (perhaps still is, though this post is hoping to help you avoid all expenses) an extremely expensive procedure, and even the limited professional facilities were important to track. I just don’t know. It deserves research into modern art patronage, I suppose. Resolution will be 2K or 4K now. CONTENTTYPE will be “Short” or “Feature” or “Teaser” or “Promo” or a few other options.
It’s fascinating that it’s all very organized and studied to this level. But of course it would be! Movies often mean big big bucks. And they require a lot of coordination between different parties. A DCP is probably not just a way to cut down on variances between movies but also to make it easy for even a “certified” projector operator to not mess up. Some of the codes seem semi-obsolete to me. I’m not sure why a regional rating would be important to include in the code. You’d think if you were showing a movie in England rated “Adult” everyone involved would know without the projector needing to know, but perhaps it is simply a surprise when the film loads up!
Fun fact: for some reason, loading a DCP into a projector is called “ingestion”. Gives new meaning to the word “consumers”, no?
Read more about the DCP standards here: http://isdcf.com/dcnc/
I also suggest searching for “How to make a DCP” and witness the sheer level of obfuscation and confusion surrounding this interesting standard. Perhaps if movie theaters eventually replace their projectors with VideoLan’s incredible, free VLC player (which plays darn near everything, and is even close to playing DCPs), this can all be avoided in the future.
But how is it made anyway?
If I were to tell you anything about what separates it from an ordinary video compression format, based purely on my unprofessional self-guided crash course through the process, I’d say it specifically focuses on giving these “professional” qualities to the video:
1. The frames are preserved in a light format (slightly lossy format) but which looks good on screen and is derived from lossless TIFF files. We all know JPGs or JPEGs from pretty much everywhere on the Internet these days. But have you ever exported an image in Photoshop or GIMP and wondered what the U vusËg a “JPEG 2000” (JP2 file) is? Well, there is a use for such things. Besides, probably, some obscure scientific software in a lab somewhere, it is used as the penultimate image format of all the frames of your film. Fight Club‘s Tyler Durden comes to mind, and his sneaky replacement of frames in the middle of movies.
2. The frames are catalogued in some kind of precise document that is meant to ensure not a single frame is skipped during playback. In addition, the audio is precisely aligned with these unskippable frames so that every cue, sniff and editing scratch appears exactly where the last production engineers and editors left it. This document is an MXF file.
3. The subtitles are encoded with precise timing, as well.
One more interesting point about the JPEG 2000 (JP2) files is that they are converted from RGB color ranges to XYZ, which is a shorthand for the kind of color that shows up well when projector light is beamed through the image. After conversion, it looks on an ordinary screen as though your precious colors are kind of washed out looking, and I think it’s because the movie theater is dark most of the time, with just short flashes of the frames being shown in the dark. The eye adjusts to a much smaller bandwidth of light in this glowing flashing rectangle, and the washed out appearance, I’d imagine, “squishes out” to what looks like an ordinary range of color. But I’m not a pro and this is just my best guess of why you should make your images this way.
How to make a DCP
There is software that allows you to simply load up a video and export a DCP fully formed. It can come in the form of Adobe plugins or standalone software.
But I was looking for a much more pragmatic and flexible solution and so I focused on the program OpenDCP, which is said to have been developed and abandoned by a megacorporation that is vaguely failing to live up to its one stated goal (but probably not entirely due to their own fault). GitHub (redeemingly?) has some detailed notes about how OpenDCP may be preserved or improved into the future.
I found a handful of very helpful links on making a DCP with this program. They include these:
Creating a Feature Film DCP Using OpenDCP
and a video called:
How to make a DCP (Digital Cinema Package) on your own computer
at Chris Jones’ blog: http://www.chrisjonesblog.com/2012/06/how-to-make-a-dcp-digital-cinema-package-on-your-own-computer.html
Acquire the program here: https://github.com/tmeiczin/opendcp
These studies and walkthroughs certainly helped me use OpenDCP but they left out a few key questions I had, for example regarding subtitles. I’ll let you know the process I used and perhaps you will find your own way to get there.
Requirement 1: OpenDCP desires TIFFs
I decided to make a 2K version for theaters, partially because Lor’Avvu Prelude was designed for high pixel density and a blown up image would somewhat blur uncomfortable detail (oh, the detail!), and partially because it just saves immensely on storage space.
When the 13,617 frames of the cartoon were all exported from the Blender sequence as a series of 2K FullScope resolution images, I noted that the entire thing was several hundred gigabytes. I don’t even want to think about what a full length 8K feature will take up in size.
But there was a problem. Blender encountered (or rather dispassionately steam rolled through) a little error. After frame 1000, it began to append the wrong number of zeroes to the frames. This means, for example, instead of ordering the TIFFs where 00001000 is followed by 00001001, the 10,000th frame suddenly jumped in because it was automatically, errantly named 000010000. Blender should have reduced the number of prefixed zeroes by one when we reached 5-digit numbers (anything more than 9999) but didn’t. So OpenDCP (and many operating systems) will order the files based on the first digits rather than “seeing” the number you’ve given the file.
After one very confusing test viewing in a theater (which I’ll talk about later in this post), I went home, discovered the problem and used an automated file renaming system to remove the extra zero from every frame above 9999. Whew! Thanks, good programmers everywhere for all you do!
After putting the TIFFs through OpenDCP’s converter (which automates the process of making your TIFFs into JP2s in the XYZ color space) I had the visuals “in the bag”.
Requirement 2: OpenDCP yearns for exact audio lengths
This was a bit hard to master at first, because when I made the audio for the movie, I’d simply plopped the track where I wanted it, a little more than half a second after the start of the silent black frames of the movie. That would not do in this case, or the entire film would be half a second off. I went back into my 5.1 mix (see my previous festival post about getting a beast like that working) and calculated the precise amount of silence that the precise frame count would require, and also truncated the very ending to the precise time that would qualify as the 13617th frame.
OpenDCP here is a bit finnicky. So be warned. If you are like me and playing loosey goosey with the audio placement in your sequencer timeline (Premiere, Final Cut Pro, MovieMaker, etc.) you may want to have that sequencer export the audio precisely.
The time length that a frame is “counted” in the 24 frames-per-second “modality” — shall we say? — works out to be about .041666666666666… seconds per frame. So I was able to calculate the amount of silence needed (of that tiny length) in order to end the audio tracks. It would have to end at one whole frame’s length — some fraction of a second that would be divisible by .041667 (times the number of frames above a whole second) … or so I thought. It turns out each time I cut off the audio at the end of what I perceived would be the last frame, OpenDCP would get to the end of the audio compile process and bump up the count from 13617 to 13618 frames (for an audio length). So I removed a “frame’s” worth of audio and it would consistently compile at 13616.
The audio MXF and video MXF must be the same size or the DCP will cause “indigestion” in the projector, and it might not even tell you what’s wrong at the theater.
After scratching my head on this and cutting back and forth in the Audacity files, I finally set all the audio back to 13616 “frames” long and then added about a third of a “frame” of silence (rather than a whole frame). If you are curious, this amounted to approximately .013888 of a second.
I exported the PCM mono WAVs — one for each of the six surround speakers — and wrapped them again with baited breath.
13617 “frames” of audio counted! OpenDCP liked it! WAVs acquired!
Requirement 3: OpenDCP is persnickety about subtitles
So I’d already made a subtitles file with the simple standards of the SRT. You can find information about that format pretty easily online, but to give you a sample, the start of mine can look like this:
00:00:04,000 --> 00:00:07,984
[Faerie Language] Feel the elements — their great respect for life.
00:00:08,000 --> 00:00:09,800
They chose to give us shape.
00:00:09,700 --> 00:00:15,000
Aye. But you do not have to be of this place to breathe with it.
00:00:15,100 --> 00:00:17,000
What if we fail?
00:00:20,670 --> 00:00:23,460
Don't give up.
00:02:12,580 --> 00:02:13,500
00:02:15,000 --> 00:02:18,600
What can we do? All of us have now put energy into that world.
00:02:18,800 --> 00:02:24,000
— And the friendliest beings of light!
— And every ally to the elemental spirits!
Making one of these simply requires that you watch your movie in the timeline or with a player that can show precise time codes, pause it when you’d like your titles to appear and disappear and put those time stamps into the ASCII arrow format. Pretty clever, no?
The problem is OpenDCP cannot understand this file and requires a prepared MXF to go with the wrapped video MXF and wrapped audio MXF. I did not figure out how to achieve a manual coding of this file but I really wanted the subtitles to be an option for the international festivals that would occasionally require them. I did find this French-language film site that handily takes your SRT and spits out an appropriate MXF. Voila!
So a big Merci boucoup! to Michael Cinquin. If you ask me to remember how I actually answered all the required fields, I honestly do not remember. In the flurry of my need, I simply stumbled through it, using mostly the examples generously given by Mssr. Cinquin, and it worked. I did notice that changing the color in the “subtitles color” field did not work. It probably has something to do with the fact that it takes an 8-digit hexadecimal for white (FFFFFFFF, as opposed to HTML’s 6-digit standard FFFFFF) so I would guess it’s not purely an RGB code.
In any case …
The last step was to take the OpenDCP files generated and put them on an EXT3 or EXT4 formatted USB device. Apparently, filmmakers are known to get expensive, impact resistant hard drives and ship them in foam to exotic festival locations. I neither had the privilege or necessity of doing that, and I figured “files are files” so I decided to just plop the surprisingly svelte 18 gigabyte total onto a 32 gigabyte USB dongle (thumb drive) and thumb drive it on over to the local theater.
How do I test the DCP?
Most advices online seemed to tell me that you can find some way of testing it at home, perhaps, maybe, possibly, but the ideal way is to actually take a peek at your film in its newly naturalized setting: the theater! I found that the cooperation of a locally supportive theater was essential during the process of finishing the DCP, especially with my budget of, virtually, zero dollars.
A few days in advance of finishing what I thought would be a good DCP, I contacted previously mentioned FilmBar, an independent theater, and asked if they would be willing to help an independent filmmaker test their movie. After some negotiation, they seemed willing to help me out and we threw the drive into the machine’s gaping tooth-filled maw. It sucked on it like a baby nooker for a while, slowly climbing to 100% without problems and returned:
To my horror, the staff confirmed my fear that there was absolutely no clear way of knowing just why the sensitive machine would reject the movie. I went home and after further research determined that the incongruity between the video and audio may be the issue. After solving it, as described previously, I returned another pre-matinee time and tried a
The film slowly loaded as I paced the grounds, making conversation with the staff. It loaded 100% successfully and we entered the theater. The movie started and the sound and colors were exactly as if the Quicktime video had been blown up to screen proportions. I admit it was slightly exciting. Then, random frames popped into the movie, which scrambled while the audio remained intact. Discouraged, and thinking I had some kind of odd bug on my hands, I returned home again.
Again, I suspected what the problem could have been and investigated the JPEG 2000 sequence. The “zeroes” problem, as mentioned before, reared its head and I got to work fixing that in both the archival TIFF sequence and the JPEG 2000 sequence. OpenDCP helped compile the video once more. What I didn’t have in confidence it would work, I made up for with hope.
As the Phoenix Filmmaker Showcase time rolled around, I learned they wanted a DVD the whole time.
Instead of trying to engineer a DVD, which seemed possibly even more of a legacy format than DCP — and by this time, I’d learned, of lower quality — I asked them if they would accept a DCP and they accepted. Before the festival, I went in to load up the movie in the player and add it to their cue. It played with no errors, and I was relieved. Then nervous. Now I just had to write an introduction speech.
Is a DCP worth our time?
As media increasingly stratifies and accelerates in all sorts of directions, the movie theater feels like a kind of archaic format for entertainment. Screens are beyond ubiquitous, the Internet pervades every previously tranquil (differently deranged?) bandwidth, and the “theater” feels like a bygone option for people with too much money and time, and a very specific (almost niche) appreciation of moving, non-interactive, recorded and archived art forms. So, if you want to continue to be a part of that world, by all means, prepare the TIFFs, WAVs and festival screeners. Many festivals seem to accept screeners (like an MP4 or MOV file) as the actual theater media these days.
Now that making a DCP can be totally free rather than cost thousands of dollars, one also finds one’s self asking one’s self if one’s self is not using too much of the passive voice in media creation choices. Where will the video and interactive video (i.e.; video game) art forms take us? There will always be new formats of the elite and old formats of the poor, passionate, or just plain dispossessed. But if now is an indication of our luck as creatives in the future, there will be more and more ways for us “little folks” to access current formats. The question for us is: is the DCP standard something humanity should support? Maybe it’s up to you!
At least, it was a fun adventure. And now Lor’Avvu Prelude is ready for the festival circuit. Hey, would any festivals want to show our movie? Let us know …
Until then, the public Vimeo version is about to reach a much wider audience, almost instantly, around the world, on any video device possible. Hmmm.