The easiest way to try out and learn MLT is by downloading
Shotcut.
You can download it from GitHub.
The highlight of this release is support animation easing functions via new keyframe types. Also, new versions of the smooth keyframe type is added that avoids overshoots and cusps.
mlt_property_is_color()mlt_property_is_numeric()mlt_property_is_rect()mlt_keyframe_smooth_loose - ~= (same as old mlt_keyframe_smooth - Unity Catmull-Rom spline)mlt_keyframe_smooth_natural - $= (Centripetal Catmull-Rom spline with natural slope)mlt_keyframe_smooth_tight - -= (Centripetal Catmull-Rom spline with 0 slope)mlt_keyframe_sinusoidal_in - a=mlt_keyframe_sinusoidal_out - b=mlt_keyframe_sinusoidal_in_out - c=mlt_keyframe_quadratic_in - d=mlt_keyframe_quadratic_out - e=mlt_keyframe_quadratic_in_out - f=mlt_keyframe_cubic_in - g=mlt_keyframe_cubic_out - h=mlt_keyframe_cubic_in_out - i=mlt_keyframe_quartic_in - j=mlt_keyframe_quartic_out - k=mlt_keyframe_quartic_in_out - l=mlt_keyframe_quintic_in - m=mlt_keyframe_quintic_out - n=mlt_keyframe_quintic_in_out - o=mlt_keyframe_exponential_in - p=mlt_keyframe_exponential_out - q=mlt_keyframe_exponential_in_out - r=mlt_keyframe_circular_in - s=mlt_keyframe_circular_out - t=mlt_keyframe_circular_in_out - u=mlt_keyframe_back_in - v=mlt_keyframe_back_out - w=mlt_keyframe_back_in_out - x=mlt_keyframe_elastic_in - y=mlt_keyframe_elastic_out - z=mlt_keyframe_elastic_in_out - A=mlt_keyframe_bounce_in - B=mlt_keyframe_bounce_out - C=mlt_keyframe_bounce_in_out - D=mlt_service_transition in Mlt::Producer() C++
constructor.rotoscoping filter crash on image with height = 0.qtblend transition requesting an image of 0 width or
height.rtaudio consumer.createdate keyword deletes preceeding text in dynamictext filter.opacity property to filters that use qtext:
dynamictextgpstextqtexttimerfade_video, fade_audio, and fade_color properties to autofade
filter.frei0r.measure_pr0befrei0r.measure_pr0filefrei0r.tehroxx0rfrei0r.alpha0ps_alpha0psfrei0r.alpha0ps_alphagradfrei0r.alpha0ps_alphaspotfrei0r.denoise_hqdn3davformat producer with consumer deinterlacer=yadif.qimage producer color if consumer color_range=pc pix_fmt=yuv444p.ten_bit/ProRes 422 avformat preset produced ProRes 444.YouTube avformat preset did not output high profile with some
hardware encoders.You can download it from GitHub.
mlt_color transparent black as “#00000000” when the property was set using an integer or mlt_color.mlt_chain_set_source() would always fetch a frame from the producer even if it has “meta.media.frame_rate_num” and “meta.media.frame_rate_den” properties making things slow.Mlt::Chain leaking memory.blank producer to the core module.gpstext filter:
#gps_cadence##gps_grade_degrees##gps_grade_percentage##gps_temperature#color_styles to the gpsgraphic filter:
legend_unit property of gpsgraphic filter:
mmin or m/minftmin or ft/mindynamictext filter:
#basename##filename#filter_audioseam.yml.avlink link to the avformat module for FFmpeg filters that can benefit from future frames such as adeclick.preserve_alpha property to the box_blur filter.qt6 and glaxnimate-qt6 modules.rotate property in avformat producer with interlace video.astream and vstream properties to avformat producer. Unlike audio_index and video_index are absolute indices across the entire array of streams regardless their type, these new 0-based properties are relative to the type audio or video. For example, astream=1 is the second audio stream.avformat producer’s mlt_producer_probe virtual function.glaxnimate module to version 0.5.4.sdl2 consumer crashing with the Linux radeonsi_dri driver and showing only all black with the Linux nvidia driver.avformat consumer FLAC preset to use the flac format.melt Shift+H and Shift+L keyboard shortcuts when the SDL2 window has focus.You can download it from GitHub.
mlt_audio_free_data().meta.playlist.clip_position and meta.playlist.clip_length properties to mlt_playlist.mlt_frame_get_audio fails on mlt_audio_none.audioseamautofadevidstab filter on image format change.qtext filter on Qt 6.rescale filter.kdenlivetitle producer.count producer.frei0r module.deinterlace link was added to invalid producer in xml producer.kdenlivetitlepangoqimageqtextavformat producers that only indicate
on their container format and not on frames such as Ut Video in Matroska.qimage producer on Qt 6.speed_map in timeremap link.movit module.avformat producer’s deallocation function for AVCodecContext.qtblend and frei0r.cairoblend transitions.avformat producer seek_threshold default to 64.ebur128 filter to version 1.2.6.You can download it from GitHub.
chain_normalizers.ini to the data directory.mlt_deinterlacer_name()mlt_deinterlacer_id()mlt_link_filter_init()mlt_link_filter_metadata()mlt_cache_put_frame_audio()mlt_cache_put_frame_image()mlt_frame_clone_audio()mlt_frame_clone_image()mlt_link_filter_init().mlt_deinterlacer with:
mlt_deinterlacer_nonemlt_deinterlacer_onefieldmlt_deinterlacer_linearblendmlt_deinterlacer_weavemlt_deinterlacer_bobmlt_deinterlacer_greedymlt_deinterlacer_yadif_nospatialmlt_deinterlacer_yadifmlt_deinterlacer_bwdifmlt_deinterlacer_estdifmlt_deinterlacer_invalidmlt_image_format:
mlt_image_yuv420p10mlt_image_yuv444p10mlt_consumer property prefill is greater than 1.mlt_events and mlt_consumer.mlt_frame_clone() with movit and the mask_start filter.swresample and resample linksmeltcount producerglaxnimate git submodule to version 0.5.3.avdeinterlace (default) and xine/deinterlace links.multi and qglsl consumers.movit.convert filter.avformat producer:
mlt_producer_probe().color_range or force_full_range sometimes not working.autorotate property not working with a chain.mute_on_pause property.kdenlivetitle producer.'movit.rect property animation.crop filter when mlt_image_yuv420p requested.audiolevelvolumeloudnessopencv.tracker filter.algo to the opencv.tracker filter.fix_background_alpha to the luma transition.-query links to melt command line.avformat consumer presets for 10-bit video:
clang-format target to CMake and reformatted all code.Debug
build type and gcc.You can download it from GitHub.
mlt_producer_probe()Mlt::Producer::probe()chain_loader.ini configuration data file:
mlt_chain_attach_normalizers()Mlt::Chain::attach_normalizers()locale_t to mlt_locale_t to avoid redefinition on some systems
(e.g. clang/llvm on win32).mlt_event_data_thread as documented.mlt_image_format_planes() for mlt_image_yuv420p.swresample link to the avformat module.resample link to the resample module.rotoscoping filter when request image size different than profile.timeremap link breaking crop filter.avformat producer when the video start time is
not 0.avformat producer.AVDISCARD_ALL on disinterested streams in avformat
producer.avformat producer.filtergraph property to the avformat producer.movit.convert’s CPU image converter in mlt_tractor and
mlt_frame_clone().movit module with mlt_chain.qtblend filter transform.movit.luma transition.qglsl consumer to use an OpenGL core profile version 3.2
context to make it compatible with recent Movit versions.glaxnimate git submodule to version 0.5.2.xml producer incorrectly adds a path prefix to a consumer
producer.opencv.tracker filter with mlt_chain.avformat consumer.speed_map property to the timeremap link.loader producer not injecting the consumer producer when a
xml producer changes the frame rate.consumer producer.loader-nogl producer to the core module based on loader but
prevents adding movit-based filters.count producer to take an optional string argument with the name
of a loader producer.yadif deinterlace not working in a mlt_chain.deinterlace filter methods on
x86-64 architecture.MOD_GLAXNIMATE_QT6.