vkohaupt / vokoscreenNG

vokoscreenNG is a powerful screencast creator in many languages to record the screen, an area or a window (Linux only). Recording of audio from multiple sources is supported. With the built-in camera support, you can make your video more personal. Other tools such as systray, magnifying glass, countdown, timer, Showclick and Halo support will help
https://linuxecke.volkoh.de/vokoscreen/vokoscreen.html
GNU General Public License v2.0
1.11k stars 91 forks source link

System Freeze when using VMware Horizon Client and enabling "Showclick" or "Halo" #317

Open boustanihani opened 4 months ago

boustanihani commented 4 months ago

When I enable Showclick or Halo and try to record my full screen using the VMware Horizon Client in a Gnome XORG session, the whole system will freeze for a couple of seconds, every time I move the mouse.

I am using NixOS 23.11.

VMware Horizon Client

This is my System: Bildschirmfoto vom 2024-05-10 09-09-05

Here are my logs:

09:06:16 [vokoscreenNG] Version: 4.1.0
09:06:16 [vokoscreenNG] Locale: de_DE
09:06:16 [vokoscreenNG] Log from: 2024-05-10 09:06:16
09:06:16 [vokoscreenNG] Country: Germany
09:06:16 [vokoscreenNG] Qt: 6.6.3
09:06:16 [vokoscreenNG] GStreamer 1.22.11
09:06:16 [vokoscreenNG] PulseAudio library version: 17.0.0
09:06:16 [vokoscreenNG] Virtual Maschine: systemd-detect-virt not found
09:06:16 [vokoscreenNG] Operating system: KDE Flatpak runtime
09:06:16 [vokoscreenNG] KernelVersion: 6.1.90
09:06:16 [vokoscreenNG] CPU Architecture: x86_64
09:06:16 [vokoscreenNG] Count CPU: 8
09:06:16 [vokoscreenNG] vokoscreenNG running as: xcb client
09:06:16 [vokoscreenNG] vokoscreenNG running on: x11
09:06:16 [vokoscreenNG] Desktop: GNOME
09:06:16 [vokoscreenNG] Icon-Theme: Papirus-Dark
09:06:16 [vokoscreenNG] Styles: QStyleSheetStyle
09:06:16 [vokoscreenNG] ExecutablePath:      /app/bin
09:06:16 [vokoscreenNG] Qt-PluginsPath:      /usr/plugins
09:06:16 [vokoscreenNG] Qt-TranslationsPath: /usr/translations
09:06:16 [vokoscreenNG] Qt-LibraryPath:      /usr/lib/x86_64-linux-gnu
09:06:16 [vokoscreenNG] Settings: /home/hani/.var/app/com.github.vkohaupt.vokoscreenNG/config/vokoscreenNG/vokoscreenNG.ini
09:06:16 [vokoscreenNG] Log: /home/hani/.var/app/com.github.vkohaupt.vokoscreenNG/config/vokoscreenNG/log/2024-05-10_09-06-16.log
09:06:16 [vokoscreenNG] Default Videopath: /home/hani/Dropbox/Videos
09:06:16 [vokoscreenNG] User Videopath: /home/hani/Dropbox/Videos

09:06:16 [vokoscreenNG] [Audio] Found: HD Pro Webcam C920 Analog Stereo Device: alsa_input.usb-046d_HD_Pro_Webcam_C920_C257D91F-02.analog-stereo
09:06:16 [vokoscreenNG] [Audio] Found: Monitor of EDIFIER R1280DBs Device: bluez_output.CC_14_BC_AD_F4_3E.1.monitor

09:06:16 [vokoscreenNG] Pictures permission: Can write in /home/hani/Dropbox/Bilder

09:06:16 [vokoscreenNG] Symbols: + available, - not available
09:06:16 [vokoscreenNG] + ximagesrc
09:06:16 [vokoscreenNG] + pulsesrc
09:06:16 [vokoscreenNG] + queue
09:06:16 [vokoscreenNG] + appsrc
09:06:16 [vokoscreenNG] + capsfilter
09:06:16 [vokoscreenNG] + videoconvert
09:06:16 [vokoscreenNG] + videorate
09:06:16 [vokoscreenNG] + videoscale
09:06:16 [vokoscreenNG] + h264parse
09:06:16 [vokoscreenNG] + audioconvert
09:06:16 [vokoscreenNG] + audiorate
09:06:16 [vokoscreenNG] + audiomixer
09:06:16 [vokoscreenNG] + audioresample
09:06:16 [vokoscreenNG] + filesink

