peek

peek

轻量级屏幕录制工具 聚焦GIF动画和短视频制作

Peek是一款轻量级屏幕录制工具,专注于创建短小的屏幕区域录像。该工具支持录制界面演示、功能展示和bug报告等内容,可生成优化的GIF动画或WebM格式视频。Peek的设计理念是快速创建小型、无声的屏幕录像,特别适合开发者展示应用功能。尽管功能相对精简,但Peek在特定使用场景中表现出色。

Peek屏幕录制动图制作开源软件LinuxGithub开源项目

Peek - an animated GIF recorder

GitHub release License: GPL v3+ Packaging status Translation Status

[!IMPORTANT] The Peek project has been declared deprecated, please read the announcement. No new features will be developed and issue reporting will be closed soon.

Peek recording itself

Simple screen recorder with an easy to use interface

<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->

Contents

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

About

Peek makes it easy to create short screencasts of a screen area. It was built for the specific use case of recording screen areas, e.g. for easily showing UI features of your own apps or for showing a bug in bug reports. With Peek, you simply place the Peek window over the area you want to record and press "Record". Peek is optimized for generating animated GIFs, but you can also directly record to WebM if you prefer.

Peek is not a general purpose screencast app with extended features but rather focuses on the single task of creating small, silent screencasts of an area of the screen for creating GIF animations or silent WebM videos.

Peek runs on X11 or inside a GNOME Shell Wayland session using XWayland. Support for more Wayland desktops might be added in the future (see FAQs below).

Requirements

Runtime

  • GTK+ >= 3.20
  • GLib >= 2.38
  • libkeybinder3
  • FFmpeg >= 3
  • GStreamer 'Good' plugins (for recording on GNOME Shell)
  • gifski (optional but recommended for improved GIF quality)

Development

  • Vala compiler >= 0.22
  • Meson >= 0.47.0
  • Gettext (>= 0.19 for localized .desktop entry)
  • txt2man (optional for building man page)

Installation

Official distribution packages

Peek is available in official package repositories for the following distributions:

Flatpak

Peek can be installed on all distributions supporting Flatpak from Flathub. To install, either download com.uploadedlobster.peek.flatpakref and open it with GNOME Software or install via command line (first time flatpak users need to follow the flatpak/flathub setup instructions first):

flatpak install flathub com.uploadedlobster.peek

For full functionality you should also install xdg-desktop-portal-gtk. It is available for most current distributions. Once installed, you can run Peek via its application icon in your desktop environment or from the command line:

flatpak run com.uploadedlobster.peek

To update to the latest version run:

flatpak update --user com.uploadedlobster.peek

To test the latest development version you can install peek-master.flatpakref

Snappy

Peek no longer has officially supported Snap packages, see the announcement. Please consider using the Flatpak or AppImage versions or use the Ubuntu PPA if you are using Ubuntu.

AppImage

Peek AppImage packages are available on the release page. To run download the .AppImage file and set it executable, then just run it. You can name the file however you want, e.g. you can name it just peek and place it in $HOME/bin for easy access. See the AppImage wiki for more information on how to use AppImages and integrate them with your system.

Ubuntu

You can install the latest versions of Peek from the Ubuntu PPA.

sudo add-apt-repository ppa:peek-developers/stable
sudo apt update
sudo apt install peek

If you want to use the latest development version there is also a PPA with daily builds available. Use the repository ppa:peek-developers/daily in the above commands.

ElementaryOS

Adding PPA repositories requires the package software-properties-common

sudo apt install software-properties-common
sudo add-apt-repository ppa:peek-developers/stable
sudo apt update
sudo apt install peek

If you want to use the latest development version there is also a PPA with daily builds available. Use the repository ppa:peek-developers/daily in the above commands.

Debian

There are official Debian packages for Debian 11 ("Bullseye") and Debian 10 ("Buster") via main repository and packages for Debian 9 ("Stretch") via stretch-backports repository. Please refer to Debian Backports Website for detailed usage of stretch-backports repository.

