Each entry represents one library. A library can be seen as a collection of many elements.

You can have multiple libraries.

For example:

  • elements library: for fire, smoke, …

  • (client-) references for a project

  • matte painting library

  • texture library

Each library exists of a library file (.lib) and a database. The library files are saved by default in a hidden folder .config in library root location.

The library file (.lib) contains the configuration of the library.
The database can either be a server based database (e.g. PostgreSQL) or a file base SQLite database (.db)

label

key

description

Library Name

name

display name of the library in the application

Library Root

root

set the root location for the library data
Set individual paths for each operating system

If you move your library data to another location, you only have to update this value and everything should be linked correctly

Database

database

database that contains a data for this library
For SQLite you can set individual paths for each operating system

Template mappings

template_mappings

link the transcoding templates to the specific template types

main: main template for the library element (required)
thumbnail: preview of the element (required)
filmstrip: quick preview for movie/sequence files (recommended for movie/sequences)

extra: additional transcoding tasks to run during ingest time or re-rendering for elements

Values

values

Patterns

patterns

path patterns that you want to add/overwrite

Transcoding templates

templates

templates for different tasks (transcoding, copy …)

Path Patterns

Here you can overwrite path patterns from the global section. You can also add new ones.

Path Values

Here you can overwrite the custom values from the global section. You also can add new ones.

Tip:
Add a path value called facility in the global section.
Add the custom value somewhere in the path pattern.

This way you can share the same folder structure and naming convention for all the libraries between all the sites. Here in the library section you overwrite the value with the name of your facility. This way you could sync the libraries between all your sites but still separating them into different folders.

Some companies use the IATA airport code to differentiate between their facilities.

Template Mappings

Group together transcoding templates to perform different combination of transcoding tasks.

By using the template mappings you can run different tasks during ingest time which can be dependent on the source file. Converting a movie file might needs different steps than a EXR sequence.

The templates mappings can be used e.g to run taks locally or on the render farm.

Tip: You don' want to move the source file?

To ingest a source file but keeps its original location, you can use the NoOp (No operation/ do nothing) task. It will register the file path to the database, but leave the file as it is.

Transcoding Templates

Create transcoding templates for managing tasks like copying a file, generate proxy formats or run a custom command.

Path Patterns & Values

Again, you can overwrite values and patterns from the library section. You can also add new ones.

The overwriting order is:

  • global values

  • library values (will overwrite global values)

  • finally the transcoding values (will overwrite both global and library values)

Transcoding Tasks

Define your transcoding task here.

The differnt task styles are:

task

description

NoOp

no operation, do nothing
This can be useful if you already created all your proxy files, but you still want to register the file paths in the database.

Copy File

Copies from the source path to the output path

Filmstrip

Creates a filmstrip with a certain amount of frames for a sequence. This task will only run for movie files and a sequence of images

frames: define how many frames the filmstrip contains (default: 24)
height: height in pixels (default: 270)

The width of the filmstrip is calculated based on the given parameters. Every frame has a fixed pixel aspect ratio of 16:9

Thumbnail

Create a thumbnail

width: width in pixels (default: 480)
height: height in pixels (default: 270)

To define which frame to use as the thumbnail frame: Settings → Global → Thumbnail Frame of Sequence

FFmpeg

use FFmpeg to transcode the source file(s)
There are several predefined FFmpeg presets

More comprehensive documentation will follow.

Custom Command

Run your custom command

For example:

exec C:/python.exe
params C:/my_script.py <source.path>

Custom Command Examples

The custom command can be useful to send render jobs to you render farm

Input the path to the executable (exec), e.g. Python interpreter and the parameters (params) to run your own scripts.

Exec: /some/path/python
Params: /other/path/send_to_farm.py <source.path>

You can access all Path Pattern and Path values by adding the <> (less-than sign) around them.

Examples

<path>

path of the new output
/my/library/file/path/fire-00001.%04d.exr

<path_source>
<source.path>

path to the source file
/some/path/to/my_file_sequence.%04d.exr

<source.name>

name of file with frame padding
my_file_sequence.%04d.exr

<source.basename>

base name of the file without extension and frame padding
my_file_sequence

<source.extension>

source path file extension
exr


Copy source file to element path

Exec: cp params: <source.path> <path>

This will only work for single files like movie files
The cp (for Linux)/copy (for Windows) command can’t copy files sequences


Send Python Job to Deadline renderfarm

# Exec:
/opt/Thinkbox/Deadline10/bin/deadlinecommand

#Params:
-SubmitCommandLineJob -executable "/usr/bin/python" -arguments "/foo/bar/my_script.py <source.path> <path>" -frames 1 -chunksize 1 -name "das element"
CODE

The python script could look something like this:

import sys
import shutil

def main( *args ):
    source_path = args[0][0]
    new_element_path = args[0][1]
    shutil.copy2(source_path, new_element_path)

if __name__ == '__main__':
    main(sys.argv[1:])
PY