WebVfx implements producer, filter and transition plugin services for the MLT Framework. The MLT service ID is webvfx
and the service argument or resource
property is the path to the HTML or QML effect implementation.
MLT services are implemented as WebVfx effects - see Effects Authoring. The pathname to the HTML or QML effects implementation can be provided as the service contructor argument, or specified using the resource
property. e.g.
WebVfx also provides an image producer that implements a pan and zoom effect. This is similar to the MLT affine
filter, but more efficient. The MLT service ID is webvfx.panzoom
and the resource
property is the source image to load. The geometry
property holds the MLT geometry keyframe specifications.
Effects that use extra images (i.e. that register webvfx.ExtraImageType
image names) accept an additional set of attributes of the form: producer.name.producer_attribute.
webvfx.ExtraImageType
. resource
attribute must be specified. in
and out
can also be specified (e.g. to extract a single frame from a video). e.g. for an extra image named "foobar"
we might have: The example demo/examples/transition-demo.html transition uses an extra image named "backgroundImage"
:
The melt script example demo/mlt/mlt_transition_demo_html specifies the producer.backgroundImage.resource
attribute for the transition:
A set of bash scripts are provided to run melt with the sample effects. These are located in the demo/mlt
directory and should be run in that directory. They are configurable through VFX_
prefixed environment variables. e.g. to run the mlt_transition_demo_html
script, you can change the default source and target videos using VFX_SOURCE
and VFX_TARGET
.
The demos default to using the SDL consumer, this can be changed to the avformat consumer by setting VFX_CONSUMER=consumer_av
and setting VFX_OUTPUT
to the path of the output QuickTime movie file to be created.
On MacOS, you will need to build qmelt
and set VFX_MELT=qmelt
to run the demos.