Shotcut: v23.04.02 Release

Release date:
April 2, 2023
Previous version:
v23.03.03 (released March 3, 2023)
Magnitude:
2,659 Diff Delta
Contributors:
3 total committers
Data confidence:
Commits:

Top Contributors in v23.04.02

ddennedy
bmatherly
zadockmaloba

Directory Browser for v23.04.02

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

Downloads are at the bottom of this page. Linux Flatpak users: you can get a "test" build here and install it alongside the stable 22.12 version.

Qt 6

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. This is being made for testing purposes to get feedback before deciding whether to leave it on in the April release. 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 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
    • Mask: Simple Shape
    • Size, Position & Rotate
    • Size & Position (GPU)
  • 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 usuaally saves a couple of steps.
  • Added a visual rectangle control to the Mask: Simple Shape filter.
  • Holding <kbd>Shift</kbd> 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 when audio source is not 48000 Hz sample rate.
  • Less audio crackling upon start of playback in preview.
  • Upgraded FFmpeg to latest version 6.
  • Upgraded Glaxnimate to version 0.5.3, which fixes some bugs and can animate motion along a drawn path.
  • 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.
  • Many other smaller things not mentioned here - see Git history.

Drawbacks and Limitations

  • Settings > Theme is gone due to a bug or limitation in Qt 6 Quick Controls. The Shotcut dark or light theme now strictly follows the system settings. On Linux, that is hit-or-miss depending on the desktop environment and its version (and, sadly, not the AppImage). For many people this will not make a difference. For many others, it might make you want to switch your system to dark mode. I do not expect this situation to change in the near future (2023). Yeah, I am not real happy about it either, but it is what it is - which means all comments, forum posts, and bug reports about this will be ignored, hidden, or closed.
  • 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 ends in April, 2023. Older systems can continue to use version 22.12, or maybe the Flatpak will work.