09:06:16 [vokoscreenNG] Formats, video- and audio codec are only for record, not for the player
09:06:16 [vokoscreenNG] Video formats:
09:06:16 [vokoscreenNG] + matroskamux (mkv)
09:06:16 [vokoscreenNG] - gifenc (gif)
09:06:16 [vokoscreenNG] + mp4mux (mp4)
09:06:16 [vokoscreenNG] + webmmux (webm)
09:06:16 [vokoscreenNG] + avimux (avi)
09:06:16 [vokoscreenNG] + qtmux (mov)

09:06:16 [vokoscreenNG] Format was changed, codecs are inserted:
09:06:16 [vokoscreenNG] + openh264enc
09:06:16 [vokoscreenNG] + vp8enc

09:06:16 [vokoscreenNG] Video encoder:
09:06:16 [vokoscreenNG] + openh264enc
09:06:16 [vokoscreenNG] + vp8enc
09:06:16 [vokoscreenNG] - gifenc

09:06:16 [vokoscreenNG] Audio encoder:
09:06:16 [vokoscreenNG] + vorbisenc
09:06:16 [vokoscreenNG] + flacenc
09:06:16 [vokoscreenNG] + opusenc
09:06:16 [vokoscreenNG] + lamemp3enc

09:06:16 [vokoscreenNG] This screen is the primary screen:  HDMI-1
09:06:16 [vokoscreenNG] Name from screen:  HDMI-1
09:06:16 [vokoscreenNG] Screen available desktop width : 1920
09:06:16 [vokoscreenNG] Screen available desktop height: 1080
09:06:16 [vokoscreenNG] DevicePixelRatio: 1  (Normal displays is 1, Retina display is 2)
09:06:16 [vokoscreenNG] Vertical refresh rate of the screen in Hz: 60
09:06:16 [vokoscreenNG] Screen orientation Qt::LandscapeOrientation
09:06:16 [vokoscreenNG] Color depth of the screen:  24
09:06:16 [vokoscreenNG] Model from screen:  VE247
09:06:16 [vokoscreenNG] Manufactur from screen:  Ancor Communications Inc
09:06:16 [vokoscreenNG] SerialNumber from screen:  CALMQS071397
09:06:16 [vokoscreenNG] ItemText in Combobox: HDMI-1 :  1920 x 1080
09:06:16 [vokoscreenNG] ItemData in Combobox: x=0 y=0 with=1920 height=1080

09:06:16 [vokoscreenNG] Name from screen:  HDMI-2
09:06:16 [vokoscreenNG] Screen available desktop width : 1920
09:06:16 [vokoscreenNG] Screen available desktop height: 1080
09:06:16 [vokoscreenNG] DevicePixelRatio: 1  (Normal displays is 1, Retina display is 2)
09:06:16 [vokoscreenNG] Vertical refresh rate of the screen in Hz: 60
09:06:16 [vokoscreenNG] Screen orientation Qt::LandscapeOrientation
09:06:16 [vokoscreenNG] Color depth of the screen:  24
09:06:16 [vokoscreenNG] Model from screen:  VE247
09:06:16 [vokoscreenNG] Manufactur from screen:  Ancor Communications Inc
09:06:16 [vokoscreenNG] SerialNumber from screen:  H3LMQS070829
09:06:16 [vokoscreenNG] ItemText in Combobox: HDMI-2 :  1920 x 1080
09:06:16 [vokoscreenNG] ItemData in Combobox: x=0 y=1080 with=1920 height=1080

09:06:16 Couldn't load VAAPI library
09:06:16 [vokoscreenNG] [Camera] Added: HD Pro Webcam C920 Device: /dev/video0
09:06:16 [vokoscreenNG] Language changed to: German  ( Germany )  ( de_DE ) :/language/de_DE.qm
09:06:16 [vokoscreenNG] Set global shortcut for Start: CTRL+SHIFT+F10
09:06:16 [vokoscreenNG] Set global shortcut for Pause: CTRL+SHIFT+F12
09:06:16 [vokoscreenNG] Set global shortcut for Magnification: CTRL+SHIFT+F9
09:06:16 [vokoscreenNG] Set global shortcut for Camera: CTRL+SHIFT+F8
09:06:16 [vokoscreenNG] Set global shortcut for Showclick: CTRL+SHIFT+F7
09:06:16 [vokoscreenNG] Set global shortcut for Halo: CTRL+SHIFT+F6
09:06:16 [vokoscreenNG] Set global shortcut for Snapshot: CTRL+SHIFT+F5

09:06:16 [vokoscreenNG] Video permission: Can write in /home/hani/Dropbox/Videos

09:06:16 [vokoscreenNG] [Composite] false

