Each entry represents one library. A library can be seen as a collection of many elements.
You can have multiple libraries.
elements library: for fire, smoke, …
(client-) references for a project
matte painting 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 (
display name of the library in the application
set the root location for the library data
database that contains a data for this library
link the transcoding templates to the specific template types
main: main template for the library element (required)
extra: additional transcoding tasks to run during ingest time or re-rendering for elements
path patterns that you want to add/overwrite
templates for different tasks (transcoding, copy …)
Here you can overwrite path patterns from the global section. You can also add new ones.
Here you can overwrite the custom values from the global section. You also can add new ones.
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.
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.
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:
library values (will overwrite global values)
finally the transcoding values (will overwrite both global and library values)
Define your transcoding task here.
The differnt task styles are:
no operation, do nothing
Copies from the source path to the output path
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:
The width of the filmstrip is calculated based on the given parameters. Every frame has a fixed pixel aspect ratio of 16:9
Create a thumbnail
use FFmpeg to transcode the source file(s)
Run your custom command
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.
You can access all Path Pattern and Path values by adding the
<> (less-than sign) around them.
path of the new output
path to the source file
name of file with frame padding
base name of the file without extension and frame padding
source path file extension
Copy source file to element 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"
The python script could look something like this:
import sys import shutil def main( *args ): source_path = args new_element_path = args shutil.copy2(source_path, new_element_path) if __name__ == '__main__': main(sys.argv[1:])