Camera Report Interchange format                                                                        

Camera Reports Home

        

Camera Report Interchange Format Specification

Sam Richards

VES Tech Committee

Contents:

Sample Data

Field name specification

Additional Notes

Dates and Timestamps

SlatesUUID

TK fields

Multi-select Fields

Set Media

VFX Work

Enum fields

Tk Clip Num

Reading with Python

The file format had the following requirements:

For the above reasons we picked a CSV file format as the baseline, with the following requirements:

Sample Data

For sample data please see:

Field name specification Version 1.1

The table below defines all the fields that can exist in the file, the field order can be flexible, and additional fields can be added.  

Export Format Column Name

Example Value

Type

Help Field

Required/

Optional

Job

Wizard of Oz

string

The production name.

CRIF Version

1.1

Numeric

“Camera Report Interchange Format Version”, this is the version number of this document. This makes it easier to code changes to the file format.

Required

Unique Slate ID

154

Numeric

Numeric Slate ID, this should be unique per database, but may not be unique between databases. Should be used as a human readable ID number

Required

SlatesUUID

--

string

Global Unique ID, this should be unique globally, even between different filemaker databases, this is particularly handy for importing, since you can guarantee no import clashes.(see below).

Required

Slate

--

string

Slate value, should directly match the actual slate label.

Required

Camera Letter

A

string

The camera letter for multi-camera setups, is assumed to be a letter A-Z

Required

VFX Shot

--

string

What the final VFX Shot name is, not commonly known at shoot time.

Optional

Scene Number

--

string

Production scene name.

Required

Shoot Day

15

Numeric

The shoot day for that particular unit. Script notes, are often indexed by shoot day rather than date, b

Required

Shoot Timestamp

2013/07/12

15:03:30

string

What timestamp was this shot on.

YYYY/MM/DD 24HH:MM:SS

This is expected to be an editable value.

Required

Shot Description

--

string

Production shot description.

Required

Unit

1st

string

Shooting unit, typically 1st or 2nd.

Required

Element Type

Blue Screen

string

Description of element type, e.g. blue-screen, green-screen, background.

Optional

VFX Work

Multi-select

Pick list of work to be done, e.g. 2-D composite, 3D Character, Rig removal

Required

Notes

--

string

General scene notes.

Optional

Set Media

--

Multi-select

What other media was captured on this set, so artists know what to look for.

Required

Set Location

--

string

Where is this scene being shot.

Required

Set Location Position

+37.400000, -121.980000

string

The on-set Latitude, and Longitude as derived from a GPS, measured in degrees.

Optional

Script Location

--

string

Location as defined in the script.

Required

Script Time

Dusk

Enum

What is the rough time of day in the script for this scene, Valid values: Dusk, Day, Night, Dawn, Magic Hr

Optional

Interior Exterior

Int

Enum

Is the Scene Interior or Exterior. Valid values are: Int, Ext

Optional

Wrangler

--

string

Identifier for the person entering the data.

Required

Stereo Rig Orientation

Over

Enum

Location of second camera, the over/under is relative to the mirror, valid values: Over, Under, Side-by-side (*)

Required for Stereo

Stereo Thru Cam Eye

Left

Enum

Which eye is the primary lens, and which is going through a mirror, Valid values: Left or Right. (*)

Required for Stereo

Camera Head

--

string

