Peek: GIF records are freezing/cutting, but work if the resolution is down sampled.

Created on 11 Jun 2018  ·  15Comments  ·  Source: phw/peek

After recording a GIF, the file is played correctly for about 2 seconds before freezing, then it continues with a lot of cuts. Downsampling solves this; changing the framerate does not (no effect, it still has this problem); changing the size of the window that records the GIF also has no effect, only increasing downsampling does. However, many times, it isn't an option to have the GIF at a smaller image size.

need more info

Most helpful comment

1 & 2: Installed the flatpak package on Debian 9 with GNOME on X, but it also happens under Wayland; I can reproduce this on Fedora Workstation as well.

  1. The recorded WebM has the same freezing and glitching the GIF has.

  2. Videos recorded with the built-in screen recorder are perfect. Yes, they appear at ~/Videos

  3. I tested with both gnome-shell and ffmpeg backends by specifying them in the command. One backend records the video just fine: gnome-shell. But ffmpeg doesn't. This made me realize I was only having this problem with other DEs, because here with GNOME the gnome-shell backend is the default, so it works out-of-the-box.

By choosing ffmpeg or using a different DE, the videos end up corrupted, freezing and jumping scenes in a predictable way. I mean, it freezes always at the same time of playback, jumps through a lot of scenes and then resumes when it's almost ending. It's not random, it happens in the same way every time.

All 15 comments

A few questions to narrow this down:

  1. Did you record on Gnome or some other DE?
  2. Wayland or X?
  3. Does recording a WebM have the same effect?
  4. If on Gnome, does using the built-in Gnome Shell screen recorder work (start / stop with Ctrl + Alt + Shift + R by default, results are placed in your videos folder)?
  5. If on Gnome X11 session, does starting Peek with peek -b ffmpeg make any difference?

1 & 2: Installed the flatpak package on Debian 9 with GNOME on X, but it also happens under Wayland; I can reproduce this on Fedora Workstation as well.

  1. The recorded WebM has the same freezing and glitching the GIF has.

  2. Videos recorded with the built-in screen recorder are perfect. Yes, they appear at ~/Videos

  3. I tested with both gnome-shell and ffmpeg backends by specifying them in the command. One backend records the video just fine: gnome-shell. But ffmpeg doesn't. This made me realize I was only having this problem with other DEs, because here with GNOME the gnome-shell backend is the default, so it works out-of-the-box.

By choosing ffmpeg or using a different DE, the videos end up corrupted, freezing and jumping scenes in a predictable way. I mean, it freezes always at the same time of playback, jumps through a lot of scenes and then resumes when it's almost ending. It's not random, it happens in the same way every time.

  1. Did you record on Gnome or some other DE?

I am using XFCE. More specifically, the version from Linux Mint 18.3.

  1. Wayland or X?

X.

  1. Does recording a WebM have the same effect?

Yes. The same freezing effect.

  1. If on Gnome X11 session, does starting Peek with peek -b ffmpeg make any difference?

Even though I'm not on Gnome, I tried the command; the backend doesn't record the GIF just fine. No success.

I have the same problem on Xubuntu 18.04 recording Gifs and Webms with relative high fps

Gif @ 24 fps using Peek (installed)
peek 28-06-2018 10-47

Gif @ 24 fps using Peek (Appimage)
peek 28-06-2018 10-48

I also have the same issue on Arch Linux + lightdm + i3wm. Thanks for the tip with downsampling, this is the only way to record smooth gifs currently.

For reference, here is what happens when I record the same actions with downsampling of 2 and 1. I'm doing _exactly the same actions_ on both gifs, but notice how half of my steps are simply gone from the high-quality gif, e.g. it froze and skipped opening of the menu.

vertical-selection-d1

vertical-selection-2

I'm attaching the original gif.zip in case you want to analyze them, because I think Github might tamper with pictures after uploading.

Having the same exact issue on Elementary OS + Gala

Same issue here:
peek 1.3.1
Archlinux
AwesomeWM 4.2
xorg-server 1.20.0
nvidia 396.24

Exactly the same issue either under Archlinux (KDE 5.13; xorg-server 1.20.0-9; xf86-video-intel) and under Antergos (with an NVIDIA driver).

Same issue as well in both Webm and Gif formats. Even using high-res gifs.

Peek (flatpack) 1.3.1
Linux Mint 18.3 kernel 4.15.0-24-generic
Cinnamon: 3.6.7+sylvia
Xserver-xorg-core: 1.18.4-0ubuntu0.7
Nvidia drivers: 384.130

Any news on this?

Are there any improves on this? I still have this problem :/

I have the same problem (Antergos/Arch user here on X), but even with downsampling, and it's present on all file types. I think it has to do with the way Peek captures windows.

I still have this issue with 1.4.0

I am also experiencing this, manjaro linux install peek from AUR, use lightdm for login and i3-gaps for WM

