| CARVIEW |
Select Language
HTTP/2 200
content-type: text/html; charset=utf-8
content-length: 8617
server: GitHub.com
x-origin-cache: HIT
last-modified: Tue, 06 Jan 2026 17:44:54 GMT
access-control-allow-origin: *
content-encoding: gzip
x-proxy-cache: MISS
x-github-request-id: 2EA6:3AC0E8:136C45:16A62B:696BAB1D
accept-ranges: bytes
via: 1.1 varnish, 1.1 a49f020132dfafabe09a4d42b8bfbc4c.cloudfront.net (CloudFront)
x-served-by: cache-bom-vanm7210070-BOM
x-fastly-request-id: 72be85895879d31f22d756da1220c68855893195
x-cache-hits: 0
x-timer: S1768663838.289372,VS0,VE223
date: Sat, 17 Jan 2026 22:42:42 GMT
cache-control: max-age=600
expires: Sat, 17 Jan 2026 21:17:54 GMT
etag: W/"695d4a16-a432"
vary: Accept-Encoding
x-cache: RefreshHit from cloudfront
x-amz-cf-pop: BLR50-P4
x-amz-cf-id: K-QJBsgXjlHUOP6zzV5tY4Ouuf_EIoZFdFZxUuIFxxZIX6rudcWy7w==
MLT - Home
Download source code.
MLT Multimedia Framework
Author, manage, and run multitrack audio/video compositions.
The engine of a non-linear video editor that can be used in all sorts of apps, not just desktop video editors.
MLT is an open source multimedia framework, designed and developed for television broadcasting. It provides a toolkit for broadcasters, video editors, media players, transcoders, web streamers and many more types of applications. The functionality of the system is provided via an assortment of ready to use tools, XML authoring components, and an extensible plug-in based API.
Download source code.
The easiest way to try out and learn MLT is by downloading
Shotcut.
Recent News
v7.36.0 released
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.
Framework
- Added
mlt_image_default_colorspace() - Added
mlt_image_default_trc() - Added
mlt_image_default_primaries() - Added
mlt_color_convert_trc() - Added the
mlt_consumerpropertymlt_color_trcto drive a newcolor_transformnormalizer 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. - Removed
atexit(mlt_factory_close)inmlt_factory_init(). Close the factory yourself if you feel the need to (not generally needed when exiting a process). - Prevent possible crash in
mlt_service_connect_producer(). - Added
mlt_profile_is_valid()andMlt::Profile::is_valid(). - Fixed crash on invalid profile (CVE-2025-65834) in:
mlt_consumer_start()mlt_factory_producer()xmlproducer
Modules
- Drop support for Qt 5.
- Fixed bad color in
lumatransition’s dissolve (regression in v7.34.0). - Fixed HLG HDR broken in
decklinkconsumer (regression in v7.34.0). - Fixed warnings when flushing audio in the
avformatconsumer. - Added support for
hwaccel=vulkanto theavformatproducer. - Added a
color_transformnormalizer 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.scale
- Added filter
sws_colortransformthat is more efficient thanavfilter.swscalebut requires FFmpeg 8. - Changed the default property values of the
nullconsumer:real_time: -1terminate_on_pause: 1
- Changed the
lumaandmovit.lumatransitions to progress linearly with linearcolor_trc. - Fixed the alpha channel dropped by the
xml-clipproducer. - Added
mlt_image_rgba64format to:avcolor_spacefilteravdeinterlacefilteraffinefilter and transitionaudiolevelgraphfilteraudiospectrumfilteraudiowaveformfilterautofadefilteravformatproducer and consumersbox_blurfilterbrightnessfilterpillar_echofiltercolorproducerdropshadowfilterdynamictextfilter (when used withqtext)frei0r.alpha0psfilterfrei0r.alphagradfilterfrei0r.alphaspotfilterfrei0r.bluescreen0rfilterfrei0r.select0rfilterfrei0r.transparencyfiltergpsgraphicfiltergpstextfiltergradientmapfilterhslprimariesfilterhslrangefilterkdenlivetitleproducerlift_gamma_gainfilterlightshowfiltermask_apply(when used withqtblend)movit.convertfilteroutlinefilterqtblendfilter and transitionqtcropfilterqtextproducershapefilterspot_removerfilterstrobefiltersubtitlefilter (when used withqtext)swscalefiltertextfilter (when used withqtext)timeremaplinktimerfilter (when used withqtext)vqmtransition
- Changed the
mask_applyfilter default transition toqtblend. - Removed the maximum for the
alphaproperty on thebrightnessfilter so that you can increase the opacity of an existing alpha channel. - Fixed background image scaling in the
gpsgraphicfilter. - Fix audio artifacts with pcm_s24le in mkv in
avformatproducer.
Other
- Removed bitrate and quality limits in the vp9 and webm
avformatpresets. - Fixed melt on Windows not reading file path/name with extended characters (regression in v7.34.0).
- Fixed building the ruby bindings with Ruby 3.0.
- More fixes for MSVC.
- Removed
win32/strptime.cand replaced with Qt functions. - Stop showing
meltusage on error exit.
v7.34.0 released
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.
Framework
- Added
mlt_image_rgba64format. This change touched core, avformat, and qt modules as well. - Added
mlt_color_trc,mlt_color_primaries, and moremlt_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_id
- Fixed some minor memory leaks with
cppcheck.
Modules
- Added rgba and rgba64 formats to the
lumatransition. - Added rgba64 format to
affinefilter and transition. - Added rgba64 format to the
qtblendtransition. - Added support for FFmpeg 8 to the
avformatmodule. - Fixed audio
pannerfilter for 5.1 channel layout. - Fixed converting 10-bit full to limited range in
avformatproducer (regression in v7.30.0). - Fixed shadow not working for multi-line template titles in
kdenlivetitleproducer. - Fixed
mask_applyfilter with custom transition. - Added
input_chmask&output_chmaskproperties tomonofilter. - Added
channel_maskproperty to LADSPA/LV2/VST2 filters. - Added
channel_maskto thevolumefilter. - Added an
outlinevideo filter. - Fixed a deadlock on image with a
%in the name inqimageproducer. - Added scrubbing to the
decklinkconsumer. - Fixed
&not decoded to&in thexmlproducer. - Fixed converting BT.709 to BT.2020 in the
avformatmodule. - Fixed building a
ladspamodule without JACK as dependency. - Deprecate a JACK Rack XML file in the
jackrackandladspamodules. - Added filter
qtblend_mode. - Fixed incorrect alpha channel breaking optimization of
qtblend. - Fixed pixel format gbrap (Ut Video with alpha channel) in the
avformatproducer. - Fixed
opencv_trackerfilter on cut playlist clips. - Fixed warning about missing color range for
avfilters that use it (e.g.avfilter.colorspace). - Added typewriter properties to the
qtextfilter. - Fixed color distortion or a crash if using hwaccel with orientation rotation in
avformatproducer.
Other
- Enable Qt 6 and disable Qt 5 modules in CMake by default.
- Disable the SDL1 module in CMake by default.
- Changed
meltnow exits with 1 if the producer is invalid. - Various changes to work with MSVC compiler.
- Changed SVT-AV1 encode presets to VBR for Opus audio.
- Fixed initializing Qt on the main thread in
melt. - Documented the
-progress2option formelt. - Increased the minimum C++ version to C++20.
- Converted many modules to use CMake
find_package(). - Added
libgen.candlibgen.hfor MSVC.
v7.32.0 released
You can download it from GitHub.
Framework
- Added
mlt_service_set_consumer()and `Mlt::Service::set_consumer(). - Optimized
mlt_multitrackto not request a frame from a producer that is both hidden and muted.
Modules
- Fixed pixel format for VP8/VP9 streams in
avformatproducer. - Fixed
yuva422ppixel format inavformatproducer. - Added
MLT_AVFORMAT_HWACCEL&MLT_AVFORMAT_HWACCEL_DEVICEenvironment variables toavformatproducer. - Updated
decklinkmodule for recent hardware and drivers. - Added
colorspaceandcolor_trc(including HDR) properties to thedecklinkconsumer. - Fixed silencing extra audio channel (e.g. 6 => 8) in
decklinkconsumer. - Fixed 5.1 C/LFE channels swapped over HDMI in
decklinkconsumer. - Fixed text outline had sharp angles in
kdenlivetitleproducer. - Fixed default gamma to be Rec. 709 for 10-bit Y’CbCr from
movitmodule. - Added support for HLG gamma to
movitmodule (requires ddennedy/movit fork). - Fixed
opencv_trackerfilter should require multiple keyframes to be ready. - Fixed OpenCV crash on
rect<= 1 pixel inopencv_trackerfilter. - Fixed aspect ratio in
qtblendfilter and transition. - Fixed
QT_QPA_PLATFORM=offscreennot working in qt and glaxnimate modules. - Improved preview scaling in
qtblendfilter. - Fixed requesting huge images on multiple
qtblendfilters or transitions. - Fixed
sdl2consumer on macOS. - Fixed the
strobefilter not working withmovit. - Fixed color and gamma using
timeremaplink withmovit. - Fixed consumer properties (e.g.
channels) missing onqglslconsumer injected by thexmlproducer.
v7.30.0 released
You can download it from GitHub.
Framework
- Fixed
Mlt::Producer::set_creation_time()not exported on i686. - Fixed
Mlt::Properties::set(int64_t)symbol version. - Fixed
mlt_factory_init()on Linux/BSD may fail to initialize when compiled with-DRELOCATABLE. - Added generic non-drop-frame timecode in
mlt_property.c. Previously, it was only done for 30000/1001 and 60000/1001 frame rates, but 24000/1001 is especially important as well. - Added support for MLT XML embedded in chains.
This, along with
xml-clipproducer handles mismatching frame rate between parent and child producers and facilites time-affecting links on the child. - Added
mlt_image_full_range(const char *color_range)where any of the following strings return true (1):full,jpeg,pc.
Modules
- Added
xml-clipproducer. - Fixed link
inandoutproperties arenot serialized in thexmlconsumer. - Added
hslprimariesandhslrangefilters to theplusmodule. - Added a
gradientmapfilter to theplusmodule. - Fixed
avfilteraudio filters with FFmpeg 7. - Fixed incorrect frame rate for AVCHD (and possibly others) in
avformat. - Fixed
window_idproperty in consumersdl2by usingSDL_CreateWindowFrom(), especially important for embedding in GTK+ or Qt. - Fixed text not rendering in transition
vqmsince Qt 6. - Added
decimalskeyword togpstextfilter and moveRAWkeyword check. - Fixed
time_offsetproperty handling ingpstextfilter. - Fixed reading and writing SRT files with unicode in the path.
- Fixed
subtitle_feedfilter on producers with an in point > 0. - Fixed opaque alpha channels become translucent in
lumatransition. - Fixed a crash in the
mixtransition withconsumerproducer. - Fixed
freezefilter freezing too much. - Fixed
avfilter.fillborderswith preview scaling. - Fixed non-proportional scaling in
qtblendtransition and filter. - Fixed
avfiltercolor distortion withmlt_image_rgbandmlt_image_rgba. - Extended support for
colorspace=2020consumer property and the BT.2020 colorspace in theavformatproducer and consumer. This does not imply HDR, which is signaled through acolor_trcproperty. - Added support for
mlt_image_yuv420p10,mlt_image_yuv444p10, andmlt_image_yuv422p16inavfilter,swscale, andrescalefilters. This facilitates using these pixel formats end-to-end when using only FFmpeg producers, certain avfilters, andavformatconsumer. This means it is possible to do 10-bit end-to-end on the CPU when being careful to select compatible components and options to avoid conversions. One can pass-through HDR; however, you must set thecolor_trcandpix_fmtproperties on theavformatconsumer (seeffmpeg -h fullfor these values). Theavformatconsumer automatically converts MLTcolorspace(integer value) to FFmpeg’scolorspaceandcolor_primaries(unless explicit) options.
Other
- Cleaned up the examples in
src/swig. - Changed the
x264-mediumpreset to a higher quality.
v7.28.0 released
You can download it from GitHub.
This fixes a couple of major regressions in the previous version 7.26.0:
- Fixed seeking and frozen video due by reverting “Improved performance with intra-only video and reducing the frame rate.”
- Fixed using
meltto render MLT XML with OpenGL effects frommovit.
Other fixes and changes:
- Deprecated the
compositetransition and thesdlandndimodules. - Fixed Android camera video has the wrong frame rate (broken in v7.26.0).
- Fixed audio not playing for audio-only DTS WMA.
- Fixed using “https:” URLs in the
xmlproducer. - Fixed crash on exit when running
melt -queryormelt -query links. - Added a
transitionproperty to thewatermarkfilter. Now, it defaults to usingaffine. - Changed
affinetransition argument to setrectproperty if supplied.
About
MLT enables you to author, manage, and run multitrack audio/video compositions. Copyright © 2008-2026 by Meltytech, LLC.