Make of camera head (e.g.  libra, o'conor).

Required

Camera Head Right

--

string

Make of right camera head for a stereo rig.

Required for Stereo

Camera Move Description

--

string

Broadly describe what the camera move is.

Optional

Camera Body

Arri

string

Make of camera body (e.g. Red, Arri)

Required

Camera Body Right

Arri

string

Make of camera body of right eye.

Required for Stereo.

Camera Mount

--

string

E.g. Legs, Dolly, Techno-Crane, steadicam

Optional

Characters

--

Multi-select

The list of characters in the scene, there is a separate form to edit these.

Optional

Props

--

Multi-select

What props were used on the scene.

Optional

Film Stock

--

string

Required

ASA

800

string

Film speed, typically in range 100-3600

Required

HDRI Filename

--

string

The filename for any HDRI/Sphereon file(s).

Optional

White Balance

5000K

string

Optional

Creation Date

2013/07/22 12:31:18

timestamp

Timestamp of when this report was created. YYYY/MM/DD 24HH:MM:SS

Optional

Modification Date

2013/07/22 12:31:18

timestamp

Timestamp, updated when slate last modified. YYYY/MM/DD 24HH:MM:SS

Optional

Tk Take

1

string

Take number, represented as a string, for unusual cases where its not only numeric.

Required

Tk TakesUUID

--

string

Global unique ID, used to uniquely identify this take.

Required

Tk Filter

--

string

What lens filter (if any) is being used.

Optional

Tk Focal Length

--

string

Start value for focal length, Measured in mm

Required

Tk Focal Length End

--

string

End value for focal length, Measured in mm

Required

Tk FPS

--

string

Frames per second, typically 24, but can be 48, 60, etc.

Required

Tk Lens Focus

--

string

Start Distance of main focus position, measured in Feet/Inches.

Required

Tk Lens Focus End

--

string

End Distance of main focus position, measured in Feet/Inches.

Required

Tk Lens Height

--

string

Start Height above ground plane, measured in Feet/Inches.

Optional

Tk Lens Height End

--

string

Start Height above ground plane, measured in Feet/Inches.

Optional

Tk Lens ID

--

string

Lens ID from Lens database

Optional

Tk Lens Serial Num

--

string

Lens Serial Number.

Required

Tk Lens Serial Num Right

string

Lens Serial Number for right camera.

Required for Stereo

Tk Notes

--

string

Tk Roll

--

string

What is the film-roll, can be applied to digital too.

Required

Tk Shutter Angle

180

string

Measured in degrees, typically one of 90, 180, 270

Required

Tk Start Time Of Take

--

string

When did this take start shooting. 24HH:MM:SS

Optional

Tk Stereo Convergence

--

string

Stereo convergence, distance to convergence, measured in feet/inches, or Infinity if they are parallel to each other. (*)

Optional For Stereo

Tk Stereo IA

--

string

Stereo Interaxial distance (sometimes incorrectly labeled Stereo Interocular), the distance between the lenses (*)

Optional For Stereo

Tk Stop

--

string

F-Stop or T-Stop of the lens.

Required

Tk Camera Tilt

+10

string

Start Value for Camera Tilt, Camera Tilt -10 means the camera is pointing 10 degrees down, +10 means 10 degrees up.

Optional

Tk Camera Tilt End

+10

string

End Value for Camera Tilt, Camera Tilt -10 means the camera is pointing 10 degrees down, +10 means 10 degrees up.

Optional

Tk Camera Dutch

+2

string

Start value for camera dutch angle (roll) +10 means the camera is tilting 10 degrees to the right clockwise.

Optional

Tk Camera Dutch End

+2

string

End value for camera dutch angle (roll) +10 means the camera is tilting 10 degrees to the right clockwise.

Optional

Tk Clip Num

--

string

The clip number within the take that this "take" refers to, used for continuous shooting.

Optional

Tk Timecode

01:08:59:28

string

The timecode for the start of the clip.

Optional

Tk Creation Date

2013/07/22 14:31:18

timestamp

Creation date of this take YYYY/MM/DD 24HH:MM:SS

Optional

Tk Modification Date

2013/07/22 14:31:18

timestamp

Modification date of this take. YYYY/MM/DD 24HH:MM:SS

Optional

(*) These units are provisional, any feedback on these attributes, would be gratefully received..

Additional Notes

Dates and Timestamps

Dates are all in YYYY/MM/DD format, e.g. 2013/07/25. Months and Days should be padded to two digits.

Times are in 24-hour format, and timestamp fields are always of the form YYYY/MM/DD 24HH:MM:SS All date/times are in local-time.

SlatesUUID

The most important field is the SlatesUUID, since we use this field to identify when slate fields are duplicated. Even though we do have a Slate-ID which is nicely human readable, the problem with these types of ID is if you have 2-3 people entering data into a multiple filemaker databases, you can easily get into trouble if the ID’s end up overlapping. UUID’s are a globally unique ID, so in theory it should be impossible for many people to end up with the same ID. For the sample Filemaker database we have added a function that will generate it for you (See here if you want to add it, although you will need Filemaker 11 Advanced to do this). In filemaker 12, this is a built in function. If you are exporting it from your own Filemaker database, and cannot upgrade to 12, then copying the Slate-ID to the SlatesUUID should work, you just need to be very careful that the fields don’t clash with anybody elses numbers on the production.

TK fields

If you do add your own Take fields, please prefix them with “Tk “, you will see from the scripts below that this is used to clearly split the take fields from the slate fields.

Multi-select Fields

There are four fields that are multi-select fields (VFX Work, Set Media, Characters, Props). In the file, these are separated by a “Vertical Tab” (defined by the character “0x0B”), but in the database are stored as multiple lines, each line corresponding to a radio-button selection.  Of these four, VFX Work and Set Media have predefined values, where-as Characters and Props are show defined.

Set Media

This is one of the more critical fields, since it lets the end artist know what other data was captured on set that they need to look for. The Values that we consider pretty universal to all productions include:

Others may be defined, but these are considered the baseline.

VFX Work

This is another multi-select field that defines what work is expected to be done by potential vendors. The data-wrangler doesn't always know enough to fill this out, so its certainly not a critical field, but for some smaller productions, it becomes a convenient way to keep everything in one place.

Default values include:

Enum fields

There are four Enumerated fields, where the values must be one of a known set of values.

Tk Clip Num

TODO: Need more details on this, is it relative to the Digital Roll, or relative to the beginning of a take?

File Exports

All per-slate file exports should be prefixed by the slate, followed by the camera-letter. All whitespace should be removed from both the slate and “camera letter”.

The format should look like:

SLATE-CAMERALETTER.pdf

SLATE-CAMERALETTER-reference-1.jpg

e.g.:

22ac-A.pdf

22ac-A-reference-1.jpg

22ac-A-reference-2.jpg

Reading with Python

The file can be read using python with the following script:

import csv

filename = "camera_report_export-2013-9-22-18-26.csv"

slates = []

lastslate = None

with open(filename, 'rU') as source:

    csvDict = csv.DictReader(source)

    data = [row for row in csvDict]

for row in data:

    if lastslate != row["SlatesUUID"]:

        lastslate = row["SlatesUUID"]

        slateinfo = dict([(field, row[field].replace("\x0b", "\n")) for field in row.keys() \

if not field.startswith("Tk ")])

        slateinfo["takes"] = []

        slates.append(slateinfo)

    takeinfo = dict([(field, row[field]) for field in row.keys() if field.startswith("Tk ")])

    slates[-1]["takes"].append(takeinfo)

This should give you a data structure with slates just containing all the slates, and all the takes in their associated slate records, in a “takes” array, e.g.:

slates[0][“takes”] have all the takes for the first record.

v0.9c                                                                                                        9/25/2013