09:06:35 [vokoscreenNG] Video permission: Can write in /home/hani/Dropbox/Videos
09:06:36 [vokoscreenNG] SecondWaitBeforeRecording: 1

09:06:36 [vokoscreenNG] radioButtonCamera-0 = true
09:06:36 [vokoscreenNG] radioButton_cisco_on = true
09:06:36 [vokoscreenNG] radioButton_cisco_off = false
09:06:36 [vokoscreenNG] radioButtonScreencastWindow = false
09:06:36 [vokoscreenNG] radioButtonScreencastArea = false
09:06:36 [vokoscreenNG] radioButtonScreencastFullscreen = true
09:06:36 [vokoscreenNG] checkBox_shortcut_start_strg = true
09:06:36 [vokoscreenNG] checkBox_shortcut_magnification_alt = false
09:06:36 [vokoscreenNG] checkBox_shortcut_start_meta = false
09:06:36 [vokoscreenNG] checkBox_shortcut_pause_meta = false
09:06:36 [vokoscreenNG] checkBox_shortcut_start_shift = true
09:06:36 [vokoscreenNG] checkBox_shortcut_camera_meta = false
09:06:36 [vokoscreenNG] checkBox_shortcut_camera_alt = false
09:06:36 [vokoscreenNG] checkBox_shortcut_pause_alt = false
09:06:36 [vokoscreenNG] checkBox_shortcut_halo_meta = false
09:06:36 [vokoscreenNG] checkBox_shortcut_showclick_shift = true
09:06:36 [vokoscreenNG] checkBox_shortcut_magnification_shift = true
09:06:36 [vokoscreenNG] checkBox_shortcut_camera_shift = true
09:06:36 [vokoscreenNG] checkBox_shortcut_magnification_strg = true
09:06:36 [vokoscreenNG] checkBox_shortcut_showclick_strg = true
09:06:36 [vokoscreenNG] checkBox_shortcut_camera_strg = true
09:06:36 [vokoscreenNG] checkBox_shortcut_start_alt = false
09:06:36 [vokoscreenNG] checkBox_shortcut_pause_shift = true
09:06:36 [vokoscreenNG] checkBox_shortcut_halo_strg = true
09:06:36 [vokoscreenNG] checkBox_shortcut_showclick_meta = false
09:06:36 [vokoscreenNG] checkBox_shortcut_showclick_alt = false
09:06:36 [vokoscreenNG] checkBox_shortcut_pause_strg = true
09:06:36 [vokoscreenNG] checkBox_shortcut_halo_shift = true
09:06:36 [vokoscreenNG] checkBox_shortcut_halo_alt = false
09:06:36 [vokoscreenNG] checkBox_shortcut_magnification_meta = false
09:06:36 [vokoscreenNG] checkBox_shortcut_snapshot_strg = true
09:06:36 [vokoscreenNG] checkBox_shortcut_snapshot_shift = true
09:06:36 [vokoscreenNG] checkBox_shortcut_snapshot_alt = false
09:06:36 [vokoscreenNG] checkBox_shortcut_snapshot_meta = false
09:06:36 [vokoscreenNG] checkBoxCameraInvert = false
09:06:36 [vokoscreenNG] checkBoxCameraGray = false
09:06:36 [vokoscreenNG] checkBoxCameraMono = false
09:06:36 [vokoscreenNG] checkBoxCameraOnOff = false
09:06:36 [vokoscreenNG] checkBoxCameraMirrorVertical = false
09:06:36 [vokoscreenNG] checkBoxCameraMirrorHorizontal = false
09:06:36 [vokoscreenNG] checkBoxCameraWindowFrame = false
09:06:36 [vokoscreenNG] checkBoxCameraOnOff-0 = false
09:06:36 [vokoscreenNG] checkBoxCameraWindowFrame-0 = false
09:06:36 [vokoscreenNG] checkBoxCameraMirrorVertical-0 = false
09:06:36 [vokoscreenNG] checkBoxCameraMirrorHorizontal-0 = false
09:06:36 [vokoscreenNG] checkBoxCameraInvert-0 = false
09:06:36 [vokoscreenNG] checkBoxCameraGray-0 = false
09:06:36 [vokoscreenNG] checkBoxCameraMono-0 = false
09:06:36 [vokoscreenNG] checkBoxSnapshotShowBallonInSystray = true
09:06:36 [vokoscreenNG] checkBoxSnapshotHideBeforeRecording = true
09:06:36 [vokoscreenNG] checkBoxShowInSystray = true
09:06:36 [vokoscreenNG] checkBoxShowInSystrayAlternative = true
09:06:36 [vokoscreenNG] checkBoxLookForUpdates = true
09:06:36 [vokoscreenNG] checkBoxGstreamerDebugLevel = false
09:06:36 [vokoscreenNG] checkBoxStartsMinimized = false
09:06:36 [vokoscreenNG] checkBoxMinimizedWhenRecordingStarts = false
09:06:36 [vokoscreenNG] checkboxAudioDevice-0 = true
09:06:36 [vokoscreenNG] checkboxAudioDevice-1 = false
09:06:36 [vokoscreenNG] checkBoxMouseCursorOnOff = false
09:06:36 [vokoscreenNG] checkBoxGifLoop = true
09:06:36 [vokoscreenNG] checkBoxMagnifier = false
09:06:36 [vokoscreenNG] checkBoxResetAtNextStart = false
09:06:36 [vokoscreenNG] comboBox_shortcut_camera = F8
09:06:36 [vokoscreenNG] comboBox_shortcut_halo = F6
09:06:36 [vokoscreenNG] comboBox_shortcut_magnification = F9
09:06:36 [vokoscreenNG] comboBox_shortcut_pause = F12
09:06:36 [vokoscreenNG] comboBox_shortcut_start = F10
09:06:36 [vokoscreenNG] comboBox_shortcut_showclick = F7
09:06:36 [vokoscreenNG] comboBox_shortcut_snapshot = F5
09:06:36 [vokoscreenNG] comboBoxCamera = 
09:06:36 [vokoscreenNG] comboBoxCameraResolution = 
09:06:36 [vokoscreenNG] comboBoxCameraVideoFormat-0 = YUYV
09:06:36 [vokoscreenNG] comboBoxCameraResolution-0 = 640x480
09:06:36 [vokoscreenNG] comboBoxSnapshotImageFormats = png
09:06:36 [vokoscreenNG] comboBoxLanguage = German  ( Germany )  ( de_DE )
09:06:36 [vokoscreenNG] comboBoxOnlineHelp = Automatisch
09:06:36 [vokoscreenNG] comboBoxAudioCodec = vorbis
09:06:36 [vokoscreenNG] comboBoxx264Preset = superfast
09:06:36 [vokoscreenNG] comboBoxx264Profile = baseline
09:06:36 [vokoscreenNG] comboBox_openh264_profile = 
09:06:36 [vokoscreenNG] comboBoxFormat = mkv
09:06:36 [vokoscreenNG] comboBoxVideoCodec = H.264
09:06:36 [vokoscreenNG] comboBoxScreencastScreen = HDMI-1 :  1920 x 1080
09:06:36 [vokoscreenNG] comboBoxScreencastScreenArea = HDMI-1 :  1920 x 1080
09:06:36 [vokoscreenNG] sliderCameraWindowSize-0 = 0
09:06:36 [vokoscreenNG] sliderCameraWindowZoom-0 = 0
09:06:36 [vokoscreenNG] sliderWaitBeforeSnapshot = 4
09:06:36 [vokoscreenNG] sliderShowClickCircle = 50
09:06:36 [vokoscreenNG] sliderShowClickOpacity = 70
09:06:36 [vokoscreenNG] sliderShowClickShowtime = 10
09:06:36 [vokoscreenNG] sliderhaloHole = 20
09:06:36 [vokoscreenNG] sliderhaloDiameter = 70
09:06:36 [vokoscreenNG] sliderhaloOpacity = 60
09:06:36 [vokoscreenNG] sliderHour = 0
09:06:36 [vokoscreenNG] sliderMinute = 0
09:06:36 [vokoscreenNG] sliderStopRecordingAfterHouers = 0
09:06:36 [vokoscreenNG] sliderStopRecordingAfterMinutes = 0
09:06:36 [vokoscreenNG] sliderStopRecordingAfterSeconds = 15
09:06:36 [vokoscreenNG] sliderShowInSystrayAlternative = 48
09:06:36 [vokoscreenNG] sliderLimitOfFreeDiskSpace = 250
09:06:36 [vokoscreenNG] sliderSecondWaitBeforeRecording = 1
09:06:36 [vokoscreenNG] sliderGstDebugLevel = 0
09:06:36 [vokoscreenNG] sliderFrames = 25
09:06:36 [vokoscreenNG] sliderX264 = 17
09:06:36 [vokoscreenNG] sliderOpenh264 = 23
09:06:36 [vokoscreenNG] sliderVp8 = 20
09:06:36 [vokoscreenNG] sliderScreencastCountDown = 0
09:06:36 [vokoscreenNG] sliderMagnificationSize = 2
09:06:36 [vokoscreenNG] sliderMagnificationRectangle = 2
09:06:36 [vokoscreenNG] sliderMagnificationElipse = 2
09:06:36 [vokoscreenNG] lineEditSnapshotImagePath = /home/hani/Dropbox/Bilder
09:06:36 [vokoscreenNG] lineEditVideoPath = /home/hani/Dropbox/Videos

