Open Cine

From apertus wiki
Jump to: navigation, search

1 Feature Overview

There are several free and open raw-image processing tools for still images like: ufraw, darktable, RawTherapee, Rawstudio, digiKam and many more. While some of them offer batch processing capabilities none of these tools were designed for moving pictures. Processing DNG sequences is cumbersome and time consuming, CinemaDNG MXF files are not yet supported at all. This is where Open Cine should come in. It will be a raw processing tool designed from the ground up for moving images instead of still images.

  • Import Footage from Camera over network (FTP Transfer to backup location)
  • Import Footage from local drive
  • Preview Footage in real-time (GPU based raw debayering at full/reduced resolution [Reduced resolution equates to better playback performance])
  • View(all) / Edit(some) Metadata
  • Set IN/OUT points in footage
  • Apply color relevant RAW transformations (Whitebalance, Exposure, Curves, etc.)
  • Save/Load color transformation presets to/from File.
  • Adjustments are preserved in a XMP file that stays with the original unaltered footage.
  • Compare Color transformations (Presets A,B,C; split screen, etc.) of the same clip or of different clips
  • Live Histogram/Vectorscope
  • Batch Export RAW footage between IN/OUT to non destructive RAW conforming format (DNG, DPX, etc.)
  • Batch Export RAW footage between IN/OUT to destructive digital intermediate format (Quicktime Prores444, AVI DNxHD, Image Sequence, etc.)
  • Batch Export RAW footage between IN/OUT to destructive proxy format (Quicktime Prores422 (proxy), Quicktime/AVI MJPEG, etc.)

2 Typical Usage

Reviewing and Sorting Footage

  • Import DNG sequence that was shot with a raw camera (Apertus or other) into Open Cine
  • View footage in real-time
  • mark unneeded clips, rate good clips, write comments for each clip
  • later a filter can be used to hide all the bad/unneeded clips. Director could now review only the good ones and continue working with them.

Prepare Footage for Editing

  • Import DNG sequence that was shot with a raw camera (Apertus or other) into Open Cine
  • Sort through footage and select best clips (rating, marking), shorten to relevant parts in the clips by setting IN/OUT points
  • Apply color grading nodes to the raw footage (White-balance, Exposure correction, Tonal Curves, etc.)
  • Export Intermediate Clips in FullHD as Avid DNxHD or Apple ProRes for editing in another software

Prepare Footage for Finishing

  • An EDL/XML file of a complete edit contains the list of clips we need for finishing, import EDL/XML and link the clips to the raw footage (big win if we find a way to do this automatically)
  • Apply color grading nodes to the raw footage (White-balance, Exposure correction, Tonal Curves, etc.)
  • Export required clips as *.DPX or *.EXR image sequence (with full bitdepth) for finishing suite

3 State of Development

A basic GUI is loading/displaying DNG sequences is working. Open Cine is created in C++ with the QT5 framework.

4 Ideas & Brainstorming

There are several ways how Open Cine development could be started:

  • Use blender source code as base and remove everything from the interface that we don't need and add raw processing/import functionality.
  • Use a raw development still software source code (like darktable or raw therapee) as base and add motion picture/node support functionality.
  • Start from scratch (most work but most individual/fitting outcome)

4.1 Real time RAW preview

2 Approaches:

  • Read raw bayer pattern data and reduce resolution with pixel skipping (every 2nd, 3rd, 4th, etc. pixels) then do debayering in GLSL shader. We already have the python written Stereocamcheck software that uses GLSL shaders to debayer JP4 RAW in real time. The footage is read via Gstreamer.
  • Read raw bayer pattern data and generate RGB values from 2x2 photosite block which contains 2 green, 1 red and 1 blue value. This automatically reduces the resolution by half in both horizontal and vertical axis. Further resolution reductions could be done by skipping every 2nd, 3rd, etc. 2x2 photosite block.

5 Plan and Structure


6 Wishlist

The apertus° Lab:

7 System requirements

  • OpenGL 3.3 or higher

8 Screenshots

8.1 Version 0.1 Alpha

OpenGL raw preview

OpenGL preview

9 Developer information

OpenCine.Build Instructions

OpenCine.Getting Started


OpenCine.Control elements


10 Useful links

10.1 Basics

DNG Test Footage:

10.2 GUI