Coder Social home page Coder Social logo

seadve / kooha Goto Github PK

View Code? Open in Web Editor NEW
2.4K 2.4K 68.0 5.57 MB

Elegantly record your screen

License: GNU General Public License v3.0

Meson 3.11% CSS 0.26% Shell 0.35% Rust 96.28%
gnome gstreamer gtk-rs gtk4 gtk4-rs linux rust screen-recorder video-recording wayland

kooha's Introduction

Kooha
Kooha

Elegantly record your screen

Download on Flathub
Buy Me a Coffee


Translation status Flathub downloads CI status

Preview

Capture your screen in an 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:

  • πŸŽ™οΈ Record microphone, desktop audio, or both at the same time
  • πŸ“Ό Support for WebM, MP4, GIF, and Matroska formats
  • πŸ–₯️ Select a monitor or a portion of the screen to record
  • πŸ› οΈ Configurable saving location, pointer visibility, frame rate, and delay
  • πŸš€ Experimental hardware-accelerated encoding

πŸ˜• 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 screencast compatibility page of xdg-desktop-portal-wlr wiki may help determine 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.

βš™οΈ Experimental Features

These features are disabled by default due to stability issues and possible performance degradation. However, they can be enabled manually by running Kooha with KOOHA_EXPERIMENTAL env var set to all (e.g., KOOHA_EXPERIMENTAL=all flatpak run io.github.seadve.Kooha), or individually, by setting KOOHA_EXPERIMENTAL to the following keys (e.g., KOOHA_EXPERIMENTAL=experimental-formats,window-recording):

Feature Description Issues
all Enables all experimental features -
experimental-formats Enables other codecs (e.g., hardware-accelerate encoders*, VP9, and AV1) Stability
multiple-video-sources Enables recording multiple monitor or windows Stability and performance
window-recording Enables recording a specific window Flickering

* Requires GST_VAAPI_ALL_DRIVERS env var to be set to 1 and gstreamer-vaapi to be installed.

πŸ“‹ 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
  • appstreamcli (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

πŸ“¦ Third-Party Packages

Unlike Flatpak, take note that these packages are not officially supported by the developer.

Repology

You can also check out other third-party packages on Repology.

πŸ™Œ Help translate Kooha

You can help Kooha translate into your native language. If you find 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 it, you may buy me a coffee.

πŸ’ Acknowledgment

I would like to express my gratitude to the contributors and translators of the project.

I would also like to thank the open-source software projects, libraries, and APIs that were used in developing this app, such as GStreamer, GTK, LibAdwaita, and many others, for making Kooha possible.

I would also like to acknowledge RecApp, which greatly inspired the creation of Kooha, as well as GNOME Screenshot, which served as a reference for Kooha's icon design.

kooha's People

Contributors

comradekingu avatar dapigguy avatar darkcircle avatar dusansimic avatar eson57 avatar frapeel avatar jbeich avatar kbdharun avatar knuxify avatar liquidev avatar mathiascode avatar rffontenelle avatar seadve avatar sebastienserre avatar twlvnn avatar uriva avatar usnetv avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kooha's Issues

No feedback when recording audio failed

With either the microphone or speaker button toggled on, when I record my screen I get a recording file just fine, but there's no audio. I'm not familiar enough with the stack to know why (something about me being on Ubuntu 20.04 without Pipewire? 🀷 ), but if there's a straightforward reason, it'd be great to get some feedback on that it won't work, and ideally (if possible) with some guidance on how to resolve it.

container/codec issue

Hi and thanks for the handy app! I was wondering if you could do something regarding this - when I upload a screencap using Kooha to Slack, it won't be detected as a video, won't get a thumbnail and can't be played inline. However with the default GNOME screen recorder, which also uses a .webm, it all works as expected. See screenshot.
image

Recording doesn't save in non flatpak environment

$ kooha                           
audio_gst Error: gst-resource-error-quark: Could not open file "None/tmp/tmpaudio.ogg" for writing. (6) ../gstreamer/plugins/elements/gstfilesink.c(471): gst_file_sink_open_file (): /GstPipeline:pipeline0/GstFi
leSink:filesink0:
system error: Bad file descriptor
audio_gst Error: gst-core-error-quark: GStreamer error: state change f
ailed and some element failed to post a proper error message with the
reason for the failure. (4) ../gstreamer/libs/gst/base/gstbasesink.c(5
865): gst_base_sink_change_state (): /GstPipeline:pipeline0/GstFileSin
k:filesink0:
Failed to start
Traceback (most recent call last):
  File "/usr/share/kooha/kooha/window.py", line 135, in on_stop_record
_button_clicked
    self.video_recorder.stop()
  File "/usr/share/kooha/kooha/recorders.py", line 159, in stop
    self.GNOMEScreencast.call_sync(
gi.repository.GLib.Error: g-dbus-error-quark: GDBus.Error:org.freedesk
top.DBus.Error.NoReply: Message recipient disconnected from message bu
s without replying (4)

$ lsb_release -a
LSB Version:	n/a
Distributor ID:	ManjaroLinux
Description:	Manjaro Linux
Release:	20.2.1
Codename:	Nibia

.MKV is a weird default

In my experience, .mkv is less compatible with things like IM apps, social networks, etc. compared to .webm, so it's a little bit weird to have that as a default.

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

Request: Save recordings as .gif

My use case for screen recordings is to send small GUI demos to colleagues and sometimes show bugs in a more visual manner. For this use case, being able to send gifs is extremely useful because some platforms (like GitHub) do not support videos. Having the gif playing automatically without the need for them to open a video is also very convenient.

snap package

Thanks for this so far best solution on Wayland environments.

Do you plan to also release this to the snap store or is there a showstopper?
(Currently this app is the only reason I am using flatpack)

TypeError: init() missing 1 required positional argument: 'argv'

I just built 1.0.0 and tried from the latest commit:

Traceback (most recent call last):
  File "/usr/bin/kooha", line 40, in <module>
    from kooha import main
  File "/usr/share/kooha/kooha/main.py", line 28, in <module>
    Gst.init()
TypeError: init() missing 1 required positional argument: 'argv'

Meson 0.57.1
Python 3.9.2
Manjaro GNOME

draw selected region on screen

if a region has been selected, it would be great if it could be drawn on the screen, so in case one is moving windows around, it is easy to see what is being recorded.

[Feature] Follow mouse pointer

Hello! This is a very nice utility for Gnome, it works really well on Wayland. For anyone trying to install it from sources, just make sure gir1.2-handy-1 is installed. I have built it without issues on Pop!_OS 20.10 (like Ubuntu 20.10) and although libhandy-1-0 was already installed, the GObject introspection files were missing.

The only thing I could suggest for improvements would be adding an option to follow the cursor, like a red or yellow circle, to make it easier to follow it during a screen cast, with also an animation when the buttons click.

Thanks again. Regards.

Send notification when the video file is completed.

Once the recording is over, the final output video file starts being populated. Depending on multiple factors, this can take some time and the only way to ensure that the process is over is to refresh the file browser until modification time stops increasing.

A notification letting the user know that the process is happening and another informing the process is over would be very useful, specially when the intention is to shut down after a recording.

In any case, amazing software. Many thanks!

Support for Window Managers

I'm getting this error when I run the program.

Traceback (most recent call last):
  File "/app/share/kooha/kooha/main.py", line 63, in do_activate
    self.window = KoohaWindow(application=self)
  File "/app/share/kooha/kooha/window.py", line 58, in __init__
    desktop_environment = os.environ['XDG_CURRENT_DESKTOP']
  File "/usr/lib/python3.8/os.py", line 675, in __getitem__
    raise KeyError(key) from None
KeyError: 'XDG_CURRENT_DESKTOP'

selection size

i like this app, simple and functional. if i can suggest a new features when i use resize window to capture i need the size of the selection to be sure to make a 1920X1080 windows and put the app i need to recorder inside. and a border of the selecion i am using.
thanks

Mouse pointer is not visible in X11

Video Recording:

ssr.mp4

Neofetch:

          /:-------------:\          prateeksu@fedora 
       :-------------------::        ---------------- 
     :-----------/shhOHbmp---:\      OS: Fedora 34 (Workstation Edition) x86_64 
   /-----------omMMMNNNMMD  ---:     Kernel: 5.11.13-300.fc34.x86_64 
  :-----------sMMMMNMNMP.    ---:    Uptime: 1 hour, 2 mins 
 :-----------:MMMdP-------    ---\   Packages: 2444 (rpm), 14 (flatpak) 
,------------:MMMd--------    ---:   Shell: fish 3.2.1 
:------------:MMMd-------    .---:   Resolution: 1600x900 
:----    oNMMMMMMMMMNho     .----:   DE: GNOME 40.0 
:--     .+shhhMMMmhhy++   .------/   WM: Mutter 
:-    -------:MMMd--------------:    WM Theme: Adwaita 
:-   --------/MMMd-------------;     Theme: Adwaita-dark [GTK2/3] 
:-    ------/hMMMy------------:      Icons: Tela-dark [GTK2/3] 
:-- :dMNdhhdNMMNo------------;       Terminal: gnome-terminal 
:---:sdNMMMMNds:------------:        CPU: Intel Core 2 Quad Q9300 (4) @ 1.077GHz 
:------:://:-------------::          GPU: NVIDIA GeForce GT 1030 
:---------------------://            Memory: 3165MiB / 7950MiB 

with Xorg session

GNOME volume change sounds of top bar are not recorded

Use Kooha like this:

grafik

video:
Kooha-2021-04-08-10:41:07.zip

The sounds of the GNOME volume change of the top bar are not recorded.
I just noticed by using the "test" in the GNOME audio settings that other sounds are apparently recorded properly.

$ flatpak run io.github.seadve.Kooha                  
Default sink: alsa_output.pci-0000_00_1b.0.analog-stereo.monitor 
Default source: None

weblate: closed for contributions due to "Could not push the repository."

Translations for Kooha in Weblate are currently closed because Weblate failed to push contributions to the upstream repository (this one), which can be verified in the alerts page: https://hosted.weblate.org/projects/kooha/pot-file/#alerts

Can you please verify the setup? I'd suggest checking whether the weblate user in GitHub has sufficient permissions on this repository. Alternatively, see Translation projects in Weblate Docs.

Captura de tela de 2021-03-17 08-09-20

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

MP4 format?

MP4 is more popular, please consider adding MP4 container.

I've recorded screen to mkv file, then renamed the file to MP4 to upload it here.

This is actually mkv file renamed to .mp4 for github.

Kooha-2021-03-18-08.53.02.mp4

Let the user know where to find the recording

After I press "Stop" during recording, the interface just goes back to the initial state and I have no idea whether the recording succeeded. A notification saying it finished successfully and ideally also with a link to view the recording or the location it has been stored at would be very useful.

(I'm on Ubuntu 20.04 if this is actually supposed to be shown.)

Czech translation

Hi there, I created a Czech translation on weblate, could you take a look if everything in order and ready for merge?

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.

No quality slider

Doesn't have a video quality slider.

Adding this feature amounts to exposing to the user some of the hardcoded constants in the 1 or 2 lines in recorders.py that handle the program's real work.

Unfortunately the way it is written this would require propagating this new free parameter through so many layers of schemas I don't have time to do it myself.

KDE desktop environment not supported

Im using KDE Plasma desktop environment. But this program not supports KDE desktop environment. Can the kde desktop environment be added? Please.

Kooha crashes on Gnome 40

I've tested Kooha on Gnome 40 and when I click record button it crashes and says "Kooha is not responding", any solution ?

[BUG] Selection doesn't select properly

Hi, I have two monitors. On my external monitor, when I select a larger portion of it, only a small sub-portion of that gets recorded.

PopOS Linux 20.10, Kooha 1.2.1

4K External monitor, Dell XPS 9700 4K laptop.

Unable to record, no visual feedback given, only IndexError: list index out of range

I'm unable to record for kooha-1.0.4-1 on Arch. I get no visual feedback when recording fails, only the following output to terminal (when run from it).

Traceback (most recent call last):
  File "/usr/share/kooha/kooha/window.py", line 71, in on_start_record_button_clicked
    self.delay_timer.start(delay)
  File "/usr/share/kooha/kooha/timers.py", line 63, in start
    self.function()
  File "/usr/share/kooha/kooha/window.py", line 85, in start_recording
    self.audio_recorder = AudioRecorder(self.directory, record_audio, record_microphone)
  File "/usr/share/kooha/kooha/recorders.py", line 29, in __init__
    self.default_audio_output, self.default_audio_input = self.get_default_audio_devices()
  File "/usr/share/kooha/kooha/recorders.py", line 83, in get_default_audio_devices
    default_source = device_list[1]
IndexError: list index out of range

Add support with other desktop environments

My request was to adapt the application to record videos on lxqt, kde xfce, cinamon mate budgie making the application make independent of gnome

I would also like an application in qt, but in this case it would be a superficial thing and therefore would be careful from those who develop

Width is not divisible by 2

I've had some problems with recorded videos not working on certain sites. Getting weird errors and such.
So I thought I'd convert from webm to mp4, and then I got this error in ffmpeg:

[libx264 @ 0x555da2f84840] width not divisible by 2 (2627x1628)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

Maybe this is why I got some errors on those sites?

Would it be possible to make the videos width & height always divisible by 2?
Either by always forcing the selection dimensions to be divisible by 2, or by post-processing the video somehow?

Right now I cleared it up with this ffmpeg command:

 ffmpeg -i input.webm -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" output-pad.webm

(I first tried to convert it to an mp4, but that took forever and somehow caused the framerate to drop)

Record button and primary menu link is odd

When two buttons are linked it implies some kind of semantic grouping, so it doesn't make sense to do it between record button and primary menu. I'd either just unlink them, or maybe move the primary menu to the top left and style it like the close button, like e.g. Typography does.

image

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).

sound from desktop/system/monitor not recorded

Hi,
Just discovered Kooha at flathub, really liked it, but it is not recording audio playback in the system. I use simplescreenrecorder, which shows Audio Recording Source and records audio.
recording

Thank you.

Move to a better place

congratulations! This is a good program, GNOME needs such programs…

Unfortunately, I have to say that you have put this program in a bad place! GitHub!
This app deserves places like: GNOME's GitLab, Codeberg and wherever better…
GitHub boycotts users, removes apps, and actually says (whatever I want stays, and whatever I don't want is removed). The app has not paid attention to users' requests for RTL support for years, and says this is not a priority!
Free software should be free somewhere, which GitHub does not have!
Aren't these enough to leave GitHub?

Please consider applying for Gnome Circle

I think this nice little utility deserves some more exposure and recognition :-)

Developers who are using the GNOME platform can apply to have their projects included in GNOME Circle. When their project is approved, they qualify for benefits including:

Promotion and advertising
Contributors qualify for GNOME Foundation membership ( see benefits )
Optional inclusion in the Circle Gitlab group

GNOME Circle champions the great software that is available for the GNOME platform. It showcases the best apps available in the Gnome ecosystem.

Starting fails with "cannot open display"

I tried running Kooha and got the following error:

$ flatpak run io.github.seadve.Kooha

(io.github.seadve.Kooha:2): Gtk-WARNING **: 09:00:40.407: cannot open display: 

I tried this after just opening it the normal way and not seeing a window. I'm running Fedora 33 (with all the latest packages) and Wayland. I tried starting an X11 session and get the same error, so I assume it's not a Wayland issue.

$ flatpak list | grep Kooha
Kooha	io.github.seadve.Kooha	1.0.3	stable	flathub	system

Any idea how I can solve this issue?

Quality settings

Kudos on a great little app :D
It would be nice to have some control over the quality of the recording. Nothing too detailed, but maybe a slider or 2-3 settings going from small file to practically lossless.
Also control over FPS would be great. I always record at 60, but some people might prefer 24/25/29.7 if they are mixing their recordings with cam/live footage.

Multi-monitor support (record a specific screen)

Firstly: Thanks for Kooha! It's a great app.

I have multiple monitors... usually 3 to be precise. When using Kooha, it records all three, with a gap where the resolutions do not match.

What I'd like is for Kooha to record a specific monitor.

Some ideas:

  • A "simple" solution might be to let Kooha record only the screen it is currently on.

  • A more elaborate solution could be to have a picker to choose the screen to record.

    • It could either remember the last used, or if one has not been used yet, default to the current screen.
    • This would allow someone to record a screen without having the Kooha UI in the video recording... if they have more than one monitor, of course.

Error when recording Audio from either speaker or microphone

I am getting an error that I do not know how to resolve when I try to record audio from either speaker or microphone. If I only record video, everything works fine. I am on Arch Linux and installed the package from the AUR (https://aur.archlinux.org/packages/kooha/). There is no mention of any issue on there, so I think this must be a problem with a missing package that I do not have installed for some reason. The error message is as follows:

Default sink: bluez_output.94_DB_56_BA_6C_F8.a2dp-sink.monitor 
Default source: alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_6__source
audio_gst Error: gst-resource-error-quark: Could not open file "/home/hhh/.cache/tmp/tmpaudio.ogg" for writing. (6) ../gstreamer/plugins/elements/gstfilesink.c(471): gst_file_sink_open_file (): /GstPipeline:pipeline0/GstFileSink:filesink0:
system error: Bad file descriptor
audio_gst Error: gst-core-error-quark: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure. (4) ../gstreamer/libs/gst/base/gstbasesink.c(5865): gst_base_sink_change_state (): /GstPipeline:pipeline0/GstFileSink:filesink0:
Failed to start
Traceback (most recent call last):
  File "/usr/share/kooha/kooha/window.py", line 127, in on_stop_record_button_clicked
    self.video_recorder.stop()
  File "/usr/share/kooha/kooha/recorders.py", line 182, in stop
    self.gnome_screencast.call_sync(
gi.repository.GLib.Error: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying (4)
Error: gst-resource-error-quark: Resource not found. (3) ../gstreamer/plugins/elements/gstfilesrc.c(536): gst_file_src_start (): /GstPipeline:pipeline1/GstFileSrc:filesrc1:
No such file "/home/hhh/.cache/tmp/tmpaudio.ogg"

I am using pipewire as a pulseaudio replacement, if that is of any help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.