09:06:36 [vokoscreenNG] Free disk space at the beginning of the recording: 972051 MB

09:06:36 [vokoscreenNG] Start record with: ximagesrc display-name=:0 use-damage=false show-pointer=true startx=0 starty=0 endx=1919 endy=1079 ! video/x-raw, framerate=25/1 ! videoconvert ! videorate ! queue max-size-bytes=1073741824 max-size-time=10000000000 max-size-buffers=1000 ! openh264enc qp-min=23 qp-max=23 usage-type=camera complexity=low multi-thread=8 slice-mode=auto ! h264parse ! queue ! mux. pulsesrc device=alsa_input.usb-046d_HD_Pro_Webcam_C920_C257D91F-02.analog-stereo client-name=[vokoscreenNG].HD-Pro-Webcam-C920-Analog-Stereo ! audio/x-raw, channels=2 ! audioconvert ! audiorate ! queue max-size-bytes=1000000 max-size-time=10000000000 max-size-buffers=1000 ! vorbisenc ! queue ! mux. matroskamux name=mux writing-app=vokoscreenNG_4.1.0 ! filesink location="/home/hani/Dropbox/Videos/vokoscreenNG-2024-05-10_09-06-36.mkv"

09:06:36 gst-launch-1.0 -e \
    ximagesrc display-name=:0 use-damage=false show-pointer=true startx=0 starty=0 endx=1919 endy=1079 \
        ! video/x-raw, framerate=25/1 \
        ! videoconvert \
        ! videorate \
        ! queue max-size-bytes=1073741824 max-size-time=10000000000 max-size-buffers=1000 \
        ! openh264enc qp-min=23 qp-max=23 usage-type=camera complexity=low multi-thread=8 slice-mode=auto \
        ! h264parse \
        ! queue \
        ! mux. \
    pulsesrc device=alsa_input.usb-046d_HD_Pro_Webcam_C920_C257D91F-02.analog-stereo client-name=[vokoscreenNG].HD-Pro-Webcam-C920-Analog-Stereo \
        ! audio/x-raw, channels=2 \
        ! audioconvert \
        ! audiorate \
        ! queue max-size-bytes=1000000 max-size-time=10000000000 max-size-buffers=1000 \
        ! vorbisenc \
        ! queue \
        ! mux. \
    matroskamux name=mux writing-app=vokoscreenNG_4.1.0 \
        ! filesink location="/home/hani/Dropbox/Videos/vokoscreenNG-2024-05-10_09-06-36.mkv"

