Production Environment Intro / Project 1
February 13, 2023
Professor Chaja
Post Production
Who?
What?
Where?
When?
Why?
Example Facility
Data Room
Server
Room
Color Bay 3
Conform Assists Color Bay 1 Color Bay 2
IT
Reception
Client Services
Producers
Operations
Editing / VFX
Example Facility
Operations
– Manager of facility
– Control of staff
– Hiring Manager
– Deals with financing
– Decision maker
– Usually stressed out of their mind
Example Facility
Producers
– In charge of projects
– Deals with total budget of that specific project
– Uses scheduling/budget software Xytech
Example Facility
Conform
– Puts media together into “Reels”
– Make sure everything looks nice and
neat
– Versioning
– Use software like Avid Media Composer
Example Facility
Assists
– Do the grunt work for the main colorists
– Training to be a colorist
– Works with the facility, so colorist
doesn’t have to
– Use Filmlight Baselight or Black
Magic Resolve
Example Facility
Color Bay 3
Color Bay 1 Color Bay 2
– Do the main work in facility
– Many times are locked with a client
Example Facility
Reception
Client Services
– Clients are divas, and literally need
catering to
– Clients could be locked in the room
with a colorist for 10-15 hours
Example Facility
Data Room
– Controls input/output of data
– “data wranglers”
– Mainly script kiddies
Example Facility
Server
Room
– Houses “on prem” data
– Mix gear of storage, PC’s and post gear
Example Facility
Editing / VFX
– VFX work via Maya/Nuke/Flame
– Dirt scratch fixing with MTI Cortex (shown)
Example Facility
IT
Poor souls
Problem? Time+Money = sadge
Data Room
Server
Room
Color Bay 3
Conform Assists Color Bay 1
Color Bay 2 |
IT |
Editing / VFX |
Reception
Client Services
Producers
Operations
Solution
Data Room
Server
Room
Color Bay 3
Conform Assists Color Bay 1 Color Bay 2
IT
Script
Producers
Operations
Editing / VFX
Project 1: Overview
Finding frame scratches/dirt from scanning and needing to get them corrected
Script is going automate a bunch of tasks:
Assist in Color Bay marking shots (4-8 hours, $1500 per hour for room, $100 hour operator)
Verifying shots in file system (1-4 hours, $100 hour operator, $25 hour data op)
Producer with a work order with correct files that need fixing (1 hour $50 hour producer)
Edit/VFX receives a CSV with correct files (1 hour $90 hour specialist)
Script is run daily, save company 3k-10k per usage
Timeline: user can “mark” frames for note
Project: Overview
Project 1: import/export script
– Import file created from baselight (Baselight_export.txt)
– Import xytech work order (Xytech.txt)
– Script will parse data
– Computation done to match shareholder request, to replace file system from local baselight to facility
storage (remember color correcter’s prefer local storage for bandwidth issues)
– Export CSV file (‘/’ indicates columns):
– Line 1: Producer / Operator / job /notes
– Line 4: show location / frames to fix
– Frames in consecutive order shown as ranges
Project: example
Xytech:
/ddnsan2/avengers/reel1/1920×1080
Baselight_export:
/images1/avengers/reel1/1920×1080 10 11 12 13 19 23 24
/ddnsan2/avengers/reel1/1920×1080 | 10-13 |
/ddnsan2/avengers/reel1/1920×1080 | 19 |
/ddnsan2/avengers/reel1/1920×1080 | 23-24 |
Projects Prelims: Overview
– All Projects done in Python
– You are all Seniors and should be able to adapt to new languages. Start with a beginning
tutorial on Python for setup. Then move to ingesting a log file and be able to read/parse
contents. Finally practice exporting different contents of that data
– All projects needs to be crash proof (use argparse)
– Modules for XML use and 3rd party API will be used
– A single script
Project: why argparse?
– All projects needs to be crash proof (use argparse) ex: thisscript.py –job shrek –verbose
#Parse arguments for job
parser = argparse.ArgumentParser()
parser.add_argument(“–job”, dest=”jobFolder”, help=”job to process”)
parser.add_argument(“–verbose”, action=”store_true”, help=”show verbose”)
parser.add_argument(“–TC”, dest=”timecode”, help=”Timecode to process”)
args = parser.parse_args()
if args.jobFolder is None:
print “No job selected”
sys.exit(2)
else:
job = args.jobFolder
if args.timecode:
timecodeTC = args.timecode
Take Aways
Learn fundamentals of basic facility
Learn common post production workflow
Show problem areas
How a developer can assist
Weekly Update Question:
*Weekly report for week (Feb 12 Midnight due date)*
-Create a file called “ingest_this.txt”
-type the following in:
This script
Is completely awesome
Like professor chaja
– Import file and print on the console and replace every vowel with the number ‘9’
ex: “This” would be “Th9s”
– Show code and console output in submission (copy/paste) is fine