$ pacman -Qi xorg-server lightdm peek i3-gaps 
Name            : xorg-server
Version         : 1.20.7-1
Description     : Xorg X server
Architecture    : x86_64
URL             : https://xorg.freedesktop.org
Licenses        : custom
Groups          : xorg
Provides        : X-ABI-VIDEODRV_VERSION=24.0  X-ABI-XINPUT_VERSION=24.1  X-ABI-EXTENSION_VERSION=10.0  x-server
Depends On      : libepoxy  libxfont2  pixman  xorg-server-common  libunwind  dbus  libgl  xf86-input-libinput  nettle
                  libpciaccess  libdrm  libxshmfence
Optional Deps   : None
Required By     : None
Optional For    : None
Conflicts With  : nvidia-utils<=331.20  glamor-egl  xf86-video-modesetting
Replaces        : glamor-egl  xf86-video-modesetting
Installed Size  : 3.50 MiB
Packager        : Philip Mueller <[email protected]>
Build Date      : Tue 14 Jan 2020 06:27:33 AM MST
Install Date    : Wed 12 Feb 2020 10:22:42 AM MST
Install Reason  : Explicitly installed
Install Script  : Yes
Validated By    : Signature

Name            : lightdm
Version         : 1:1.30.0-2
Description     : A lightweight display manager
Architecture    : x86_64
URL             : https://www.freedesktop.org/wiki/Software/LightDM/
Licenses        : GPL3  LGPL3
Groups          : None
Provides        : None
Depends On      : glib2  libgcrypt  libx11  libxcb  libxdmcp  libxklavier  pam  polkit
Optional Deps   : accountsservice: Enhanced user accounts handling [installed]
                  lightdm-gtk-greeter: GTK greeter
                  xorg-server-xephyr: LightDM test mode
Required By     : lightdm-slick-greeter
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 1959.00 KiB
Packager        : Maxime Gauduin <[email protected]>
Build Date      : Fri 17 May 2019 08:59:29 AM MDT
Install Date    : Wed 12 Feb 2020 10:22:20 AM MST
Install Reason  : Installed as a dependency for another package
Install Script  : No
Validated By    : Signature

Name            : peek
Version         : 1.4.0-1
Description     : Simple screen recorder with an easy to use interface
Architecture    : x86_64
URL             : https://github.com/phw/peek
Licenses        : GPL3
Groups          : None
Provides        : None
Depends On      : gtk3  libkeybinder3  ffmpeg
Optional Deps   : gst-plugins-good: Recording under Gnome Shell [installed]
                  gst-plugins-ugly: MP4 output under Gnome Shell [installed]
                  gifski: High quality GIF animations with thousands of colors
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 897.00 KiB
Packager        : Filipe Laíns <[email protected]>
Build Date      : Tue 24 Sep 2019 04:58:34 AM MDT
Install Date    : Wed 12 Feb 2020 10:32:45 AM MST
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

Name            : i3-gaps
Version         : 4.17.1-1
Description     : A fork of i3wm tiling window manager with more features, including gaps
Architecture    : x86_64
URL             : https://github.com/Airblader/i3
Licenses        : BSD
Groups          : i3
Provides        : i3-wm
Depends On      : xcb-util-keysyms  xcb-util-wm  libev  yajl  startup-notification  pango  perl  xcb-util-cursor
                  xcb-util-xrm  libxkbcommon-x11
Optional Deps   : rxvt-unicode: The terminal emulator used in the default config. [installed]
                  dmenu: As menu. [installed]
                  i3lock: For locking your screen. [installed]
                  i3status: To display system information with a bar. [installed]
                  perl-json-xs: For i3-save-tree
                  perl-anyevent-i3: For i3-save-tree
Required By     : i3exit  manjaro-i3-settings
Optional For    : None
Conflicts With  : i3-wm
Replaces        : None
Installed Size  : 1552.00 KiB
Packager        : Morten Linderud <[email protected]>
Build Date      : Sun 01 Sep 2019 05:10:28 AM MDT
Install Date    : Wed 12 Feb 2020 10:22:21 AM MST
Install Reason  : Installed as a dependency for another package
Install Script  : No
Validated By    : Signature

Unfortunately, other filetypes are not an option as gif is the only one GH accepts and that is my primary use :/

I can also confirm that the suggested

If on Gnome X11 session, does starting Peek with peek -b ffmpeg make any difference?

does not make a difference in my case

For anyone looking for a temporary solution, here's a script I pieced together that will generate a palette for the gif, and then create a gif from a given video file (tested and working with webm).

#! /bin/bash
echo ">> Generation Palette.."
ffmpeg -i "$1" -vf palettegen "${1%.*}.png"
echo ">> Done!"
echo ">> Creating gif..."
ffmpeg -y -i "$1" -i "${1%.*}.png" -filter_complex paletteuse -r 10 "${1%.*}.gif"
echo ">> Done!"
echo ">> Cleaning up..."
rm "${1%.*}.png"
rm "$1"
echo ">> Done!"

can't remember where the palette generation technique was sourced from

edit: this would probably need some tweaking if you like to put periods in your filenames such as: poor.name.choice.webm

Was this page helpful?
0 / 5 - 0 ratings

Related issues

StephenFluin picture StephenFluin  ·  4Comments

ronjouch picture ronjouch  ·  6Comments

phw picture phw  ·  6Comments

fbruetting picture fbruetting  ·  6Comments

ArsenArsen picture ArsenArsen  ·  3Comments