09:06:36 [vokoscreenNG] Start was clicked GST_STATE_CHANGE_ASYNC Returncode = 2
09:07:50 [vokoscreenNG] Stop record
09:07:50 [vokoscreenNG] Free disk space at the end of the recording: 972045 MB

09:08:04 [vokoscreenNG] QvkMainWindow::closeEvent Begin close
09:08:04 [vokoscreenNG] QvkHelp::slot_cleanUp TempDir is removed /tmp/vokoscreenNG-ZmsrrF
09:08:04 [vokoscreenNG] QvkLocale::slot_cleanUp TempDir is removed /tmp/vokoscreenNG-KAGkBD
09:08:04 [vokoscreenNG] QvkMainWindow::closeEvent Clean closed
vkohaupt commented 2 months ago

I installed the newest NixOS 24.05 and on your installed Version in VirtualBox. On both Versions vokoscreen 4.2.0 works fine. Please test vokoscreen 4.2.0 If the error still occurs, it is due to VMware Horizon Client. Attached is a video. https://github.com/user-attachments/assets/76a33902-cc5b-49b8-ba81-6056cd2c235b

boustanihani commented 2 months ago

I tried again using NixOS 24.05. Same issue.. I am using XORG because Horizon needs XORG.. Horizon works well all the time, only when I start Vokoscreen, and activate "Showclick" or "Halo" my System will start freezing for many seconds with each click, and when I deactivate "Showclick" & "Halo", everything turns back to normal. I am using the latest Vokoscreen version 4.2.0 (Installed from Flathub).

Can you possibly try recording your screen having a Horizon session open (I know u need a server...) with "Showclick" & "Halo" acrivated?

vkohaupt commented 2 months ago

One question, is the server on your PC, in the intranet or in the cloud?