SUMMARY Changing the video format to H.264 / MP4 doesn't enable the "apply" button on the settings form, and if you change some other setting to enable it, and save the settings with H.264, recording a video hangs and has to be killed from the terminal. STEPS TO REPRODUCE 1. Open the configuration window and go to the "Video Saving" options. 2. Change to MP4 / H.264. 3. Change the filename field and save the settings. 4. Try to record a screencast of a rectangular portion of the screen. OBSERVED RESULT The apply button isn't enabled after step 2. If you click "OK" and then close and reopen Spectacle, the video settings won't be saved. In step 4, Spectacle gets stuck in recording mode. The red "recording" icon appears in the taskbar, but clicking on it does nothing. I ended up having to kill Spectacle from the terminal. EXPECTED RESULT Settings are saved and Spectacle records H.264 video successfully. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 5.93.0 KDE Frameworks Version: 5.249.0 Qt Version: 6.7.0 Kernel Version: 6.7.4-arch1-1 (64-bit) Graphics Platform: Wayland
Spectacle is hanging on me when i Record a Rectangular Region in either H.264 or WebM. Otherwise, I am getting the same results- the Apply button is not activated, and video settings aren't saved upon restart of Spectacle. Operating System: KDE neon Testing Edition KDE Plasma Version: 6.0.0 KDE Frameworks Version: 6.0.0 Qt Version: 6.6.1 Kernel Version: 6.5.0-18-generic (64-bit) Graphics Platform: Wayland Graphics Processor: AMD Radeon Pro WX 3200 Series
I have bleeding edge Plasma 6 compiled from source (so Plasma 6.1 Dev from about two days ago), and I can reproduce the issue of the Apply button not being enabled after changing the recording format, but the setting still got saved (even by just clicking Ok and not changing any other setting), and both recording a rectangular region as well as stopping it by clicking on the red recording icon on the panel works too. The H.264 recording does appear broken in my case (due to Spectacle/KPipeWire not using my GPU's hardware encoding properly), but I've already filed bug 478868 for that. Operating System: Arch Linux KDE Plasma Version: 6.0.80 KDE Frameworks Version: 6.0.0 Qt Version: 6.6.2 Kernel Version: 6.7.4-arch1-1 (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 6800H with Radeon Graphics Memory: 30.6 GiB of RAM Graphics Processor: AMD Radeon 680M + AMD Radeon RX 6650M
Since the H.264 issue is separate, I've renamed this report.
Git commit 5429d6b914009481a4f7d2df706c02438eca9690 by Noah Davis. Committed on 23/02/2024 at 14:21. Pushed by ndavis into branch 'master'. Use KConfigDialogManager system instead of directly setting video format M +1 -0 src/CMakeLists.txt A +29 -0 src/Gui/SettingsDialog/VideoFormatComboBox.cpp [License: LGPL(v2.0+)] A +19 -0 src/Gui/SettingsDialog/VideoFormatComboBox.h [License: LGPL(v2.0+)] M +0 -3 src/Gui/SettingsDialog/VideoSaveOptions.ui M +8 -13 src/Gui/SettingsDialog/VideoSaveOptionsPage.cpp M +2 -0 src/Gui/SettingsDialog/VideoSaveOptionsPage.h https://invent.kde.org/graphics/spectacle/-/commit/5429d6b914009481a4f7d2df706c02438eca9690
Git commit 00de0785e06dc97aea8a69c5213e56d2848724b9 by Noah Davis. Committed on 23/02/2024 at 14:34. Pushed by ndavis into branch 'release/24.02'. Use KConfigDialogManager system instead of directly setting video format (cherry picked from commit 5429d6b914009481a4f7d2df706c02438eca9690) M +1 -0 src/CMakeLists.txt A +29 -0 src/Gui/SettingsDialog/VideoFormatComboBox.cpp [License: LGPL(v2.0+)] A +19 -0 src/Gui/SettingsDialog/VideoFormatComboBox.h [License: LGPL(v2.0+)] M +0 -3 src/Gui/SettingsDialog/VideoSaveOptions.ui M +8 -13 src/Gui/SettingsDialog/VideoSaveOptionsPage.cpp M +2 -0 src/Gui/SettingsDialog/VideoSaveOptionsPage.h https://invent.kde.org/graphics/spectacle/-/commit/00de0785e06dc97aea8a69c5213e56d2848724b9
Thanks for the fix, it does appear to resolve the issue when I cherry-pick your changes. Should I file a different bug for the issue with recording h264? Bug 478868 is about the output being corrupt when encoding h264 on a discrete GPU, but I've never seen this issue and don't have a discrete GPU. My issue is that when trying to record h264, Spectacle disappears with the red "recording" icon in the taskbar, but seems to hang. I can't stop the recording by pressing the icon, there's no discernable CPU use by Spectacle, and no output file is ever created, even in the /tmp Spectacle directory.
I've filed a bug for the other issue, which I've just discovered the precise cause of. https://bugs.kde.org/show_bug.cgi?id=481727