Qt is the main UI and app library (separate from the media engine) that Shotcut uses. This is the first major upgrade of it since Shotcut started over 10 years ago with Qt 5! (Some interim upgrades did feel major tho.) It was a lot of work, but as a result:
The Windows version now directly uses Direct3D 11 instead of OpenGL (or OpenGL converted to Direct3D) for drawing portions of the UI: Timeline, Keyframes, Filters, and the video player. This is faster, and we hope it improves compatibility.
The Windows version improves support for fractional display scaling in the system settings (e.g. 125% or 150%).
The macOS version now directly uses Metal (Apple’s GPU tech) instead of OpenGL for drawing portions of the UI (see above). It is faster.
The macOS app is now universal: compatible with both Intel and Apple Silicon CPUs (M1/M2) in the same app.
Some fixes for commonly reported Linux bugs like some images not rendering, visual controls not showing, and OpenSSL 3 compatibility. This also ought to improve things on Wayland.
There is now an ARM64 build of the Flatpak for Linux (but none of the core developers currently has a Linux/ARM system for testing and support).
Performance Improvements
Besides the performance improvements from Qt 6 above:
Some timeline optimization.
Additional multi-threading in audio/video file reading.
Faster preview for most video clips without filters.
GPU Effects
Settings > GPU Effects is back! We made several big fixes to improve its stability. Decoupling it from the OpenGL used for the UI and video display also helps. If you think its performance is not so great try it with Preview Scaling. GPU effects’ performance improvement mainly comes on systems with weak CPUs, with certain filters like Scale & Position, and when stacking filters and video tracks. It also works best when using only GPU filters.
GPU effects is not just about performance but also quality since it does all processing in linear color, which gives optimally colored blending and interpolation.
End-to-end support for 10-bit! For this to work, on 10-bit sources use only GPU filters. Nothing prevents you from adding CPU filters, but that will introduce an 8-bit down- and up-conversion into the pipeline. To add text, use a text clip using Open Other > Text as that is not a 10-bit video source.
Searching in Filters on “gpu” shows only/all GPU filters.
All previous limitations are removed and working now: text filters, video scopes, stabilization.
The Blend Mode video filter and track Properties option is not available because it is not yet implemented.
Rotation is not available in the Size & Position filter because that is not implemented yet.
Motion Tracker Video Filter
Added a Motion Tracker video filter. This is required to use motion tracking. It only does the preview and analysis and is not intended to include effects but rather drive other video filters…
Added a Load Keyframes from Motion Tracker button to the following filters:
Corner Pin
Crop: Rectangle
GPS Text
Mask: Simple Shape
Size, Position & Rotate
Size & Position (GPU)
Spot Remover
Text: Rich
Text: Simple
Timer
The Motion Tracker can be on a different clip than the clip with the above filters.
The dialog only shows Motion Trackers that have successfully completed analysis.
Click Reset in the dialog to remove the keyframes added by motion tracker and restore the state of these parameters to before motion tracking.
Clicking Apply in the dialog more than once automatically resets the affected parameters before adding new keyframes; so, you do not need to reset manually between changes.
You can edit the added keyframes, but if you reapply the motion tracker your changes are discarded.
To change the initial position of something after applying tracking you should Reset, make changes, and then Apply again.
Disable the Motion Tracker when your changes and its analysis are done (or turn off its preview). I do not recommend removing this filter when you are done loading keyframes because if you need to make an adjustment, this filter must still be available to list it in the dialog and get its tracking data.
More New Features!
Added new time filters: Speed: Forward Only and Speed: Forward & Reverse. These are usually friendlier to use than Time Remap. The forward only version does not usually require converting the clip first unlike Time Remap and Speed: Forward & Reverse.
Added saving and loading filter sets. A filter set is a collection of filters. The copy and paste buttons in the Filters panel open new Copy Filters and Paste Filters dialogs. When copying filters, you can optionally give it a name, in which case it will be saved to use not only in the current project but also all projects and sessions. Giving it a name still also puts it on the system clipboard. When pasting filters, you can choose to paste from the clipboard or a saved filter set. A few examples are included: Obscure With Blur, Obscure With Mosaic, Text Simple with Gradient Back.
Added an Add To Timeline button to many things in the Open Other menu/dialog. That usually saves a couple of steps.
Added a visual rectangle control to the Mask: Simple Shape filter.
Holding Shift while dragging a point in the Corner Pin filter moves all corners together.
Added faster and better quality YADIF deinterlacer plus addition of BWDIF deinterlacer.
Added 10-bit export presets under the “ten_bit” category.
Added support for Intel (“qsv”) AV1 and VP9 hardware encoders on Windows including 10-bit for AV1.
Fixes and General Improvements
Less audio crackling in exports when audio source is not 48000 Hz sample rate.
Less audio crackling upon start of playback in preview.
Upgraded Glaxnimate to version 0.5.3, which fixes some bugs and can animate motion along a drawn path.
Upgraded FFmpeg to latest version 6.
Upgraded MLT to latest version 7.16.0.
Upgrade AV1 codecs to latest versions.
Stabilize and Normalize: Two Pass on a timeline clip is faster.
The Lens Correction video filter is back.
Added Settings > Language > Hebrew.
Open Other > Text now has a Rich option.
Changed File > Export > Video and its shortcut to be the same as clicking Export > Export File.
Fixed seeking on raw FLAC audio files.
Fixed Record Audio breaks the state of the player’s mute toggle when you unmute the Shotcut audio during recording.
Fixed using the mouse wheel to scroll the timeline horizontally on macOS and Linux.
Fixed image padding not transparent during a transition.
Added low disk space warnings to the Properties > Convert and Reverse actions.
Fixed loading projects made with version before 19.06 using comma for decimal symbol.
Fixed chroma bleeding for interlaced YUV 4:2:0 video sources.
Fixed Shotcut became very slow if something wrong and very large was saved to Recent. Shotcut no longer saves recent file names to the main configuration file, which is the Registry on Windows. It now saves to a recent.ini text file in its app data directory and limits the maximum size of any entry.
Drawbacks and Limitations
Settings > Player > External Monitor with a system monitor (not Blackmagic peripheral) is no longer available.
Export progress no longer shows on the Windows taskbar icon.
The minimum version for Windows is now Windows 10. Older systems can continue to use version 22.12.
The minimum version of our non-Flatpak Linux binaries is now based on Ubuntu 20.04 LTS, which uses glibc 2.31. This is due to modern C++ requirements in dependencies, and bundling libstdc++ can break non-bundled system components. Previously, it was based on Ubuntu 18.04 LTS, whose support period ended in April, 2023. Older systems can continue to use version 22.12, or maybe the Flatpak will work.
This new feature provides a unified action search and shortcut editor. Action search makes it quickly to find and
execute a command. It also provides a keyboard shortcut reference and lets you add or change shortcuts - all in one!
Replaces the old Keyboard Shortcuts… item in the Help menu and takes its keyboard shortcut ?.
/ is also a default shortcut, and either shortcut can be changed.
Searches both action name and shortcut.
Press Return/Enter within the search box to move focus to the list of actions.
Press Return/Enter on a selected Action to trigger it and close the dialog.
Shift, Ctrl, or Alt + Return/Enter on a selected action to
trigger it and NOT close the dialog.
Double-click an action to trigger it but NOT close the dialog.
The dialog is not modal so you can leave it open and to the side while working.
Press Esc when the dialog has focus to close it.
Press F2 when an action is selected to edit its first shortcut.
Single-click a selected shortcut to enter edit mouse using the mouse. This means you typically need two single
clicks: one to select, the second to enter into edit mode.
You can Tab out of edit mode to navigate focus to the apply button and press Space to
trigger the apply. It is intentional that you cannot assign Tab as a keyboard shortcut to an action.
There are some keyboard buttons such as J/K/L that are reserved and cannot be used in a shortcut.
You will see an error message when you try to apply it.
You can define up to 2 shortcuts per action! You may want to leave the default as well as add your preferred shortcut.
A big portion of the UI had to be rewritten to support this. As a result:
All panel (hamburger) menus are consistently on the left/first.
Panel-specific Options sub-menus were moved to Settings main menu.
The keyboard shortcut to switch the player between Source and Project is now P.
The default shortcuts to change the current track now require Ctrl+Alt in addition to
cursor up and down.
Various hidden or under-exposed actions now have a menu item somewhere including a new Player main menu.
Many translations will be lost.
Transition Preview and Improved Custom Transitions
There is a folder now in the App Data Directory named transitions where you can store these.
All files in the transitions folder are listed in transition Properties, the Mask: From File video filter,
and the Slideshow Generator dialog.
Added a favorite button in transition Properties and Mask: From File that copies your chosen custom file to
the transitions folder.
Added a quick preview to transition properties.
Added a link to our Resources web page where you can download custom transitions in Properties.
Filter Keywords and Icons
We improved the Filters add-filter chooser.
Added translatable keywords to facilitate search. For example, “transform” shows Size, Position & Rotate.
Added the English filter name in an un-translataed manner to the keywords so people using a translation can more
more easily find things based on proliferic English advice.
Added animated icons to most filters to demonstrate what they do.
GPS Graphic Video Filter
The new GPS Graphic video filter draws GPS data-driven graphs, paths, and speedometers.
Also, we added the gopro2gpx utility to let you export a GPX file from a GoPro videe using
Properties > menu > Export GPX. This saves the .gpx in the same folder as the video file with the same name
but different exension. Then, you open this file with the GPS Graphic or GPS Text filters.
More New Stuff
Added limited support for reading WebP Animation.
Added Fisheye video filter (see its presets).
Added snapping to the playhead to Keyframes.
Added the ability to drag-scroll/pan using the middle mouse button (press mouse wheel) to Timeline,
Keyframes, and the player when zoomed in.
Added the alpha Operation, Reverse, and Invert parameters to the Mask: Draw video filter.
Added Settings > Reset… to reset all settings including hidden ones.
Fixes
Fixed Move Track Up or Move Track Down breaks the order of blending/compositing.
Fixed opening files with a % in their path or name.
Fixed sometimes a date does not appear in Playlist.
Fixed Old Film: Scratches video filter not working (broke in version 22.04).
Fixed Stabilize video filter uses invalid analysis data after pasted.
Fixed File > Open MLT XML as Clip… changes the current Video Mode.
Fixed audio artifacts introduced after splitting a clip that has been converted or reversed using
the better/large/DNxHR option.
Fixed Text: Rich filter’s toolbar may not reflect the current text color.
Changes
Show audio-clips without album art as a checkboard for transparent instead of white.
Deprecate and hide the Lens Correction video filter since it is low quality (no interpolation) and now there is Fisheye.