Open Source DCP Player Proof of Concept

This is a proof of concept that it is possible today to build a DCP player for Macintosh OSX 10.8 with open source tools. It explains you how to to install the necessary tools and how to use it.

It is a proof of concept. There is no GUI application (we use ffplay) and you need to select the media file yourself and the playback is not realtime. But you can inspect DCP content now if you want.

Currently, ffmpeg can unpack MXF files and decode JPEG2000 streams. However, it cannot convert from the XYZ-colorspace to RGB-Colorspace.

Therefore I propose to modify the ffmpeg source code by adding the xyz2rgb Video Filter. This is why you need to compile the ffmpeg binaries and its dependencies yourself.

Important update April 30rd 2013: The colorspace transform has been integrated today in ffmpeg in libswscale. This means our code is not needed any more. We will check the last build and get back to you. https://ffmpeg.org/trac/ffmpeg/ticket/1279

Important update June 3rd 2013: With the current build of ffmpeg, creation of a Prores from a DCP is as simple as
ffmpeg -i j2c.mxf -i pcm.mxf -vcodec prores -acodec pcm_s16le output.mov

Documentation

Install ffmpeg with xyz2rgb Video Filter
Use ffmpeg for DCP playback
Use ffmpeg for DCP to h.264 conversion
xyz2rgb Video Filter documentation

Download

xyz2rgb.zip Source code changes on ffmpeg new version 1.1
http://www.filmlist.ch/dcp/dcpsample.zip Sample DCP folder to use for test: iPhone movie clip 1080p 30fps converted to DCP with OpenDCP, 360 MB

License

The xyz2rgb Video Filter is released as LGPL. ffmpeg is a great tool so I am proud to add my little contribution on it. It took about 30 hours to code and check xyz2rgb.

Current limitations

opendcp709testchart.jpg
opendcpsrgbtestchart.jpg
easydcptestchart.jpg

On Open DCP: http://www.apertus.org/opendcp-article http://www.opendcp.org/

History

1.3.2013 1.1: Correction of bug in the blue channel indexes, changed gamma to Rec709 2.2222 (1/0.45)
30.9.2012 1.0 First release

30.9.2012 Matthias Bürcher