Kooha - Elegantly record your screen

Overview

Kooha
Kooha

Elegantly record your screen

Download on Flathub
Donate using Liberapay


Translation status CI status Packaging status

Preview

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.

  1. Download GNOME Builder.
  2. In Builder, click the "Clone Repository" button at the bottom, using https://github.com/SeaDve/Kooha.git as the URL.
  3. 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.

Comments
  • Support Sway WM

    Support Sway WM

    Nice screen recording program!

    Upon starting it I noticed it says "sway is not yet supported" (version 1.1.0). And I saw no mention of it in the issue tracker. So I figured I might create this issue as a feature request + tracking issue people can follow if there happens to be updates regarding support for Sway.

    Thank you.

    enhancement 
    opened by faern 76
  • Freezing on record in Ubuntu 21.04 and derivatives

    Freezing on record in Ubuntu 21.04 and derivatives

    The app completely freezes, creates the (empty) files, then (on multiple clicks) offers to wait or kill.

    I've tried all possible combinations of file format, microphone/sounds/cursor, window, selection full screen.

    NAME="Pop!_OS"
    VERSION="21.04"
    ID=pop
    ID_LIKE="ubuntu debian"
    PRETTY_NAME="Pop!_OS 21.04"
    VERSION_ID="21.04"
    HOME_URL="https://pop.system76.com"
    SUPPORT_URL="https://support.system76.com"
    BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
    PRIVACY_POLICY_URL="https://system76.com/privacy"
    VERSION_CODENAME=hirsute
    UBUNTU_CODENAME=hirsute
    LOGO=distributor-logo-pop-os
    
    Linux weywot 5.13.0-7614-generic #14~1631647151~21.04~930e87c-Ubuntu SMP Fri Sep 17 00:24:58 UTC  x86_64 x86_64 x86_64 GNU/Linux
    otheos@weywot:/etc$ 
    

    Visible output on journald is only this (excuse if irrelevant):

    Sep 23 19:34:50 weywot systemd[4948]: Started Application launched by gnome-shell.
    Sep 23 19:34:50 weywot systemd[4948]: Started app-flatpak-io.github.seadve.Kooha-108325.scope.
    Sep 23 19:34:50 weywot systemd[4948]: app-gnome-io.github.seadve.Kooha-108325.scope: Succeeded.
    Sep 23 19:34:56 weywot xdg-desktop-por[15456]: Failed to create foreign window for XID 2036930432
    Sep 23 19:34:56 weywot xdg-desktop-por[15456]: Failed to associate portal window with parent window x11:79691780
    ...
    Sep 23 19:35:01 weywot dbus-daemon[4970]: [session uid=1000 pid=4970] Activating via systemd: service name='org.freedesktop.Tracker1' unit='tracker-store.service' requested by ':1.4' (uid=1000 pid=4963 comm="/usr/libexec/tracker-miner-fs " label="unconfined")
    Sep 23 19:35:01 weywot systemd[4948]: Starting Tracker metadata database store and lookup manager...
    Sep 23 19:35:01 weywot dbus-daemon[4970]: [session uid=1000 pid=4970] Successfully activated service 'org.freedesktop.Tracker1'
    Sep 23 19:35:01 weywot systemd[4948]: Started Tracker metadata database store and lookup manager.
    ...
    Sep 23 19:35:31 weywot tracker-store[108434]: OK
    Sep 23 19:35:31 weywot systemd[4948]: tracker-store.service: Succeeded.
    Sep 23 19:36:00 weywot systemd[4948]: app-flatpak-io.github.seadve.Kooha-108325.scope: Succeeded.
    

    Last line at "wait or kill" output.

    Open to suggestions. Thank you.

    bug 
    opened by spxak1 27
  • Distorted video on screen region recording

    Distorted video on screen region recording

    https://streamable.com/paafl1

    https://streamable.com/hrpobn

    WebM nor MKV file formats make a difference.

    Flatpak latest version. Running it on the command line outputs nothing, so I don't know where to get logs from.

    opened by juxuanu 24
  • App crashed when trying to change save location

    App crashed when trying to change save location

    System Info

    • Kooha version 2.0.0
    • Distro information and version Fedora 34 Workstation
    • Desktop Environment GNOME 40
    • Display Server Xorg
    • Flatpak? Yes.

    Describe the bug App crashed when trying to change save location:

    thread 'main' panicked at 'assertion failed: !ptr.is_null()', /run/build/kooha/vendor/glib/src/translate.rs:1508:9
    

    xdg-desktop-portal-wlr installed.

    bug 
    opened by tim77 19
  • Recording outputs 0kb file, no errors reported via UI

    Recording outputs 0kb file, no errors reported via UI

    Hi, running on arch + wayland, latest packages. There are no errors reported, it seems to run fine, but when I hit stop and go check the destination directory there is a file called 'Kooha-2021-03-21-22:34:26.webm' with size 0. running from the command line I get the following error:

    Error: gst-resource-error-quark: Resource not found. (3) ../gstreamer/plugins/elements/gstfilesrc.c(536): gst_file_src_start (): /GstPipeline:pipeline1/GstFileSrc:filesrc0:
    No such file "/tmp/tmpvideo.mkv"
    

    Doesn't matter if I select mkv or webm, result is the same. Installed from AUR

    Out of scope 
    opened by vitriol 18
  • Selection region is off on integer scaling

    Selection region is off on integer scaling

    Arch Linux, using Kooha 1.0.2, installed from AUR https://aur.archlinux.org/packages/kooha

    I have a Hi-DPI screen with 3840x2160 pixels, 290 dpi. GNOME display scaled to 200%.

    When I record a screen region, it seems that the real coordinates of the rectangle that defines the region are off by one half. Ie. when I define to record the region from (200,200) to (500,500), Kooha really records the region from (100,100) to (250,250).

    bug 
    opened by dmoebius 18
  • Fedora 34 / Gnome Kooha not working

    Fedora 34 / Gnome Kooha not working

    so, I'v recently switched to Fedora 34 to try out wayland and the new Gnome 40, I do some youtube content related to a browser game, and I was looking for a screen recorder for wayland and found Kooha, I installed it via flatpak, followed the install instructions from this github page, and used the command to set it to 60 FPs, when I try to record my screen Kooha completely freezes, then it tells me that Kooha is not responding, asks me to Force to quit or Wait, I opt for Wait, same thing happens after waiting 2-3 times, and then it starts recording my screen, but after it starts recording my screen, and I finish the recording, i click Stop recording, Kooha again freezes, then unfreezes, and continues to record my screen, I literally can't stop the recording ... anyone experiencing similar issues? would be great for any input/guidance on if im missing something or what i could be doing wrong, if you need some logs or anything relevant please ask, I will provide what ever info you need

    for starters, i'm on a AMDGPU (AMD Radeon R9 380 4GB Graphics card)

    bug Out of scope 
    opened by kronikpillow 17
  • Validating appstream file fails

    Validating appstream file fails

    Log of Meson test suite run on 2021-03-14T00:28:30.669786
    
    Inherited environment: SHELL=/bin/bash COLORTERM=truecolor SUDO_GID=0 TEXTDOMAINDIR=/usr/share/locale SUDO_COMMAND='/bin/bash -c chrootbuild kooha fs' SUDO_USER=root PWD=/build/kooha/src SOURCE_DATE_EPOCH=1615681708 LOGNAME=builduser CXXFLAGS='-march=x86-64 -mtune=generic -O2 -pipe -fno-plt' XAUTHORITY=/run/user/1000/gdm/Xauthority COMMAND_MODE=legacy LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now HOME=/build LANG=en_US.utf8 CPPFLAGS=-D_FORTIFY_SOURCE=2 MAKEFLAGS=-j17 TERM=xterm-256color USER=builduser DISPLAY=:1 SHLVL=2 LC_ALL=en_US.UTF-8 CHOST=x86_64-pc-linux-gnu PATH=/build/.local/bin:/build/.local/bin:/build/.local/bin:/home/yochanan/bin:/home/yochanan/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl CFLAGS='-march=x86-64 -mtune=generic -O2 -pipe -fno-plt' SUDO_UID=0 MAIL=/var/mail/builduser OLDPWD=/build/kooha/src TEXTDOMAIN=pacman-scripts _=/usr/bin/meson 
    
    1/3 Validate desktop file   OK              0.00s
    00:28:30 MALLOC_PERTURB_=119 /usr/bin/desktop-file-validate data/io.github.seadve.Kooha.desktop
    ----------------------------------- output -----------------------------------
    ------------------------------------------------------------------------------
    
    2/3 Validate schema file    OK              0.00s
    00:28:30 MALLOC_PERTURB_=163 /usr/bin/glib-compile-schemas --strict --dry-run /build/kooha/src/Kooha/data
    ----------------------------------- output -----------------------------------
    ------------------------------------------------------------------------------
    
    3/3 Validate appstream file FAIL            1.51s   exit status 1
    00:28:30 MALLOC_PERTURB_=111 /usr/bin/appstream-util validate data/io.github.seadve.Kooha.appdata.xml
    ----------------------------------- output -----------------------------------
    stdout:
    data/io.github.seadve.Kooha.appdata.xml: FAILED:
    • attribute-invalid     : <screenshot> width (265) too small [https://raw.githubusercontent.com/SeaDve/Kooha/master/screenshots/Kooha-screenshot.png] minimum is 624px
    • attribute-invalid     : <screenshot> height too small [https://raw.githubusercontent.com/SeaDve/Kooha/master/screenshots/Kooha-screenshot.png] minimum is 351px
    • style-invalid         : <image> has vertical padding [https://raw.githubusercontent.com/SeaDve/Kooha/master/screenshots/Kooha-screenshot.png]
    • style-invalid         : <image> has horizontal padding [https://raw.githubusercontent.com/SeaDve/Kooha/master/screenshots/Kooha-screenshot.png]
    • attribute-invalid     : <screenshot> width (265) too small [https://raw.githubusercontent.com/SeaDve/Kooha/master/screenshots/Kooha-screenshot2.png] minimum is 624px
    • attribute-invalid     : <screenshot> height too small [https://raw.githubusercontent.com/SeaDve/Kooha/master/screenshots/Kooha-screenshot2.png] minimum is 351px
    • style-invalid         : <image> has vertical padding [https://raw.githubusercontent.com/SeaDve/Kooha/master/screenshots/Kooha-screenshot2.png]
    • style-invalid         : <image> has horizontal padding [https://raw.githubusercontent.com/SeaDve/Kooha/master/screenshots/Kooha-screenshot2.png]
    • attribute-invalid     : <screenshot> width (265) too small [https://raw.githubusercontent.com/SeaDve/Kooha/master/screenshots/Kooha-screenshot3.png] minimum is 624px
    • attribute-invalid     : <screenshot> height too small [https://raw.githubusercontent.com/SeaDve/Kooha/master/screenshots/Kooha-screenshot3.png] minimum is 351px
    • style-invalid         : <image> has vertical padding [https://raw.githubusercontent.com/SeaDve/Kooha/master/screenshots/Kooha-screenshot3.png]
    • style-invalid         : <image> has horizontal padding [https://raw.githubusercontent.com/SeaDve/Kooha/master/screenshots/Kooha-screenshot3.png]
    stderr:
    Validation of files failed
    ------------------------------------------------------------------------------
    
    
    Summary of Failures:
    
    3/3 Validate appstream file FAIL            1.51s   exit status 1
    
    
    Ok:                 2   
    Expected Fail:      0   
    Fail:               1   
    Unexpected Pass:    0   
    Skipped:            0   
    Timeout:            0
    
    enhancement 
    opened by yochananmarqos 16
  • Forever stuck in

    Forever stuck in "Flushing" until cancelled

    System Info io.github.seadve.Kooha 2.2.2 Flatpak: true Experimental: false

    Distribution: GNOME 43 (Flatpak runtime) Desktop Session: gnome Display Server: wayland

    GTK 4.8.1 Libadwaita 1.2.0 GStreamer 1.20.3 Pipewire 0.3.57

    Describe the bug When video recording is stopped, the app is forever stuck in the "Flushing" dialog with some disk activity around the video file. When cancelled, the file is deleted. The file is never completed correctly and is damaged.

    To Reproduce Just start recording.

    Expected behavior Should, um, record.

    Additional context This is the log after starting the recording and then cancelling it because it never finishes.

    2022-10-20T13:49:58.075179Z DEBUG kooha::recording: Pipeline changed state from `Paused` -> `Playing`
    2022-10-20T13:50:02.489243Z DEBUG kooha::recording: Sending eos event to pipeline
    2022-10-20T13:50:21.456422Z DEBUG kooha::recording: Cancelling recording
    0:00:30.901585560     2 0x7fb49c0cad20 WARN                audiosrc gstaudiosrc.c:227:audioringbuffer_thread_func:<pulsesrc0> error reading data -1 (reason: Success), skipping segment
    [I][20494.605920] pw.stream    | [        stream.c:  587 impl_send_command()] 0x562fd9b66720: command Spa:Pod:Object:Command:Node:Pause
    [I][20494.605979] pw.node      | [     impl-node.c:  379 node_update_state()] (kooha-0) running -> idle
    [I][20494.609904] pw.stream    | [        stream.c:  587 impl_send_command()] 0x562fd9b66720: command Spa:Pod:Object:Command:Node:Suspend
    [I][20494.609926] pw.node      | [     impl-node.c:  379 node_update_state()] (kooha-0) idle -> suspended
    [I][20494.609956] pw.node      | [     impl-node.c: 1814 pw_impl_node_destroy()] (kooha-0) destroy
    2022-10-20T13:50:21.462566Z DEBUG kooha::window: Cancelled recording
    0:00:30.907501646     2 0x562fd87b5690 ERROR                GST_BUS gstbus.c:1075:gst_bus_remove_watch:<bus9> no bus watch was present
    2022-10-20T13:50:21.480429Z DEBUG kooha::screencast_session: Closed screencast session response=()
    
    opened by mystrdat 15
  • audio is recorded but cuts out intermittedly

    audio is recorded but cuts out intermittedly

    having a weird problem here: any recording of audio from the microphone will go on-and-off-and-on-and-off once a second here, it's not usable.

    have build libadwaita and Kooha from git master yesterday, on up-to-date Fedora 34/Gnome 40.

    the funny thing is that yesterday this didn't happen, but today it does, even in the shortest of recordings.

    3 other applications record audio without this problem: Sound Recorder, Audacity and OBS Studio.

    but it's quite possible this is a bug in some lower-level component.

    bug 
    opened by mistmist 14
  • No microphone source found

    No microphone source found

    System Info

    • io.github.seadve.Kooha 2.1.0

    • Flatpak: true

    • Distribution: GNOME 42 (Flatpak runtime)

    • Desktop Session: ubuntu

    • Display Server: wayland

    • GTK 4.6.6

    • Libadwaita 1.2.0

    • GStreamer 1.18.6

    Describe the bug I had it working well just one-four days ago. Some updates has been installed just a few moments ago and I can't use the application now due to the missing microphone error: No microphone source found

    Caused by: Failed to find a default device

    ..however, I do have the microphone connected, all works well in the system itself. For example, I have just recorded the sound with a random software - Sound Recorder 42.0 by The GNOME Project.

    To Reproduce Steps to reproduce the behavior:

    1. Open Kooha
    2. Select "Capture a Monitor or Windows", "Record Computer Sounds", "Record from Microphone", "Show Pointer"
    3. Click on "Record". The popup window appears with "Select monitor to share with Kooha" option (I do have two options), I select "Built-in dislpay", and click "Share"
    4. The error pops up:

    No microphone source found

    Caused by: Failed to find a default device

    Expected behavior I would expect this error to not be in place because the sound works well on other applications. I assume it is related to the newest version of the Kooha or some very recent (a day-two of age) updates from Ubuntu 22.04.1 LTS

    Screenshots

    image

    image

    image

    image

    Additional context

    paulius@paulius-ThinkPad-P15-Gen-2i:~$ RUST_BACKTRACE=1 RUST_LOG=kooha=debug GST_DEBUG=3 PIPEWIRE_DEBUG=3 flatpak run io.github.seadve.Kooha
    2022-08-20T21:00:08.587113Z  INFO kooha::application: Kooha (io.github.seadve.Kooha)
    2022-08-20T21:00:08.587126Z  INFO kooha::application: Version: 2.1.0 ()
    2022-08-20T21:00:08.587128Z  INFO kooha::application: Datadir: /app/share/kooha
    2022-08-20T21:00:17.249371Z DEBUG kooha::screencast_session: Waiting request response for method `CreateSession`
    2022-08-20T21:00:17.249688Z DEBUG kooha::screencast_session: Request response received for method `CreateSession`
    2022-08-20T21:00:17.249705Z DEBUG kooha::screencast_session: Created screencast session response=VariantDict({"session_handle": Variant { ptr: 0x7fb9d40018f0, type: VariantTy { inner: "s" }, value: "'/org/freedesktop/portal/desktop/session/1_262/kooha_0'" }})
    2022-08-20T21:00:17.249721Z DEBUG kooha::recording: ScreenCast portal version: Ok(4)
    2022-08-20T21:00:17.249725Z DEBUG kooha::recording: Available cursor modes: Ok(HIDDEN | EMBEDDED | METADATA)
    2022-08-20T21:00:17.249727Z DEBUG kooha::recording: Available source types: Ok(MONITOR | WINDOW)
    2022-08-20T21:00:17.250870Z DEBUG kooha::screencast_session: Waiting request response for method `SelectSources`
    2022-08-20T21:00:17.251106Z DEBUG kooha::screencast_session: Request response received for method `SelectSources`
    2022-08-20T21:00:17.251131Z DEBUG kooha::screencast_session: Selected sources response=VariantDict({})
    2022-08-20T21:00:17.252404Z DEBUG kooha::screencast_session: Waiting request response for method `Start`
    2022-08-20T21:00:22.737849Z DEBUG kooha::screencast_session: Request response received for method `Start`
    2022-08-20T21:00:22.737885Z DEBUG kooha::screencast_session: Started screencast session response=VariantDict({"streams": Variant { ptr: 0x7fb9c4001f60, type: VariantTy { inner: "a(ua{sv})" }, value: "[(uint32 50, {'id': <'0'>, 'source_type': <uint32 1>, 'position': <(0, 0)>, 'size': <(1920, 1080)>})]" }})
    2022-08-20T21:00:22.739431Z DEBUG kooha::screencast_session: Opened pipe wire remote response=Variant { ptr: 0x7fb9e0012870, type: VariantTy { inner: "(h)" }, value: "(handle 0,)" } fd_list=[11]
    [I][01599.559000][      pipewire.c:  571 pw_init()] version 0.3.35
    [I][01599.562036][          conf.c:  326 conf_load()] config 0x7fb9d8025ac0: loading config '/usr/share/pipewire/client.conf'
    [I][01599.562063][       context.c:  384 pw_context_new()] context 0x7fb9d8025600: parsed context.properties section
    [I][01599.562284][       context.c:  478 pw_context_new()] context 0x7fb9d8025600: parsed 2 context.spa-libs items
    [I][01599.562446][          conf.c:  419 load_module()] config 0x7fb9d8025600: loaded module libpipewire-module-protocol-native
    [I][01599.562652][          conf.c:  419 load_module()] config 0x7fb9d8025600: loaded module libpipewire-module-client-node
    [I][01599.562723][          conf.c:  419 load_module()] config 0x7fb9d8025600: loaded module libpipewire-module-client-device
    [I][01599.562805][          conf.c:  419 load_module()] config 0x7fb9d8025600: loaded module libpipewire-module-adapter
    [I][01599.562891][          conf.c:  419 load_module()] config 0x7fb9d8025600: loaded module libpipewire-module-metadata
    [I][01599.563046][          conf.c:  419 load_module()] config 0x7fb9d8025600: loaded module libpipewire-module-session-manager
    [I][01599.563054][       context.c:  482 pw_context_new()] context 0x7fb9d8025600: parsed 6 context.modules items
    [I][01599.563059][       context.c:  487 pw_context_new()] context 0x7fb9d8025600: parsed 0 context.objects items
    [I][01599.563063][       context.c:  490 pw_context_new()] context 0x7fb9d8025600: parsed 0 context.exec items
    [I][01599.563086][       context.c:  244 context_set_freewheel()] context 0x7fb9d8025600: exit freewheel
    [I][01599.563093][       context.c:  248 context_set_freewheel()] context 0x7fb9d8025600: freewheel error:Operation not supported
    [I][01599.563099][ impl-metadata.c:  196 impl_set_property()] metadata 0x7fb9d81883a0: add id:0 key:log.level type: value:0
    [I][01599.563105][ impl-metadata.c:  196 impl_set_property()] metadata 0x7fb9d81883a0: add id:0 key:clock.min-quantum type: value:32
    [I][01599.563110][ impl-metadata.c:  196 impl_set_property()] metadata 0x7fb9d81883a0: add id:0 key:clock.max-quantum type: value:8192
    [I][01599.563115][ impl-metadata.c:  196 impl_set_property()] metadata 0x7fb9d81883a0: add id:0 key:clock.force-quantum type: value:0
    [I][01599.563119][ impl-metadata.c:  196 impl_set_property()] metadata 0x7fb9d81883a0: add id:0 key:clock.force-rate type: value:0
    [I][01599.563168][  local-socket.c:   88 try_connect()] connecting to 'pipewire-0' runtime_dir:/run/user/1000
    [I][01599.563181][  local-socket.c:   88 try_connect()] connecting to 'pipewire-0' runtime_dir:/run/pipewire
    0:00:14.170800381     2 0x55f8116dd580 ERROR               pipewire gstpipewiredeviceprovider.c:613:gst_pipewire_device_provider_start:<pipewiredeviceprovider0> Failed to connect
    0:00:14.394183637     2 0x55f8116dd580 WARN                    alsa pcm_hw.c:1716:snd_pcm_hw_open: alsalib error: open '/dev/snd/pcmC2D1c' failed (-22): Invalid argument
    0:00:14.394230506     2 0x55f8116dd580 ERROR                   alsa gstalsadeviceprovider.c:57:add_device:<alsadeviceprovider0> Could not open device hw:2,1 for inspection!
    0:00:14.423768348     2 0x55f8116dd580 WARN                    alsa conf.c:5476:parse_args: alsalib error: Parameter DEV must be an integer
    0:00:14.423825096     2 0x55f8116dd580 WARN                    alsa conf.c:5583:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
    0:00:14.423840613     2 0x55f8116dd580 WARN                    alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:0,3:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
    0:00:14.424419441     2 0x55f8116dd580 WARN                    alsa conf.c:5476:parse_args: alsalib error: Parameter DEV must be an integer
    0:00:14.424441158     2 0x55f8116dd580 WARN                    alsa conf.c:5583:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
    0:00:14.424454589     2 0x55f8116dd580 WARN                    alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:0,7:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
    0:00:14.424723490     2 0x55f8116dd580 WARN                    alsa conf.c:5476:parse_args: alsalib error: Parameter DEV must be an integer
    0:00:14.424739756     2 0x55f8116dd580 WARN                    alsa conf.c:5583:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
    0:00:14.424751853     2 0x55f8116dd580 WARN                    alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:0,8:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
    0:00:14.424998665     2 0x55f8116dd580 WARN                    alsa conf.c:5476:parse_args: alsalib error: Parameter DEV must be an integer
    0:00:14.425019081     2 0x55f8116dd580 WARN                    alsa conf.c:5583:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
    0:00:14.425031223     2 0x55f8116dd580 WARN                    alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:0,9:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
    0:00:14.425265519     2 0x55f8116dd580 WARN                    alsa conf.c:5476:parse_args: alsalib error: Parameter DEV must be an integer
    0:00:14.425281174     2 0x55f8116dd580 WARN                    alsa conf.c:5583:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
    0:00:14.425293805     2 0x55f8116dd580 WARN                    alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:0,10:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
    0:00:14.425519293     2 0x55f8116dd580 WARN                    alsa conf.c:5476:parse_args: alsalib error: Parameter DEV must be an integer
    0:00:14.425534060     2 0x55f8116dd580 WARN                    alsa conf.c:5583:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
    0:00:14.425543257     2 0x55f8116dd580 WARN                    alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:0,11:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
    0:00:14.425753959     2 0x55f8116dd580 WARN                    alsa conf.c:5476:parse_args: alsalib error: Parameter DEV must be an integer
    0:00:14.425769130     2 0x55f8116dd580 WARN                    alsa conf.c:5583:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
    0:00:14.425778163     2 0x55f8116dd580 WARN                    alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:0,12:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
    0:00:14.426058551     2 0x55f8116dd580 WARN                    alsa conf.c:5476:parse_args: alsalib error: Parameter DEV must be an integer
    0:00:14.426073849     2 0x55f8116dd580 WARN                    alsa conf.c:5583:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
    0:00:14.426083626     2 0x55f8116dd580 WARN                    alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:1,0:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
    0:00:14.426386320     2 0x55f8116dd580 WARN                    alsa conf.c:5476:parse_args: alsalib error: Parameter DEV must be an integer
    0:00:14.426401991     2 0x55f8116dd580 WARN                    alsa conf.c:5583:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
    0:00:14.426411240     2 0x55f8116dd580 WARN                    alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:2,0:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
    0:00:14.426715362     2 0x55f8116dd580 WARN                    alsa pcm_hw.c:1716:snd_pcm_hw_open: alsalib error: open '/dev/snd/pcmC2D1p' failed (-22): Invalid argument
    0:00:14.426747580     2 0x55f8116dd580 ERROR                   alsa gstalsadeviceprovider.c:57:add_device:<alsadeviceprovider0> Could not open device hw:2,1 for inspection!
    0:00:14.443044877     2 0x55f8116dd580 WARN                    alsa conf.c:5476:parse_args: alsalib error: Parameter DEV must be an integer
    0:00:14.443054436     2 0x55f8116dd580 WARN                    alsa conf.c:5583:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
    0:00:14.443057654     2 0x55f8116dd580 WARN                    alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:2,3:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
    0:00:14.443221689     2 0x55f8116dd580 WARN                    alsa conf.c:5476:parse_args: alsalib error: Parameter DEV must be an integer
    0:00:14.443231342     2 0x55f8116dd580 WARN                    alsa conf.c:5583:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
    0:00:14.443236411     2 0x55f8116dd580 WARN                    alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:2,4:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
    0:00:14.443375564     2 0x55f8116dd580 WARN                    alsa conf.c:5476:parse_args: alsalib error: Parameter DEV must be an integer
    0:00:14.443382121     2 0x55f8116dd580 WARN                    alsa conf.c:5583:snd_config_expand: alsalib error: Parse arguments error: Invalid argument
    0:00:14.443386286     2 0x55f8116dd580 WARN                    alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:2,5:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
    2022-08-20T21:00:23.022702Z DEBUG kooha::audio_device: Finding device name for class `Source`
    2022-08-20T21:00:23.022719Z DEBUG kooha::audio_device: Skipping device `pulsedevice0` as it is not the default
    2022-08-20T21:00:23.022738Z  WARN kooha::audio_device: Skipping device `pulsedevice1` as it has no node.name property. FieldNotFound { name: "node.name" }
    2022-08-20T21:00:23.022746Z DEBUG kooha::audio_device: Skipping device `pulsedevice2` as it is not the default
    2022-08-20T21:00:23.022752Z DEBUG kooha::audio_device: Skipping device `pulsedevice3` as it is not the default
    2022-08-20T21:00:23.022758Z DEBUG kooha::audio_device: Skipping device `pulsedevice4` as it is not the default
    2022-08-20T21:00:23.022763Z DEBUG kooha::audio_device: Skipping device `pulsedevice5` as it is not the default
    2022-08-20T21:00:23.022769Z DEBUG kooha::audio_device: Skipping device `pulsedevice6` as it is not the default
    2022-08-20T21:00:23.022775Z DEBUG kooha::audio_device: Skipping device `pulsedevice7` as it is not the default
    2022-08-20T21:00:23.022903Z ERROR kooha::window: No microphone source found
    
    Caused by:
        Failed to find a default device
    2022-08-20T21:00:23.039949Z DEBUG kooha::screencast_session: Closed screencast session response=Variant { ptr: 0x7fb9c4002290, type: VariantTy { inner: "()" }, value: "()" }
    paulius@paulius-ThinkPad-P15-Gen-2i:~$ 
    
    

    p.s. Sorry if that's not Kooha's bug. At the moment it's very hard to say... Either way, other sound-related software seems to be working with no issues for now. Thanks for looking into the case when possible! Great tool!

    bug 
    opened by PauliusMacernis 13
  • Screen selection shows the same description for multiple monitors.

    Screen selection shows the same description for multiple monitors.

    System Info

    • io.github.seadve.Kooha 2.2.3

    • Flatpak: true

    • Experimental: false

    • Distribution: GNOME 43 (Flatpak runtime)

    • Desktop Session: pop

    • Display Server: x11

    • Resolution: 1920x1080, 1440x2560, 2560x1440

    • GTK 4.8.3

    • Libadwaita 1.2.0

    • GStreamer 1.20.4

    • Pipewire 0.3.59

    Describe the bug I have three monitors from the same manufacturer and are the same size. Each have a different orientation/resolution. However, the description in the screen selection shows the same text for each one.

    To Reproduce Steps to reproduce the behavior:

    1. Click record

    Expected behavior Being this is the fist time using the application, I was expecting it to show the order of the monitors, the resolution of each, or some other descriptor.

    Screenshots Screenshot_2022-12-31_10-00

    opened by bgoewert 1
  • Record doesn't work on ArchLinux / Wayland

    Record doesn't work on ArchLinux / Wayland

    System Info Archlinux Sway Window Manager

    Describe the bug Unable to begin a session.

    To Reproduce Steps to reproduce the behavior:

    1. Click Record

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots

    Failed to start recording
    
    Caused by:
        0: Check out <a href="https://github.com/SeaDve/Kooha#-it-doesnt-work">It Doesn't Work page</a> for help.
        1: Failed to create ScreencastSession
        2: Failed to create session
        3: Interaction was ended in some other way with response Variant { ptr: 0x563f47d40180, type: VariantTy { inner: "a{sv}" }, value: "@a{sv} {}" }
    

    Additional context

    $ RUST_BACKTRACE=1 RUST_LOG=kooha=debug GST_DEBUG=3 PIPEWIRE_DEBUG=3`
    (e.g., `RUST_BACKTRACE=1 RUST_LOG=kooha=debug GST_DEBUG=3 PIPEWIRE_DEBUG=3 kooha
    -bash: command substitution: line 3: syntax error: unexpected end of file
    2022-12-28T20:43:49.525137Z  INFO kooha::application: Kooha (io.github.seadve.Kooha)
    2022-12-28T20:43:49.525156Z  INFO kooha::application: Version: 2.2.3 ()
    2022-12-28T20:43:49.525161Z  INFO kooha::application: Datadir: /usr/share/kooha
    2022-12-28T20:43:51.996990Z DEBUG kooha::screencast_session: Waiting request response for method `CreateSession`
    2022-12-28T20:43:51.997427Z DEBUG kooha::screencast_session: Request response received for method `CreateSession`
    2022-12-28T20:43:51.997626Z ERROR kooha::window: Failed to start recording
    
    Caused by:
        0: Check out <a href="https://github.com/SeaDve/Kooha#-it-doesnt-work">It Doesn't Work page</a> for help.
        1: Failed to create ScreencastSession
        2: Failed to create session
        3: Interaction was ended in some other way with response Variant { ptr: 0x7f10e8002940, type: VariantTy { inner: "a{sv}" }, value: "@a{sv} {}" }
    
    opened by GreenLunar 1
  • [Feature] Capture a program and its audio

    [Feature] Capture a program and its audio

    ~~Cature a specific program.~~

    ~~User may select a program from menu (of active programs) or select an active program.~~

    ~~Kooha will~~

    Record selected program and its audio. Only the audio source of the program. Ignore all other audio streams of other sources.

    ~~Preferably, if feasible, Kooha will lock the window size and location of the selected program and will also lock placement on top of all windows.~~

    ~~I'm not sure about it though.~~ ~~Sound complicated.~~

    ~~What do you think?~~

    opened by GreenLunar 0
  • the recording is erased

    the recording is erased

    • io.github.seadve.Kooha 2.2.2

    • Flatpak: true

    • Experimental: false

    • Distribution: GNOME 43 (Flatpak runtime)

    • Desktop Session: gnome-xorg

    • Display Server: x11

    • GTK 4.8.2

    • Libadwaita 1.2.0

    • GStreamer 1.20.3

    • Pipewire 0.3.57

    Describe the bug after recording the recording is deleted by itself, I have used Wayland and Xorg in both cases the same thing happens, I am using fedora 37 with Gnome-shell 43.1

    Captura desde 2022-11-28 07-10-02 Captura desde 2022-11-28 07-10-19 Captura desde 2022-11-28 07-10-34

    (e.g., RUST_BACKTRACE=1 RUST_LOG=kooha=debug GST_DEBUG=3 PIPEWIRE_DEBUG=3 flatpak run io.github.seadve.Kooha).

    opened by jenrrysd 1
  • Recording doesn't start, flatpak run exits with code 139

    Recording doesn't start, flatpak run exits with code 139

    System Info

    - io.github.seadve.Kooha 2.2.2
    - Flatpak: true
    - Experimental: false
    
    - Distribution: GNOME 43 (Flatpak runtime)
    - Desktop Session: ubuntu
    - Display Server: wayland
    
    - GTK 4.8.2
    - Libadwaita 1.2.0
    - GStreamer 1.20.3
    - Pipewire 0.3.57
    

    Describe the bug Once I press “Record” and then “Share”, nothing happens. The flatpak run command exits with exit code 139.

    To Reproduce Steps to reproduce the behavior:

    1. env RUST_BACKTRACE=1 RUST_LOG=kooha=debug GST_DEBUG=3 PIPEWIRE_DEBUG=3 flatpak run io.github.seadve.Kooha
      
    2. Click on “Record”.

    3. Click on “Share”.

    Expected behavior Recording starts.

    Additional context

    2022-11-24T15:20:10.108968Z  INFO kooha::application: Kooha (io.github.seadve.Kooha)
    2022-11-24T15:20:10.108987Z  INFO kooha::application: Version: 2.2.2 ()
    2022-11-24T15:20:10.108990Z  INFO kooha::application: Datadir: /app/share/kooha
    2022-11-24T15:22:11.056604Z DEBUG kooha::screencast_session: Waiting request response for method `CreateSession`
    2022-11-24T15:22:11.057287Z DEBUG kooha::screencast_session: Request response received for method `CreateSession`
    2022-11-24T15:22:11.057323Z DEBUG kooha::screencast_session: Created screencast session response={'session_handle': <'/org/freedesktop/portal/desktop/session/1_403/kooha_0'>}
    2022-11-24T15:22:11.057357Z DEBUG kooha::recording: ScreenCast portal version: Ok(4)
    2022-11-24T15:22:11.057368Z DEBUG kooha::recording: Available cursor modes: Ok(HIDDEN | EMBEDDED | METADATA)
    2022-11-24T15:22:11.057379Z DEBUG kooha::recording: Available source types: Ok(MONITOR | WINDOW)
    2022-11-24T15:22:11.065662Z DEBUG kooha::screencast_session: Waiting request response for method `SelectSources`
    2022-11-24T15:22:11.066778Z DEBUG kooha::screencast_session: Request response received for method `SelectSources`
    2022-11-24T15:22:11.066817Z DEBUG kooha::screencast_session: Selected sources response=@a{sv} {}
    2022-11-24T15:22:11.070899Z DEBUG kooha::screencast_session: Waiting request response for method `Start`
    2022-11-24T15:22:11.086634Z DEBUG kooha::screencast_session: Request response received for method `Start`
    2022-11-24T15:22:11.086705Z DEBUG kooha::screencast_session: Started screencast session response={'restore_token': <'23e2a572-fda9-488b-b3a5-9f01cd58c237'>, 'streams': <[(uint32 43, {'id': <'0'>, 'source_type': <uint32 1>, 'position': <(0, 0)>, 'size': <(2560, 1440)>})]>}
    2022-11-24T15:22:11.088731Z DEBUG kooha::screencast_session: Opened pipe wire remote response=(handle 0,) fd_list=[10]
    [I][09661.342616] pw.context   | [      pipewire.c:  662 pw_init()] version 0.3.57
    [I][09661.345368] pw.conf      | [          conf.c:  423 conf_load()] 0x55f6cd79c1a0: loaded config '/usr/share/pipewire/client.conf' with 5 items
    [I][09661.345441] pw.conf      | [          conf.c:  881 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.properties'
    [I][09661.345475] pw.context   | [       context.c:  260 pw_context_new()] 0x55f6cd79d280: parsed 1 context.properties items
    [I][09661.346014] pw.conf      | [          conf.c:  881 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.spa-libs'
    [I][09661.346075] pw.context   | [       context.c:  361 pw_context_new()] 0x55f6cd79d280: parsed 2 context.spa-libs items
    [I][09661.346098] pw.conf      | [          conf.c:  881 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.modules'
    [I][09661.346541] pw.conf      | [          conf.c:  602 load_module()] 0x55f6cd79d280: loaded module libpipewire-module-protocol-native
    [I][09661.346936] pw.conf      | [          conf.c:  602 load_module()] 0x55f6cd79d280: loaded module libpipewire-module-client-node
    [I][09661.347141] pw.conf      | [          conf.c:  602 load_module()] 0x55f6cd79d280: loaded module libpipewire-module-client-device
    [I][09661.347374] pw.conf      | [          conf.c:  602 load_module()] 0x55f6cd79d280: loaded module libpipewire-module-adapter
    [I][09661.347598] pw.conf      | [          conf.c:  602 load_module()] 0x55f6cd79d280: loaded module libpipewire-module-metadata
    [I][09661.347844] pw.conf      | [          conf.c:  602 load_module()] 0x55f6cd79d280: loaded module libpipewire-module-session-manager
    [I][09661.347867] pw.context   | [       context.c:  365 pw_context_new()] 0x55f6cd79d280: parsed 6 context.modules items
    [I][09661.347882] pw.context   | [       context.c:  370 pw_context_new()] 0x55f6cd79d280: parsed 0 context.objects items
    [I][09661.347896] pw.context   | [       context.c:  373 pw_context_new()] 0x55f6cd79d280: parsed 0 context.exec items
    [I][09661.347962] pw.metadata  | [ impl-metadata.c:  205 impl_set_property()] 0x55f6cd7b1b20: add id:0 key:log.level type: value:0
    [I][09661.347981] pw.metadata  | [ impl-metadata.c:  205 impl_set_property()] 0x55f6cd7b1b20: add id:0 key:clock.rate type: value:48000
    [I][09661.347997] pw.metadata  | [ impl-metadata.c:  205 impl_set_property()] 0x55f6cd7b1b20: add id:0 key:clock.allowed-rates type: value:[ 48000 ]
    [I][09661.348013] pw.metadata  | [ impl-metadata.c:  205 impl_set_property()] 0x55f6cd7b1b20: add id:0 key:clock.quantum type: value:1024
    [I][09661.348028] pw.metadata  | [ impl-metadata.c:  205 impl_set_property()] 0x55f6cd7b1b20: add id:0 key:clock.min-quantum type: value:32
    [I][09661.348044] pw.metadata  | [ impl-metadata.c:  205 impl_set_property()] 0x55f6cd7b1b20: add id:0 key:clock.max-quantum type: value:2048
    [I][09661.348058] pw.metadata  | [ impl-metadata.c:  205 impl_set_property()] 0x55f6cd7b1b20: add id:0 key:clock.force-quantum type: value:0
    [I][09661.348072] pw.metadata  | [ impl-metadata.c:  205 impl_set_property()] 0x55f6cd7b1b20: add id:0 key:clock.force-rate type: value:0
    [I][09661.348223] pw.conf      | [          conf.c:  881 pw_context_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'stream.properties'
    0:02:01.007158887     2 0x55f6cc956e40 FIXME                default gstutils.c:4025:gst_pad_create_stream_id_internal:<pipewiresrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
    [I][09661.349730] pw.stream    | [        stream.c:  587 impl_send_command()] 0x55f6cd7d2550: command Spa:Pod:Object:Command:Node:Start
    

    Also, I've tried running with with Experimental features on, as well as selecting any of my two monitors. Nothing seems to work.

    opened by ainar-g 1
  • Fix tests

    Fix tests

    Now the tests finally pass.

    However, it still doesn’t run on CI out-of-box because some of the tests are not unit tests but integration tests utilizing Gtk that require a display. I successfully run it via xvfb-run, but this provides a virtual X server, not a Wayland server. I haven’t found a similar tool for Wayland yet.

    Fixes #197.

    opened by jirutka 0
Releases(v2.2.3)
  • v2.2.3(Dec 25, 2022)

  • v2.2.2(Oct 2, 2022)

  • v2.2.1(Oct 1, 2022)

  • v2.2.0(Sep 29, 2022)

    This release contains new features and fixes:

    • New area selection UI
    • Added option to change the frame rate through the UI
    • Improved delay settings flexibility
    • Added preferences window for easier configuration
    • Added KOOHA_EXPERIMENTAL env var to show experimental (unsupported) encoders like VAAPI-VP8 and VAAPI-H264
    • Added the following experimental (unsupported) encoders: VP9, AV1, and VAAPI-VP9
    • Unavailable formats/encoders are now hidden from the UI
    • Fixed broken audio on long recordings
    • Updated translations
    Source code(tar.gz)
    Source code(zip)
    kooha-2.2.0.tar.xz(15.74 MB)
    kooha-2.2.0.tar.xz.sha256sum(85 bytes)
  • v2.1.1(Aug 21, 2022)

  • v2.1.0(Aug 19, 2022)

    This release contains new features and fixes:

    • Remember previously selected video sources
    • Added ability to cancel while flushing the recording
    • Use different icons for settings toggle button to discern state more clearly
    • Added 3 seconds delay option
    • Fixed x264 encoder failing to initialize on uneven resolutions
    • Fixed minutes stuck on 00 if time is equal or greater than an hour
    • Recordings are now stored by default in ~/Videos/Kooha (This won't affect existing settings)
    • "Show in Files" button in notifications now highlights the file in the file manager
    • Improved support information in the new about window
    • Improved error handling
    • Improved codebase and stability
    • Updated translations
    Source code(tar.gz)
    Source code(zip)
    kooha-2.1.0.tar.xz(15.45 MB)
    kooha-2.1.0.tar.xz.sha256sum(85 bytes)
  • v2.0.1(Oct 19, 2021)

    This is a minor release:

    • GIF recordings now loop infinitely
    • Minor codebase improvements
    • Added Serbian Cyrillic translations
    • Added Serbian Latin translations
    • Updated Croatian translations
    • Updated Ukrainian translations
    • Updated Basque translations
    • Updated Dutch translations
    • Updated Turkish translations
    • Updated Italian translations
    • Updated Spanish translations
    • Updated Hungarian translations
    • Updated German translations
    • Updated Slovak translations
    Source code(tar.gz)
    Source code(zip)
    kooha-2.0.1.tar.xz(15.12 MB)
    kooha-2.0.1.tar.xz.sha256sum(85 bytes)
  • v2.0.0(Sep 23, 2021)

    This is a big release containing a lot of fixes and new features!

    • Added MP4 and GIF formats
    • Added feature to record a single window or monitor
    • Added optional-in hardware accelerated encoding
    • Added multiple video sources recording
    • Added much improved error handling
    • Fixed broken UI on non-default close button placement
    • Fixed major bug in GNOME 41
    • Fixed off selection region on integer scaling
    • Fixed saving the recording to a hidden directory
    • Improved performance
    • Now working for certain desktop environments and window managers
    • Full rewrite to Rust
    • Updated translations
    Source code(tar.gz)
    Source code(zip)
    kooha-2.0.0.tar.xz(15.12 MB)
  • v1.2.1(May 23, 2021)

    This release contains small fixes and improvements:

    • Focus start record button on startup
    • Improved UI and UX
    • Fixed bug when tmp folder doesn't exist
    • Updated Swedish translations
    • Updated Spanish translations
    • Updated Turkish translations
    • Updated Italian translations
    • Updated Dutch translations
    • Updated French translations
    • Updated Portuguese (Brazil) translations
    • Updated Norwegian Bokmål translations
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(May 17, 2021)

    This release brings the new GTK4 and an important fix for GNOME 40.

    • Recording performance improvements
    • Major UI improvements
    • Dynamically change the multiplexer
    • Fix GNOME 40 crashes
    • Fix crashes in non-supported environment
    • Updated Spanish translations
    • Updated Portuguese translations
    • Updated Turkish translations
    • Updated Norwegian Bokmål translations
    • Updated Italian translations
    • Updated Indonesian translations
    Source code(tar.gz)
    Source code(zip)
  • v1.1.3(May 4, 2021)

    New fixes and translations update coming this release:

    • More responsive shortcuts
    • Fix crashing when no desktop environment is set up (#57)
    • Updated Slovak Translations
    • Updated Portuguese (Brazil) Translations
    • Updated Russian Translations
    • Updated Indonesian Translations
    Source code(tar.gz)
    Source code(zip)
  • v1.1.2(Apr 25, 2021)

    This is a minor release composing of fixes and improvements:

    • Minor performance optimizations
    • Updated Dutch translations
    • Updated Turkish translations
    • Updated Spanish translations
    • Updated Indonesian translations
    • Updated Filipino translations
    • Updated Italian translations
    • Updated French translations
    • Updated German translations
    • Updated Norwegian Bokmål translations
    • Updated Chinese (Simplified) translations
    Source code(tar.gz)
    Source code(zip)
  • v1.1.1(Apr 9, 2021)

    This release is composing of minor changes:

    • Minor UI improvements
    • Code cleaning and minor performance improvements
    • Fix a bug when trying to save in an inaccessible location
    • Added Persian translations
    • Added Chinese(simplified) translations
    • Updated translations
    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Mar 25, 2021)

    This update brings new features and few bug fixes:

    • Added a processing view to avoid recording corruption
    • Added a notification after recording to show saving location
    • Added option to change framerate through Kooha's keyfile
    • Minor improvements
    Source code(tar.gz)
    Source code(zip)
  • v1.0.5(Mar 24, 2021)

    This is a small update composing of bug fixes:

    • Fix audio recording in other locales
    • Fix when using keyboard shortcuts unexpectedly
    • Minor improvements
    • Update translations
    Source code(tar.gz)
    Source code(zip)
  • v1.0.4(Mar 23, 2021)

    This release brings a couple of improvements:

    • New! Ability to select audio devices through GNOME Settings
    • Removed the annoying tong sound
    • Fixed when the selection is not divisible by 2
    • Minor UI tweaks and other bug fixes
    • Performance improvements
    • Updated Translations
    • Added Portuguese translations
    • Added Spanish translations
    • Added German translations
    • Added Russian translations
    • Added Italian translations
    Source code(tar.gz)
    Source code(zip)
  • v1.0.3(Mar 17, 2021)

    A couple of bug fixes here and improvements there:

    • Minor performance improvements
    • Bug fixes
    • Added Swedish translations
    • Added Indonesian translations
    • Update Filipino translations
    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Mar 15, 2021)

  • v1.0.1(Mar 14, 2021)

    Version 1.0.1 brings fixes to a couple of bugs:

    • Catch the error when the path of the directory no longer exists
    • Fix the bug when the path contains spaces
    • Fix missing argument argv
    • Possible fix for GioDBus: The name is not activatable
    • Make desktop environment check less strict
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Mar 13, 2021)

    This is the 1.0 release of Kooha. The features of this release include the following:

    • Record your screen and also audio from your microphone or desktop
    • Option to show or hide the pointer
    • Option to record only an area on your screen
    • Select the saving location of the record
    • Ability to add a delay before recording starts
    • Video format settings (MKV and WebM)
    • And of course, keyboard shortcuts!
    Source code(tar.gz)
    Source code(zip)
Owner
Dave Patrick
Dave Patrick
A tray icon to uwuify your text

uwu-tray fastest uwuifier in the west... now in your system tray for even faster uwufication! FAQ Which platforms are supported? Windows Linux MacOS H

Catherine Gilbert 29 Dec 10, 2022
write your next slideshow in rust 🦀, as a self-contained binary 📦.

?? bema Write your next slideshow in rust ?? , as a self-contained binary ?? . ?? DSL See examples/basic.rs. ?? frontends There are several ways you c

Olivier Abdesselam 21 Sep 5, 2022
A small tool to use along with i3/Sway to add CSS-powered decorations to your focused windows, for better usability.

glimmer What A tool for decorating i3 windows when they get focused, written in Rust. classic.mp4 Why When using i3-gaps I ran into the following prob

Daniel Acuña 26 Dec 17, 2022
将 C/C++ 代码转换成流程图 / Turn your C/C++ code into flowchart

cxx2flow 将 C/C++ 代码转换为流程图 效果 更多效果图请参考 GALLERY 两种样式: 折线 平滑 安装 自行编译 cargo install cxx2flow 下载预构建二进制 可以到 GitHub Actions 或 Nightly.link 下载最新构建的二进制,包含 Linu

mgt 427 Dec 26, 2022
Easy pretty print your Rust struct into single element or table

Easy pretty print your Rust struct into single element or table

Adrien Carreira 4 Oct 1, 2021
A TUI to quickly find files in your Google Drive

A TUI to quickly find files in your Google Drive

David Somers 21 Nov 18, 2022
A template to kickstart your Cairo 1.0 development

Cairo 1 template How to use Install Rust Click the "Use this template" button to use this as a basis for your repo or create a codespace on Github. To

Extropy.io 4 Dec 23, 2022
Fine-tune your instruments.

Chromatic Fine-tune your instruments with Chromatic. Chromatic detects the frequency of audio input, converts it to a musical note with the correct se

Nathanael 30 Apr 13, 2023
With Dejavu, you can have a perfect memory by capturing and organizing your visual recordings efficiently.

Dejavu The content in README.md is assisted by ChatGPT. Overview Dejavu is an open-source, cross-platform tool designed to help you record and search

Zhou Zhiqiang 127 Jul 31, 2023
Play Hack The Box directly on your system.

HTB Toolkit HTB Toolkit allows you to play Hack The Box machines directly on your system. Usage To use HTB Toolkit, you need to retrieve an App Token

D3vil0p3r 9 Sep 5, 2023
rd is a record/replay debugger written in rust

rd is a record/replay debugger written in rust

Sidharth Kshatriya 948 Dec 27, 2022
rd is a record/replay debugger written in rust

rd The Record & Debug Tool The Record & Debug Tool (rd) is a Rust language port of the rr-debugger/rr debugger. With rd you can record Linux program e

Sidharth Kshatriya 948 Dec 27, 2022
Fill Apache Arrow record batches from an ODBC data source in Rust.

arrow-odbc Fill Apache Arrow arrays from ODBC data sources. This crate is build on top of the arrow and odbc-api crate and enables you to read the dat

Markus Klein 21 Dec 27, 2022
below is an interactive tool to view and record historical system data.

A time traveling resource monitor for modern Linux systems

Facebook Incubator 824 Dec 31, 2022
rd is a record/replay debugger written in rust

rd The Record & Debug Tool The Record & Debug Tool (rd) is a Rust language port of the rr-debugger/rr debugger. With rd you can record Linux program e

Sidharth Kshatriya 947 Dec 8, 2022
Record and Replay Framework

Overview rr is a lightweight tool for recording, replaying and debugging execution of applications (trees of processes and threads). Debugging extends

null 7.6k Jan 1, 2023
Adapt the screen's color spectrum according to the hour of the day in order to improve your sleep

circadianlight What It Is Circadian Light is a program, currently only working on Linux with X, that controls the color spectrum of your screen accord

null 7 Dec 28, 2022
A simple example showcasing how to use Bevy to display a square with acceleration (controllable with your keyboard) that wraps around the screen!

Bevy Wrapping Square example A simple example showcasing how to use Bevy to display a square with acceleration (controllable with your keyboard) that

Luciano Mammino 3 Oct 23, 2022
on-screen keyboard display for your coding streams.

⌨ OSKD (On-screen key display) OSKD is an on-screen keyboard display that can be used during streams. It provides an intuitive and easy-to-use interfa

Sammwy 46 May 6, 2023
Limit screen time to children's various mobile devices by blocking internet access on the family Wifi router.

Device Blocker Limit screen time to children's various mobile devices by blocking internet access on the family Wifi router. This is the server which

null 36 Oct 4, 2022