aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2023-05-29 00:43:59 +0200
committerdec05eba <dec05eba@protonmail.com>2023-05-29 00:43:59 +0200
commit41176177c6bb8b9826643310e9652a2443732fd8 (patch)
tree92c7396eb24067b744ca1ecb070952bf80b30e97
parent561ceb1949136b6493099cd072d5fa59dc33be67 (diff)
Update readme about flatpak
-rw-r--r--README.md3
-rw-r--r--TODO4
-rw-r--r--src/main.cpp6
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);
}