The easiest way to try out and learn MLT is by downloading
Shotcut.
You can download it from GitHub.
The highlights of this version are expanded compatibility and capabilities for OpenFX plugins and a new audio noise reduction filter and link.
win32_fopen().mlt_properties.ante & post properties in mlc_consumer.metaschema.yaml (new version 7.2):
audio_formatsvideo_formatslayout-hinthide-labelnormalized_defaultaudio_formats and image_formats properties to all service metadata.openfx module:
snprintf() callsmlt_rect)choice (values in metaschema.yaml) parametersrnnoise module for background audio noise reduction (depends on librnnoise).decklink consumer:
hdr_red_xhdr_red_yhdr_green_xhdr_green_yhdr_blue_xhdr_blue_yhdr_white_xhdr_white_yhdr_max_luminancehdr_min_luminancehdr_max_cllhdr_max_fall.lot file name extension for the loader producer to use glaxnimate.qtblend filter and transition.spatialaudio module to the libspatialaudio 0.4.0 API.pgm producer.kdenlivetitle producer and frei0r, plusgpl, jackrack, openfx, rtaudio, & resample modules.decklink consumer.frame_duration in avformat consumer.avformat consumer with unsupported attached_pic format.vst2 filters on macOS.consumer producer.vorbis producer.typewriter in qtext filter lags when rate properties changed.melt.You can download it from GitHub.
The highlights of this version are basic, minimal support for OpenFX plugins and hardware scaling for preview scaling with hwaccel decoding.
mlt_properties for better performance.mlt_pool.mlt_properties.getTime())hwaccel_scale filter with preview scaling (scale_vaapi, scale_vulkan, scale_d3d11, scale_vt (macOS)).MLT_AVFORMAT_HWACCEL_PPS to provide a
limiter to hwaccel because transfering uncompressed video between memory
CPU and GPU memory is heavy.
PPS = maximum pixels per second. Anything over it skips hwaccel.lut parameter to avformat producer.attached_pic property to avformat consumer.movit.overlay_blend video filter.compositing property to movit.overlay transition.mix audio transition.rect in kdenlivetitle.subtitle filter.text and qtext filters.qtext style property to support family named styles.qtblend.kdenlivetitle.QImage scaling when downscaling in qtblend.obscure and watermark filters.avformat no-validate mode.linearblend deinterlacer.movit linear color not matching CPU filters.multi consumer making extra linear color conversions.qtblend filter returning unexpectedly large frames.qtext outline encroaching on fill color.eof=loop in Glaxnimate.brightness filter on track below a clip with transparency.melt.You can download it from GitHub.
This version adds image processing in linear color on the CPU (previously only Movit). Plus, it extends 10-bit video processing on the CPU to many more services.
mlt_image_default_colorspace()mlt_image_default_trc()mlt_image_default_primaries()mlt_color_convert_trc()mlt_consumer property mlt_color_trc to drive a new
color_transform normalizer filter. This sets the color transfer
function to use for image/video effects. It is beneficial and
correct to use linear color for any pixel mixing whether for blending
or interpolation.atexit(mlt_factory_close) in mlt_factory_init(). Close the
factory yourself if you feel the need to (not generally needed when
exiting a process).mlt_service_connect_producer().mlt_profile_is_valid() and Mlt::Profile::is_valid().mlt_consumer_start()mlt_factory_producer()xml producerluma transition’s dissolve (regression in v7.34.0).decklink consumer (regression in v7.34.0).avformat consumer.hwaccel=vulkan to the avformat producer.color_transform normalizer filter to the core module to convert
all image/video producers to and from linear color. It is abstract in the
core module and drives the following filters:
avfilter.zscalesws_colortransformavfilter.scalesws_colortransform that is more efficient than avfilter.swscale
but requires FFmpeg 8.null consumer:
real_time: -1terminate_on_pause: 1luma and movit.luma transitions to progress linearly with
linear color_trc.xml-clip producer.mlt_image_rgba64 format to:
avcolor_space filteravdeinterlace filteraffine filter and transitionaudiolevelgraph filteraudiospectrum filteraudiowaveform filterautofade filteravformat producer and consumersbox_blur filterbrightness filterpillar_echo filtercolor producerdropshadow filterdynamictext filter (when used with qtext)frei0r.alpha0ps filterfrei0r.alphagrad filterfrei0r.alphaspot filterfrei0r.bluescreen0r filterfrei0r.select0r filterfrei0r.transparency filtergpsgraphic filtergpstext filtergradientmap filterhslprimaries filterhslrange filterkdenlivetitle producerlift_gamma_gain filterlightshow filtermask_apply (when used with qtblend)movit.convert filteroutline filterqtblend filter and transitionqtcrop filterqtext producershape filterspot_remover filterstrobe filtersubtitle filter (when used with qtext)swscale filtertext filter (when used with qtext)timeremap linktimer filter (when used with qtext)vqm transitionmask_apply filter default transition to qtblend.alpha property on the brightness filter
so that you can increase the opacity of an existing alpha channel.gpsgraphic filter.avformat producer.avformat presets.win32/strptime.c and replaced with Qt functions.melt usage on error exit.You can download it from GitHub.
This versions adds 10-bit video processing on the CPU, but you must ensure you are using compatible filters and transitions.
mlt_image_rgba64 format. This change touched core, avformat, and qt modules as well.mlt_color_trc, mlt_color_primaries, and more mlt_colorspaces along with functions:
mlt_image_color_trc_namemlt_image_color_trc_idmlt_image_colorspace_namemlt_image_colorspace_idmlt_image_color_pri_namemlt_image_color_pri_idcppcheck.luma transition.affine filter and transition.qtblend transition.avformat module.panner filter for 5.1 channel layout.avformat producer (regression in v7.30.0).kdenlivetitle producer.mask_apply filter with custom transition.input_chmask & output_chmask properties to mono filter.channel_mask property to LADSPA/LV2/VST2 filters.channel_mask to the volume filter.outline video filter.% in the name in qimage producer.decklink consumer.& not decoded to & in the xml producer.avformat module.ladspa module without JACK as dependency.jackrack and ladspa modules.qtblend_mode.qtblend.avformat producer.opencv_tracker filter on cut playlist clips.avfilters that use it (e.g. avfilter.colorspace).qtext filter.avformat producer.melt now exits with 1 if the producer is invalid.melt.-progress2 option for melt.find_package().libgen.c and libgen.h for MSVC.You can download it from GitHub.
mlt_service_set_consumer() and `Mlt::Service::set_consumer().mlt_multitrack to not request a frame from a producer that is
both hidden and muted.avformat producer.yuva422p pixel format in avformat producer.MLT_AVFORMAT_HWACCEL & MLT_AVFORMAT_HWACCEL_DEVICE environment
variables to avformat producer.decklink module for recent hardware and drivers.colorspace and color_trc (including HDR) properties to the
decklink consumer.decklink consumer.decklink consumer.kdenlivetitle producer.movit module.movit module (requires ddennedy/movit fork).opencv_tracker filter should require multiple keyframes to be ready.rect <= 1 pixel in opencv_tracker filter.qtblend filter and transition.QT_QPA_PLATFORM=offscreen not working in qt and glaxnimate modules.qtblend filter.qtblend filters or transitions.sdl2 consumer on macOS.strobe filter not working with movit.timeremap link with movit.channels) missing on qglsl consumer
injected by the xml producer.