Kooha
Elegantly record your screen
Capture your screen in a intuitive and straightforward way without distractions.
Kooha is a simple screen recorder with a minimal interface. You can simply click the record button without having to configure a bunch of settings.
The main features of Kooha include the following:
-
🎥 Capture your screen without any hassle. -
🎙️ Record your microphone, computer sounds, or both at the same time. -
📼 Support for WebM, MP4, GIF, and MKV formats. - 🗔 Multiple sources selection.
-
🚀 Optional hardware accelerated encoding -
🖥️ Select a monitor or window to record. -
🔲 Create a selection to capture certain area from your screen. -
⏲️ Set delay to prepare before you start recording. -
🖱️ Hide or show mouse pointer. -
💾 Choose a saving location for your recording. -
⌨️ Utilize helpful keyboard shortcuts.
😕
It Doesn't Work
There are many possibilities on why it may not be working. You may not have the runtime requirements mentioned below installed, or your distro doesn't support it. For troubleshooting purposes the screen cast compatibility page of xdg-desktop-portal-wlr
wiki may be helpful in determining if your distro has support for it out of the box. If it does, but it still doesn't work, you can also check for the troubleshooting checklist.
⚙️
Hidden Configuration Options
Enable hardware accelerated encoding
Enabling hardware accelerated encoding allows the encoder to utilize GPU for more efficient or perhaps faster encoding. It is not guaranteed to work on all devices, so it may give errors such as no element vaapivp8enc
depending on the features and capability of your hardware.
To enable all the supported drivers and force Kooha to use VAAPI elements, set GST_VAAPI_ALL_DRIVERS
and KOOHA_VAAPI
both to 1 respectively. These environment variables are needed for hardware accelerated encoding.
To run Kooha with both set, run the following command:
GST_VAAPI_ALL_DRIVERS=1 KOOHA_VAAPI=1 flatpak run io.github.seadve.Kooha
or if installed locally, run
GST_VAAPI_ALL_DRIVERS=1 KOOHA_VAAPI=1 kooha
Change frames per second to 60fps
Take note that using other frames per second may cause flickering, depending on the performance of your device.
You can copy and paste this to the terminal if you installed Kooha as a flatpak:
flatpak run --command=gsettings io.github.seadve.Kooha set io.github.seadve.Kooha video-framerate 60
or if installed locally, run
gsettings set io.github.seadve.Kooha video-framerate 60
📋
Runtime Requirements
- pipewire
- gstreamer-plugin-pipewire
- xdg-desktop-portal
- xdg-desktop-portal-(e.g., gtk, kde, wlr)
🏗️
Building from source
GNOME Builder
GNOME Builder is the environment used for developing this application. It can use Flatpak manifests to create a consistent building and running environment cross-distro. Thus, it is highly recommended you use it.
- Download GNOME Builder.
- In Builder, click the "Clone Repository" button at the bottom, using
https://github.com/SeaDve/Kooha.git
as the URL. - Click the build button at the top once the project is loaded.
Meson
Prerequisites
The following packages are required to build Kooha:
- meson
- ninja
- appstream-glib (for checks)
- cargo
- x264 (for MP4)
- gstreamer
- gstreamer-plugins-base
- gstreamer-plugins-ugly (for MP4)
- gstreamer-vaapi (for hardware acceleration)
- glib2
- gtk4
- libadwaita
Build Instruction
git clone https://github.com/SeaDve/Kooha.git
cd Kooha
meson _build --prefix=/usr/local
ninja -C _build install
🙌
Help translate Kooha
You can help Kooha translate into your native language. If you found any typos or think you can improve a translation, you can use the Weblate platform.
☕
Support me and the project
Kooha is free and will always be for everyone to use. If you like the project and would like to support and fund it, you may donate through Liberapay.
💝
Acknowledgment
RecApp greatly inspired the creation of Kooha. And also, a warm thank you to all the contributors and translators from Weblate.