-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
screen record lag #50
Comments
Interesting, is the weird jumpiness visible on screen while recording, or is it just visiable in the recorded file during playback? Does |
only in the record, obs for example works fine with ffmpeg h264 vaapi |
What compositor is this? |
hyprland |
@killown Same on Hyprland, NixOS... All was fine, but after update - it's happened. |
I can reproduce the issue on NixOS with Sway, with wl-screenrec 0.1.0. The problem reproduces when using
screenrecord.mp4screenrecord.mp4An observation that may or may not be relevant: when capturing the 2560x1440 region (which has an unscaled resolution of 3840x2160), the frame rate is a stable 51 fps. When capturing the 2560x1439 region, the frame rate is 60 fps most of the time, but repeatedly dips down to ~50 fps. |
Super interesting to me! We always capture full outputs (dmabuf does not support partial captures), so the issue is with something after that...weird! @varmisa do you know what update broke it? Possible culprits are mesa and ffmpeg. Could hyprland be giving frames out of order? Also never got an answer to if
has the same issue. |
@russelltg I don't remember what the update it was, today i will test this command with wf-recorder. |
For me, In wl-screenrec, the stutter doesn't reproduce for me when using |
Interestingly, the wf-recorder hang can also be fixed by specifying a geometry that's slightly smaller than the actual screen. However, in that case, wf-recorder reproduces the issue that wl-screenrec has when recording the entire screen... Furthermore, after updating wl-screenrec from |
I've bisected the wl-screenrec change in behavior to
Before that commit, recording at a geometry smaller than the screen, there is no stutter/time travel. Since that commit, recording at any geometry stutters. Further testing reveals that it's not any smaller geometry that works, but only those that result in an odd-sized width or height (after considering scaling). |
Disabling b-frames via
works around the issue. Of course that's not a satisfying solution, but it points towards the nature of the problem. |
@dominikh what hardware do you have? Definitely a strange issue to be sure, also considering the nature it's surprising I don't see it as well. I'm trying to find the link between b-frames and exact=1....super strange. exact=1 has to do with handling of odd-positioned or odd-sized crop capture regions. the b-frames lead is quite interesting though, and make me think I'm mishandling PTS/DTS.... |
|
Very interesting, i have same GPU... |
Just wanted to add also experiencing this issue. Issue so far has only affected 6000 series cards? I wonder if any other cards are affected by this bug.
|
Just wanted to drop this here too -- this bug is also experienced on integrated Radeon graphics (also using NixOS + Hyprland, occurred after an update) |
➜ ~ wl-screenrec -o DP-1
Using output DP-1
Opening libva device from DRM device /dev/dri/renderD128
[h264_vaapi @ 0x55ebd4ab7300] No usable encoding entrypoint found for profile VAProfileH264High (7).
failed to open encoder in low_power mode (Function not implemented), trying non low_power mode. if you have an intel iGPU, set enable_guc=2 in the i915 module to use the fixed function encoder. pass --low-power=off to suppress this warning
[h264_vaapi @ 0x55ebd4ab7300] Driver does not support some wanted packed headers (wanted 0xd, found 0x1).
screenrecord.mp4
The text was updated successfully, but these errors were encountered: