4.1 KiB
VfxApply Presets Documentation
Preset keys
Common keys
| Key | Type | Description
|------.------------|----------------|-------------------------------------------
| preset/name
| String | A description string for this preset
| preset/group
| String|Null | Logical grouping
| preset/plugin
| String | The id of the plugin this preset is for
| preset/props
| Array | Properties used by the plugin
| preset/params
| Array|Null | Parameters for tweaking
Properties
ffmpeg
Property | Type | Description |
---|---|---|
filter |
String | The filter string, with optional param placeholders |
extra |
*String | Null* |
type |
*Enum | Null* |
natron
| Property | Type | Description
|------.------------|--------------------|-------------------------------------------
| project
| String | Natron project file name
| input
| String|Int|Null | Extra options to pass on the ffmpeg command line
| output
| String|Int|Null | ffmpeg filter type; One of complex
, audio
or video
| framescale
| Float | Ratio of output frames to input files, 2.0=twice as many out as in=half speed
executor
| Property | Type | Description
|------.------------|--------------------|-------------------------------------------
| set
| Array | Define variables
| script
| Array | Define commands
| set/%/value
| String | Set variable % to value.
| set/%/escape
| Bool | If true, the resulting vriable will be escaped
| script/%/info
| String | Info about what this step is doing
| script/%/exec
| String | Command to execute
| script/%/parse
| Map | Parse output from command, see docs for plugin
Parameters
All parameters must specify label
and type
. The remaining keys are depending on the
type of parameter.
float
Float parameters need to specify min
, max
, default
and optionally step
.
Examples
ffmpeg
preset:
name: Normalize audio level
group: ffmpeg/audio
plugin: ffmpeg
props:
filter: "dynaudnorm=m={maxgain}:s={compress}"
extra: "-c:v copy"
type: complex
params:
compress: { label:"Compression factor", type:float, min:0.0, max:30.0, default:0.0 }
maxgain: { label:"Max gain factor", type:float, min:0.0, max:100.0, default:10.0 }
natron
preset:
name: Apply a CCTV look to the video
group: natron
plugin: natron
props:
project: natron-cctv.ntp
reader: Reader1
writer: Writer1
executor
preset:
name: Stabilize video clip (two-pass)
group: video
plugin: executor
props:
set:
inputtrf: { value:"{%uinput}.trf", escape:true }
script:
analyze:
info: Getting stabilization vectors
exec: "transcode -i {%input} -J stabilize"
parse:
from: 'stderr'
regex: '/encoding frames \[0-([0-9]+?)\],\s+([0-9\.]+?) fps/'
frame:1
eta:2
stabilize:
info: Stabilizing video
exec: "transcode -i {%input} -o {%output} -J transform -y xvid"
parse:
from: 'stderr'
regex: '/encoding frames \[0-([0-9]+?)\],\s+([0-9\.]+?) fps/'
frame:1
eta:2
cleanup:
exec: "rm {%inputtrf}"