what DCP files mean and how can I make it out of Final Cut Pro
I was told to deliver DCP files to movie
Digital Cinema Projection files is what I believe you are referring to.
You can make them via a third party application around $800, but quite honestly unless you absolutely know what you are doing, I would not recommend this. This is the digital equivalent of making a film print of your feature.
We were looking at this process but then found it was quite expensive and there are upwards of a dozen different DCP formats. If you don't deliver the correct DCP format for the theater / projection system, they will not be able to play your film.
So you have to be prepared to make multiple DCP versions of your film. It gets very expensive very quickly.
Walter Biscardi, Jr.
Editor, Colorist, Director, Writer, Consultant, Author, Chef.
HD Post and Production
Biscardi Creative Media
"Foul Water, Fiery Serpent" Winner, Best Documentary, LA Reel Film Festival...
Blog Twitter Facebook
Thanks for response
so there is no way to do it from Final cut pro? or what are softwares I can do it with? I heard of wraptor with compressor is it good enough? I will find out with theater the format, i can interact with them everyday.
Does DCP files played in projector have big difference from Blue ray disc from quality point of view?
Try contacting Russel Lasson, a Cow forum leader. He specializes in Digital Cinema. He posted an article a while back stating that QuVis, the creator of Wraptor, had gone bankrupt.
Yes it gone bankrupt I also know it and its raptor is only for compressor 3.0.4 it does not work with new version of compressor
I found this
how correct it may be
u can build a DCI compliant JPEG2000 digital cinema package using only open source tools with the work-flow outlined here. This post assumes you have all the necessary tools compiled and installed.
* You can find the list of necessary tools here: Open Source Tools
* You'll probably want to read up on compiling and installing the tools for your operating system
There are 4 main steps to creating a DCP:
* Content normalization - Getting your content into JPEG2000 frames or MPEG2 and PCM WAV files.
* Colorspace Conversion - Converting content into the XYZ colorspace. This only needed for JPEG2000.
* MXF Container - Putting MXF wrappers around your content.
* XML Descriptors - Generate XML files to describe content for ingest and playback.
For the purpose of this work-flow, we'll start with a 1920x1080p MPEG-4 file, called sample.mp4. You will need to have all of the tools compiled, installed and executable. The actual steps may vary slightly depending on your OS. The following are based on linux and you'll need to adjust them for your needs.
1. In the folder where sample.mp4 is located, create some directories to organize the intermediate files.
The first step is getting your content into the right format. It is generally best to get your original source as close to the specification as possible. That is, while ffmpeg can convert the frame rate from 29.97 to 24fps, resize or change the aspect ratio, it is better to do this during editing or filming. If your editing package can export to a TIFF and 24-bit 48khz or 96khz uncompressed PCM wave files, then go to the next section. Your software may also export to JPEG2000. However, unless it will perform XYZ colorspace conversion and is DCI compliant, you'll want to export to TIFF.
1. De-mux the video into TIF frames. This command will create 24 TIF files per second in the tif folder. The %06d tells FFmpeg to create a 6 digit padded file name for each frame, 000001.tif, 000002.tif, etc.
ffmpeg -y -i sample.mp4 -an -r 24 -vcodec tif tif/%06d.tif
2. De-mux the audio into a wav file.
ffmpeg -y -i sample.mp4 -acodec pcm_s24le -r 24 -ar 48000 audio/sample.wav
A limitation of FFmpeg is that it doesn't allow you to write individual tracks, so you if want 5.1, 6.1, etc you'll need to split your sound into separate audio tracks with a program like audacity or quicktime. You can also use SoX (Sound Exchange) to split the audio tracks.
sox sample.wav left.wav remix 1
sox sample.wav right.wav remix 2
sox sample.wav center.wav remix 3
sox sample.wav lfe.wav remix 4
sox sample.wav surrleft.wav remix 5
sox sample.wav surrright.wav remix 6
Now that we have an image sequence in the correct frame rate, we need to adjust the color from the original colorspace to the XYZ. You can use OpenDCP to do the color conversion and jpeg2000 creation in one step.
Use the tool opendcp_j2k to convert the TIFF sequence to a JPEG200 frame sequence. It takes an input folder containing your tif images and an output folder to save the XYZ color converted JPEG2000 images. You can set the frame rate and profile as well.
opendcp_j2k -i tiff -o j2k -r 24 -p cinema2k
Now, we have all of the content in the correct format for digital cinema. The next step is to place these inside media containers, in this case MXF. This part is a simple step to perform, but why it needs to be done can be a little confusing to understand for a lot of people. This is because it is easy to confuse the difference between and codec and a container. A codec is the method of encoding or decoding data, which in most cases is a way of compressing or decompressing data. The container only describes how elements are stored into a single file. The elements in a container could be anything, even other containers. A single MXF file could contain encoded audio and encoded video, but in the case of digital cinema, the audio and video elements are stored in separate MXF containers. As a result, you'll have an MXF file containing one or more audio files (wav files) and another MXF file containing one or more video files (jpeg frames).
We can use opendcp_mxf create the MXF wrappers.
1. Create the audio MXF file.
You can supply a single wav file on the command line or if you have multiple channels, a folder containing wav files. When supplying a folder, you to need map each wav file to the correct channel. This is done by prefixing each wav file with the channel number, so the software knows how to assemble them.
05 Left surround
06 Right surround
So, we would simply prefix the file names.
01_sample.wav (left channel)
02_sample.wav (right channel)
In our original example, we only have one audio file. We want to specify that we are using 24fps with the -r argument.
opendcp_mxf -i audio/sample.wav -o sample.audio.mxf -r 24
2. Create the video MXF file.
This will take all the jpeg frames in a directory and place them into a single file.
opendcp_mxf -i j2c -o sample.video.mxf -r 24
We now have two nice and neat MXF files. In a lot of cases, you'd have a single MXF that contained the audio and the video and that would be it. You'd give the MXF file to somebody and they could play it. However, in digital cinema, we need have a few more steps that are needed to tell the digital server what to do with the MXF files. This may sound redundant and just adds another level of confusion. However, we can quickly see the advantage with an example. Let's say you want to distribute your film worldwide in multiple languages. The video is going to be the same for all of them, just the audio would be different. So, rather than creating a single huge file for every language, we can keep them separate. We can use the same video MXF and include one or more audio MXFs, which can be linked together using XML files. This saves a lot of space and time.
We need to create 4 XML files, the composition playlist (CPL), package list (PKL), assetmap, and volume index. We can use OpenDCP to create these XML files.
OpenDCP will create all of the XML files in one step. You supply the MXF files and any additional tags. Only the --reel is mandatory.
opendcp_xml --kind feature --title SAMPLE_DCP --reel sample.video.mxf sample.audio.mxf
That is it, you should now have a working DCP. The final step would be to get the content onto each server. That varies depending on the server. Some have utilities that upload the content over the network, support CD/DVD, USB drives, etc. If you using a storage medium, like a USB drive, you'll need to have it formatted in a way that it can be read by the server. A lot of servers use linux, which would use the ext3 format.
Creating a DCP can technically be done using open source tools, but beware, it can be quite complex and challenging. If you're looking for a DIY project, I would suggest building a tree fort in the back yard, but if you're more handy with a computer and open source than with a hammer and nails, then making your own DCP might be right up your alley.
I've been creating DCPs professionally for almost three years using Qube Master Pro. If you're interested in getting a quote from me for a project, let me know. I'm very good with pricing. If you decided to do it on your own, make you're nice to the guys at your local theater and bring them treats or something as the only way to see if your DCP worked is on a DCI system. You'll get to know those projectionists quite well:)
As far as Wrapper goes, it looked quite promising for basic projects until QuVis went south. It surprises me a little that there hasn't been someone to step in to that market space. It is a difficult thing to sell and support at the price I guess.
I know several people who have used Blu-ray in theaters. It looks pretty good, but the bigger challenge is getting the audio set up right with the right levels and surround if you have it. If you're only doing one screening then Blu-ray is a viable option, but if you're actually releasing in theaters, then a DCP is much more reliable and theaters prefer it as it can be automated and reduces potential problems.
Let me know if you have some more questions.
Colorist/Digital Cinema Specialist
Salt Lake City, UT
Thanks for reply
unfortunately I do not have additional budget for it, Today I interacted with theater and they told me they prefer blue ray, I do not know why but I think they do not have special projector supporting DCP. it is 500 seats theater not big one.
Regarding blue Ray what is best tool to write on blue ray for best quality both video and audio?
Despite this I am going to dig in DCP workflow as far as I feel in future theaters will have such projectors
Easiest way to burn a blu-ray is to use the Compressor template. Might not be the best quality you can achieve, but I think it's quite good for being included in FCP. It's also easy to use. To get better quality than that, you'd have to spend some money. I haven't figured out how to do a surround mix this way though, just stereo.
As far as the theater goes, they could have just an HD projector for the preshow and advertisements that they'll use to play your film. They could still be using film for other features.
Colorist/Digital Cinema Specialist
Salt Lake City, UT
I figured I'd reply to this thread, since I've been doing some work on open source DCP stuff. The referenced step workflow has been tested on Dolby and Doremi servers with success. The problem is there are a lot of variables that can come into play. For example, I've been using the workflow flawlessly, but just recently somebody had issues where the images were all messed up. It turned out their source content was encoded in YCrCb and not sRGB and that particular scenario hadn't been dealt with. So, in that case there is an additional conversion needed. I don't think EasyDCP deals with YCrCb images either.
So... It is getting better and it can be done, but it may require some investigation. If you give yourself time to experiment and deal with these issues it can be rewarding to tackle yourself. If you are on a tight schedule, you might want to go the professional route.
My goal was to make OpenDCP work on a Sony SRX R-320 and after numerous attempts -- as an independent filmmaker, I am elated to say it worked perfectly! It wouldn't have been possible if Terrence Meiczinger hadn't developed OpenDCP.
Admittedly, a few weeks ago I didn't know much, if anything, about creating DCP files… let alone a stereoscopic 3D-DCP. I had recently finished work on a self produced and directed short film, "Dead of Nowhere", that I was able to make largely in part utilizing the crowd-based funding site Indiegogo. I used a Final Cut Pro / 2K Cineform workflow to edit and finish my film. I shot my film guerilla style in one day, handheld on location with the Element Technica Dark-Country beamsplitter rig, recording to a 1-Beyond Wrangler. When I learned that it was going to cost somewhere between $1,500 and $3,000 to have my ten minute film encoded in order to have it shown in a realD™ equipped theater, I knew I had to find an alternate "indie" solution to create my DCP.
After investigating all of the commercial solutions (easyDCP, Doremi, etc.) and speaking with several "indie-friendly" post houses -- all of whom bid out of my price range… I stumbled onto OpenDCP.
While the notion of using an open-source command-line tool, still in development, isn't for the faint of heart, and I am by no means a Unix Pro, the process was pretty simple once I understood how the OpenDCP tools worked.
There have been plenty of how-to posts, so I won't get into a lot of detail here… but basically after getting my film into a Left Eye / Right Eye TIFF sequence at the correct aspect ratio (1998 x 1080), the frame rate at (24p), ensuring that my audio was the exact same length (intrinsic value) and the correct sample rate (24bit), it was a fairly straight forward process to convert to XYZ jpeg2000 (.j2c) using opendcp_j2k and then using opendcp_mxf to wrap the stereoscopic-picture and main-audio elements into separate mxf files. After figuring out that I needed to be sure to have the digest (-d) and annotation (-a) tags set in opendcp_xml, it was then just a simple matter of getting these files onto a drive to load into a cinema server.
Now, don't get me wrong, this will probably not work the first time. I had to make several trips back and forth to the theater, trying various DCP versions (interop and smpte) and hard drive formats (I settled on NTFS).
If you're an indie-filmmaker, trying to get your film digitally packaged for exhibition and don't have the money to spend, or are the kind of person (like me) that enjoys learning about every step of the process -- I couldn't recommend a better, more rewarding way of creating a DCP.
More information about OpenDCP and DEAD OF NOWHERE can be found here:
OpenDCP Link: http://code.google.com/p/opendcp/
Short Film: http://www.deadofnowhere.com
What I don't understand is why hasn't there been profile packages developed for various theaters?
There should be software that allows filmmakers to simply drag a profile -- much like in compressor -- that matches projectors in AMC theaters, or Showcase Cinema instead of trial and error, but that would make too much sense.
First, with the vast amount of screens and theaters, it would be a monumental task to have a profile for each theater, especially when many theaters have mix of equipment. Second, there is no need to begin with. The whole idea behind the SMPTE and DCI specifications is to ensure all content providers, vendors, and exhibitors are in compliance to a single standard. However, just like many things it takes time for everyone to reach compliance.
Is it possible to create MPEG 2 encoding TIFF/DPX/BMP RGB/YUV/YCbCr images (which is not dci spec) in Opendcp. if yes how? .. if No will any up-gradation will come for this?
i just finished my first DCP with openDCP and it's kick-ass. i tested it in a big cinema that had a DOREMI 2k4k server with a DOLBY DP8 processor. 5.1 surround played beautifully and picture was marvelous as well - i delivered on a NTFS hard disk.
openDCP in the latest version has a GUI, which is perfect for anyone. the only thing you need is your movie as a TIFF sequence (best settings, best depth, sRGB colorspace) - do them in after effects or FCP, do not use quicktime or another 3rd party tool, they might be faster but quality is not as good.
your sound can either be stereo or up to 6 descreet channels (5.1) - you can mux everything together in the very self-explaining openDCP.
worldwide DCI standards are: 24p on a ext3 formatted esata harddisk http://www.isdcf.com/ISDCF/DiscFormat.html read here.
BUT it depends on the DCP servers what actually plays. SONY and DOREMI both are able to play 25p as well as read NTFS disks, which is a dream, because formatting a disk to ext3 (linux) is tricky (even on linux, because you need to fit all the specs which are not that standardized on every linux distribution).
thank you, openDCP, for this great way for indie-filmmakers to actually deliver DCP movies to the world!
p.s. in our case we had to stick to 25p because the quality of any sound stretch was insufficient. even with pitch correction.
Update for 2014...
I just used Adobe Media Encoder to create a 2k Scope DCP (2048 x 858), and worked brilliantly.
I graded in Resolve, Mastered in Smoke - all Rec709 ProRes4444 at 24.0 fps at 2048x858, and AME took my master file with 6ch audio and turned it into a perfect DCP - I was quite impressed.
Here are some gotchas...
For best results, feed AME exactly 24.0 source file with Rec709 color. If you give it 23.98 or 25, it will drop frames or duplicate frames.
Also, for 5.1 audio, the config is odd - L, R, Ls, Rs, C, Lfe.
Resolve can then read the DCP file as a QC check, but my rig would not do realtime playback. (Resolve also displays the XYZ colors properly on your sRGB monitor - I was expecting it to look crazy, but it didn't - so then I was worried that the encode may not have gone properly - but it did!)
The next tricky part is formatting the portable hard drive for DCP compliance - which needs to be Linux ExtFS2.
This was done on my Mac using Paragon ExtFS software. After installing, your Disk Utility app will be able to reformat the drive into ExtFS2, then simply drag the DCP folder on to the root level. (NOTE - formatting is slow, and will act crashed - let it sit for at least 30 minutes - it will eventually complete.)
I highly recommend renting a local theater for a test screening, just to double check the drive format compatibility and color space conversion and audio sync. Everything worked great for me.
some remarks on this:
keep in mind, the j2k DCP files are sRGB gamma 2.6 and 12bit.
so if you have prores it is native 2.4 gamma und you only see 2.2 in final cut for example (often referred to as "the quicktime bug", actually not a bug, simple specs)
so DCP conversion would stretch gamma to 2.6 by 0.2. rec709 will be converted to sRGB if you select to render the files in 10bit (be sure to set your project/comp to that value)
now, be careful:; paragon EXTFS is NOT DCI-conform because it writes an inode size of 265KB instead of 128KB and also it is very slow and buggy. hash checks sometimes fail. the same goes for their NTFS plugin which is faster (use TUXERA NTFS for that).
kepp in mind that any digital copy (if not CLONED) is likely to flip a bit which would end up in a server not accepting the DCP. start into ubuntu for example from a live DVD and from there copy everything on an EXT2 volume (change inode size before that)
here are some steps:
-partition table must be MBR
-inode size should be 128, and
-drive should be ext3 file system
I've got many DCP packed and I try to do it only like this and I didn't had any problems or complains with it.. So I do it in linux (open suse) following these steps:
-plug new disk (usb2/3 (portable ones) or e-sata (CRU))
-open GPrated (install it from online repo)
-check witch disk drive is new one, in my case it's sdd (I've got two internal disks, sda and sdb with one partitions per drive (sda1 and sdb1)
-deleted default partition (deleted sdd1 wich is default partition witch is external portable drive formatted by default), apply changes in GParted
-make default partition table for empty drive and make it MBR
-make new partition and set format to ext3 (leave all settings default)
-apply changes in GParted and when format is complete close it
-open terminal as root (type sudo su and again type your pass and hit enter)
-format that partition again but this time set inode size to 128 (type mkfs.ext2 -j -I 128 /dev/sdd1 and hit enter)
-now mount your partition with sudo mount /dev/sdd1 /mnt/disk and make directory for your dcp with sudo mkdir /mnt/disk/dcp
-make permissions for that directory so that you can write to it with sudo chmod -R 777 /mnt/disk/dcp
-copy dcp files (assets) to that directory
-and when copying finishes make that directory read only and executable with this command chmod -R 755 /mnt/disk/dcp
-and last step unmount disk with sudo umount /mnt/disk
if you want to test your DCP and you definitely should, you can hash check the copy with EASY DCP PLAYER DEMO (press "h") and you can play back any part of the DCP (up to 15secs) with CINE PLAYER by doremi (trial version) in the right RGB color space. also good for audio sync (no surround though).
also: if you are using EASY DCP for making the package, it is likely to be not 100% conform. stick to INTEROP packages (24p, IOP, 2K) to guarantee compatibility. there is not a single professionally made DCP out there in SMPTE, because many servers do have problems with it. NTFS is widely supported by most servers, depending on the firmware version.
e.g.: sony does not allow SMPTE DCPs but reads NTFS, doremi reads basically everything but is very conservatives regarding hashes. so if your copy has one bit turned, it will fail.
good luck! more questions or requests? get in touch with me: mail(at)sebastianleitner.com
Thanks for those additional details, Sebastian.
Obviously, there's more going on than I knew. All I can say is that it worked for me - maybe I got lucky, or the cinema server was especially tolerant of the Paragon formatting? I know they ingested it into their own system, they didn't play it back from the portable drive I gave them. Could that have solved the 128/256 issue?
Anyway - I'll be sure to look into it a bit more next time. Thanks!
you are welcome! creating one master DCP for a festival for example is usually not the problem. the trouble starts with multiple copies on different storage types for example.
every DCP is ingested and never played back from an external device. depending on the brand of the server and the firmware version, EXT2 256 is fine. but that does not apply to a broader cinematic release with multiple drives sent out. but normally, a server that can read NTFS also reads EXT2 256 (but one never knows before and that's why you stick to the DCI standards which any server accepts).
in my experience NTFS or else is fine in 80% of the cases. of course i talk only about a master DCP.
the possible issues are as follows:
a) is the hard disk readable (right file format, healthy drive without bad sectors, USB2.0 or better eSata compatible) - you can check the SMART STATUS (bad sectors, health) via linux' "disk utility" if your external casing supports it. piece of advice: do not use WD external USB drives. they are the most incompatible. if possible stick to CRU casings and 3.5" hard disks.
b) if the disk is accepted by the server (no "read error" pops up and the DCP shows n the browser) the DCP needs to be fully ingested. possible errors: "hash check failed" - most common because any digital copy can be corrupted and is very likely to be. always have a safe master DCP on an external disk. data gets corrupted by: disk failure, shutting it off without ejecting it, format failure. always CLONE your drive (either with the right software or hardware), takes way longer but ensures quality. and always do a hash check of the new copy in EASYDCP PLAYER.
another error you could run into here is: "ingest failed" with no further info. that sometimes happens if you have more than one DCP on the drive. usually there is something wring with the CPL file. sometimes you have to try several times with USB drives.
c) unfortunately being ingested fully does not assure playability just yet. make sure your DCP is INTEROP (IOP) and not SMPTE. the latter is still not officially supported by the DCI. the first trailers as SPTE will come out 2016. SMPTE is necessary for 3D, 4K and HFR and therefor needs more caring hands. be sure to watch a film in full length in the cinema before releasing it or presenting it to the public. sometime DCPs are fine until the very last minutes. also listen for audio quality issues and sync.
cinema servers are not fail proof either. it depends on the person who operates it as much as it does on the supplied DCP. i could go into more detail if interested but all you need to know was already mentioned here. try to stick to the legacy format and find a friendly cinema and operator to help finding the best practice. once found, stick to the exact workflow.
Well, this just keeps getting more interesting...
We sent 3 copies of our DCP out, and 2 of the 3 worked just fine - but one theater could not get it to play at all. It ingested just fine, and audio played fine, but picture did not. There was no real picture to speak of - just a weird vertical line of garbage in the middle of the frame.
The theater tech said he's seen lots of problems with DCPs, but never this one. He was very concerned that the bitrate was too low - a 75 minute movie was only 20 GB.
In Adobe Media Encoder, the bitrate field read "250 MB" - but it was not adjustable at all. Turns out it actually encoded about 30 MB. The film is fairly dark and desaturated, and it looks great in the other theaters, so the bitrate may not have needed to be any higher - but our tech hypothesized that their brand of DCP server (GKC, I think) might have a MINIMUM bitrate to correctly interpret the content, and that the Adobe Encoder may not be truly DCI Compliant.
So, I went back and started over using OpenDCP - created DPX frames, encoded to JPEG2000, split out the audio, wrapped to MXF, , etc. etc. - and forced the bitrate to 150 MB.
And this DCP worked perfectly. Can't say for sure what the issue was with the other one - but just take this as a cautionary tale to TEST, TEST, TEST far enough in advance to make changes if necessary!!!
The theater tech also warned me about the Paragon formatted drive, and the fact that the DCI Specs call for the DCP to be at the root level of Partition 0. (Paragon can't do that.) His system could read it fine, but he said other may not be able to, so he suggested reformatting the drive properly before sending off to other theaters.
So - listen to Sebastian! He knows of which he speaks! ;-) (Personally, I just plan to call on some IT friends to format the drive the next time I need to do this. I'm pretty sure that if they can format it properly, I can still use Paragon to connect the drive to my Mac and copy over the data.)
glad it worked out for you!
please stick to "real" tools for DCP creation. DCP-o-matic is fine for creating jp2000 but adobe media encoder is not! there is a free afterFX plugin though for creating compliant jp2k files.
the adobe suite is not there yet, it might be faster but not necessarily safer.
any NTFS drive should have a master boot record, so be sure to set that when formatting on mac or linux.
as you can see, DCP is a very complex thing ,)