After enabling stretch-backports for Debian 9 (Debian 10 or Debian 11 or Sid don't need any tweaks at all), installation can be done by simply typing:

sudo apt install peek

Fedora

Note: Fedora by default does not provide the required ffmpeg package in its repositories. For this reason it is recommended for Fedora users to install Peek with Flatpak, see above. If you prefer to install Peek from the repositories you should install ffmpeg separately as described below.

Peek is available in the default repositories (Fedora 29 and later):

sudo dnf install peek

To install the required ffmpeg package you can use the RPM Fusion free repository, see the setup instructions for RPM Fusion. Once the repository is enabled install FFmpeg with:

sudo dnf install ffmpeg

Solus

Solus users can simply install with:

sudo eopkg it peek

Arch Linux

Arch Linux users can simply install with:

sudo pacman -S peek

For GNOME Shell recording there are some optional packages you can choose from:

gst-plugins-good: Recording under Gnome Shell
gifski: High quality GIF animations with thousands of colors

If you have a package manager for AUR (or fetch from AUR manually) the git version is available here

Other distributions

See the Repology package list for a list of Peek packages for various distributions.

From source

You can build and install Peek using Meson with Ninja:

git clone https://github.com/phw/peek.git
cd peek
meson --prefix=/usr/local builddir
cd builddir
ninja

# Run directly from source
./src/peek

# Install system-wide
sudo ninja install

Note: ninja might be called ninja-build on some distributions.

Frequently Asked Questions

How can I capture mouse clicks and/or keystrokes?

Peek does not support this natively. But you could install an external tool like key-mon which is usually included in most distributions, so you can easily install with your package manager. Then start key-mon with key-mon --visible_click. The --visible_click option is for drawing small circles around mouse clicks.

How can I improve the quality of recorded GIF files

To get the best possible quality you should install the gifski GIF encoder. If available Peek will automatically use gifski and will provide a quality slider in the preferences dialog. The default value will give a balanced result between quality and file size. Set the quality to maximum if you want to get the highest possible quality even with thousands of colors. The file size will increase significantly, though (see below).

Why are the GIF files so big?

The GIF format is highly inefficient and not well suited for doing large animations with a lot of changes and colors. Peek tries its best to reduce the file size by using FFmpeg or gifski to generate optimized GIF files. For best results:

  • Use a lower frame rate. 10fps is the default and works well, but in many cases you can even get good results with lower framerates.
  • If you have gifski installed you can adjust the GIF quality in the preferences. A lower quality gives a smaller file size at the expense of visual quality (see above).
  • Avoid too much change. If there is heavy animation the frames will differ a lot.
  • Record small areas or use the downsample option to scale the image. The GIF file format is not well suited for high resolution or full-screen recording.
  • Avoid too many colors, since GIF is limited to a 256 color palette per frame. This one is not so much about file size but more about visual quality.
  • If the above suggestions are not suitable for your use case, consider using WebM format (see below).

If GIF is so bad why use it at all?

While GIF is a very old format, it has seen some rise in usage again in recent years. One reason is its easy usage in the Web. GIF files are supported nearly everywhere, which means you can add animations easily to everywhere where you can upload images. With real video files you are still more limited. Typical use cases for Peek are recording small user interactions for showing UI features of an app you developed, for making short tutorials or for reporting bugs.

What about WebM or MP4? Those are well supported on the web.

Peek allows you to record in WebM format, just choose your preferred output format in the preferences. WebM is well supported by modern browsers, even though they are still not as universally supported by tools and online services as GIFs.

[!NOTE] Support for MP4 was available till version 1.5.1 but was removed from later versions.

What is the cause for "Could not start GNOME Shell recorder" errors?

This usually indicates an error while starting the built-in GNOME shell recorder. Unfortunately Peek does not receive any error details, to find out more about this issues look at the GNOME Shell log output in journalctl.

A common cause for this is that the GNOME Shell recorder is already running, either because it was started via the GNOME Shell keyboard shortcut or by another application.

If this error is shown when trying to record MP4 a common cause is that you are missing the GStreamer ugly plugins, which provide MP4 encoding. Please refer to the documentation of your distribution on how to install these. Do note that you have to logout and login for Peek to recognize the new installed libraries if you are running the Wayland display server.

See also issue #287 for related discussion.

Why can't I interact with the UI elements inside the recording area?

You absolutely should be able to click the UI elements inside the area you are recording. If you use i3 you should stack Peek with the window you intend to record or make sure all windows are floating and uncheck "Always on top" from the Peek settings. If you want to be able to control the area when recording in i3 you can move Peek to the Scratchpad it will keep recording the area once you hide the window. If this does not work for you on any other window manager please open an issue on GitHub.

My recorded GIFs flicker, what is wrong?

Some users have experienced recorded windows flicker or other strange visual artifacts only visible in the recorded GIF. This is most likely a video driver issue. If you are using Intel video drivers switching between the SNA and UXA acceleration methods can help. For NVIDIA drivers changing the "Allow Flipping" setting in the NVIDIA control panel was reported to help.

On i3 the recording area is all black, how can I record anything?

i3 does not support the X shape extension. In order to get a transparent recording area, you have to run a compositor such as Compton.

Why no native Wayland support?

Wayland has two restrictions that make it hard for Peek to support Wayland natively:

  1. The Wayland protocol does not define a standard way for applications to obtain a screenshot. That is intentional, as taking an arbitrary screenshot essentially means any application can read the contents of the whole display, and Wayland strives to offer improved security by isolating applications. It is up to the compositors to provide screenshot capability, and most do. GNOME Shell also provides a public interface for applications to use which Peek does support.

  2. The Wayland protocol does not provide absolute screen coordinates to the applications. There is not even a coordinate system for windows at all. Again this is intentional, as they are not needed in many cases and you do not need to follow restrictions imposed by the traditional assumption that the screen is a rectangular area (e.g. you can have circular screens or layout windows in 3D space).

Unfortunately, the whole concept of the Peek UI is that the window position itself is used to obtain the recording coordinates. That means, for now, there cannot be any fully native Wayland support without special support for

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

下拉加载更多