From 41176177c6bb8b9826643310e9652a2443732fd8 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 29 May 2023 00:43:59 +0200 Subject: [PATCH] Update readme about flatpak --- README.md | 3 ++- TODO | 4 +++- src/main.cpp | 6 ++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8ab3c1d..c12d7dd 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,8 @@ Performance is the same when recording a single window or the monitor, however i If you are running an Arch Linux based distro, then you can find gpu screen recorder on aur under the name gpu-screen-recorder-git (`yay -S gpu-screen-recorder-git`).\ If you are running another distro then you can run `sudo ./install.sh`, but you need to manually install the dependencies, as described below.\ You can also install gpu screen recorder ([the gtk gui version](https://git.dec05eba.com/gpu-screen-recorder-gtk/)) from [flathub](https://flathub.org/apps/details/com.dec05eba.gpu_screen_recorder), which is the easiest method -to install GPU Screen Recorder on non-arch based distros. +to install GPU Screen Recorder on non-arch based distros.\ +If you install GPU Screen Recorder flatpak, which is the gtk gui version then you can still run GPU Screen Recorder command line by using the flatpak command option, for example `flatpak run --command=gpu-screen-recorder com.dec05eba.gpu_screen_recorder -w screen -f 60 -o video.mp4`. Note that if you want to record your monitor on AMD/Intel then you need to install the flatpak system-wide (like so: `flatpak install flathub --system com.dec05eba.gpu_screen_recorder`). # Dependencies ## AMD diff --git a/TODO b/TODO index 2cf6b70..775748e 100644 --- a/TODO +++ b/TODO @@ -65,4 +65,6 @@ Enable opus/flac again. It's broken right now when merging audio inputs. The aud Support vp8/vp9/av1. This is especially important on amd which on some distros (such as Manjaro) where hardware accelerated h264/hevc is disabled in the mesa package. Support screen (all monitors) capture on amd/intel when no combined plane is found. -Use separate plane (which has offset and pitch) from combined plane instead of the combined plane. \ No newline at end of file +Use separate plane (which has offset and pitch) from combined plane instead of the combined plane. + +Different streaming sites have limits on bitrate, resolution, etc. For twitch, this is a good place to look: https://help.twitch.tv/s/article/broadcasting-guidelines?language=en_US. For youtube, the information is available here: https://support.google.com/youtube/answer/2853702?hl=en#zippy=%2Cvariable-bitrate-with-custom-stream-keys-in-live-control-room%2Ck-p-fps%2Cp-fps (youtube supports variable bitrate). \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 48a4891..f24a3f0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2032,5 +2032,11 @@ int main(int argc, char **argv) { } free(empty_audio); + // We do an _exit here because cuda uses at_exit to do _something_ that causes the program to freeze, + // but only on some nvidia driver versions on some gpus (RTX?), and _exit exits the program without calling + // the at_exit registered functions. + // Cuda (cuvid library in this case) seems to be waiting for a thread that never finishes execution. + // Maybe this happens because we dont clean up all ffmpeg resources? + // TODO: Investigate this. _exit(should_stop_error ? 3 : 0); }