Commit Graph

212 Commits

Author SHA1 Message Date
dec05eba
2a890a4b4d Dont include unused drm_fourcc.h, include missing unistd.h for _exit 2023-10-27 11:59:37 +02:00
dec05eba
51154b71be Fix vram leak for reals 2023-10-22 04:56:34 +02:00
dec05eba
9710f8a2d4 Attempt to fix amd/intel driver bug vram leak, force cfr when livestreaming, replace std::filesystem with posix
create replay directory automatically, recursively
2023-10-21 22:46:33 +02:00
dec05eba
bae4504370 Install systemd service in install script, skip empty audio device
Stop systemd service with SIGINT
2023-10-15 18:12:33 +02:00
4censord
3ae89c8d7c Add the ability to save replays into folders by date
This adds a new flag, '-mf' with a boolean argument
If this is set, replays are organized in folders by date.

With this, replays are saved like:
    $output_folder/2023-10-15/Replay_15-39-28.mp4
instead of all into the same folder.
2023-10-15 18:10:15 +02:00
dec05eba
444a19a087 fflush after puts to fix piping replay path 2023-10-01 10:06:26 +02:00
dec05eba
c3f23b3b72 Fallback to another video codec if the selected video codec is not auto and it's not supported 2023-08-22 00:39:21 +02:00
dec05eba
59bf8e3025 Change nvenc preset to p5 to workaround new nvidia driver bug 2023-08-15 23:27:13 +02:00
dec05eba
a253be38b7 kms vaapi: fix capture bug (incorrect video size) caused by shadowed variable... 2023-08-13 01:55:56 +02:00
dec05eba
a0e8e9ba59 Test fix recent regression in ffmpeg that increases cpu usage 2023-08-09 18:18:46 +02:00
dec05eba
bee99a69e3 Dont use jpeg color range (fixes too dark image on amd/intel in flatpak) 2023-07-25 04:46:45 +02:00
dec05eba
fafb1e84f0 Improve color accuracy on amd/intel 2023-07-23 04:21:38 +02:00
dec05eba
d45597e104 Exit with exit code 10 if pkexec fails 2023-07-22 23:22:51 +02:00
dec05eba
22a0a01553 AMD/Intel capture cursor 2023-07-22 02:57:38 +02:00
dec05eba
fc316750b8 Fix monitor capture on amd/intel + x11 2023-07-21 19:30:09 +02:00
dec05eba
8b0723a4f2 Fix window capture 2023-07-21 19:12:24 +02:00
dec05eba
a1d31a5cf0 Fix capture not working on intel + wayland
Ignore nouveau cards.
Fix lag on start of recording on amd/intel by only loading egl once,
on startup.
2023-07-21 18:56:34 +02:00
dec05eba
8cd0ae0162 vfr on wayland (even on nvidia), add uninstall script 2023-07-21 16:17:22 +02:00
dec05eba
de019711d1 Support wlroots screen capture, which doesn't require kms root access and also captures cursor 2023-07-21 02:57:06 +02:00
dec05eba
b2644a9881 Fix wayland capture on amd/intel 2023-07-18 03:21:16 +02:00
dec05eba
0a2806972f Experimental wayland support, test 1 2023-07-18 02:14:27 +02:00
dec05eba
e158cb2a8b Translate -c mkv to -c matroska 2023-06-20 20:31:06 +02:00
dec05eba
66dbfe69a4 Mention that only h264/hevc is supported at the moment 2023-06-07 19:30:39 +02:00
dec05eba
7e2ade27a7 Make sure window id hex starts with 0x (makes monitor recording more reliable), allow CC and CXX to set compiler for build 2023-06-04 13:49:47 +02:00
dec05eba
41176177c6 Update readme about flatpak 2023-05-29 00:43:59 +02:00
dec05eba
561ceb1949 Attempt to fix nvidia driver bug at program exit (freeze) by exit without atexit 2023-05-22 18:36:19 +02:00
dec05eba
6641eda702 Use av_packet_alloc instead of deprecated memset on packet size 2023-05-18 14:40:42 +02:00
dec05eba
6cff1a49d2 Fix all warnings 2023-05-17 18:49:16 +02:00
dec05eba
99dbbd07ab kms_vaapi: support multiple drm planes (fixes capture on some multi monitor systems) 2023-05-12 03:49:29 +02:00
dec05eba
25af1c81d0 manjaro ***** 2023-04-27 20:42:44 +02:00
dec05eba
ec22eb6da4 Temporary disable opus/flac because it breaks multiple audio, fix possible audio/video desync on nvidia 2023-04-27 13:57:01 +02:00
dec05eba
e1c613666e kms_vaapi: add cursor capture for amd/intel monitor capture
Always find largest drm buf, to fix some cases
when there are multiple planes and we accidentally
capture a drm buf that isn't the target buf.
We always want the full SCREEN drm buf.
2023-04-22 02:13:11 +02:00
dec05eba
690065da0f Only capture frame if num frames to capture > 0 2023-04-18 22:31:44 +02:00
dec05eba
03ef7d0964 Show shorter form of help on argument error 2023-04-18 18:41:06 +02:00
dec05eba
7749ba8327 Replace tabs with 4 spaces 2023-04-18 18:34:23 +02:00
XnipS
e985e8e18e Made fps update toggleable 2023-04-18 18:32:04 +02:00
dec05eba
c0ebae365d Find /dev/dri/card path that exists (the first one) 2023-04-16 22:50:43 +02:00
dec05eba
f6107a0c5d Fix AMD single monitor rotated display being rotated in recording
If there is only one monitor connected and it's rotated then
the drm buf will also be rotated. This only the case with AMD and
only when using one monitor!

To fix this, we perform color conversion with an opengl shader
which allows us to also rotate the texture.
VAAPI supports rotation but it's not implemented by AMD at least.

Performance seems to be the same as when using VAAPI, even when
GPU usage is 100%.
2023-04-15 19:06:08 +02:00
dec05eba
45a64316b4 Move back receive packet to main thread
Fixes crash if encode fps is less than capture fps
2023-04-13 23:44:23 +02:00
dec05eba
7c4714956c Move back video encoding to main thread, move receive packet to separate thread
When video is encoded at slower than capture rate that would
cause a crash (happens on steam deck).
2023-04-13 03:12:53 +02:00
dec05eba
2fdc73ffab Temporary disable monitor recording on amd/intel 2023-04-11 00:48:59 +02:00
dec05eba
c8e45e67bd Cleanup of aframe if same pts 2023-04-10 06:17:45 +02:00
dec05eba
f2ae6eb05e Fix messed up audio pts when merging audio 2023-04-10 06:13:24 +02:00
dec05eba
895768104f Revert "Revert: encoding video on separate thread"
This reverts commit ce9465b391.
2023-04-10 06:07:48 +02:00
dec05eba
ce9465b391 Revert: encoding video on separate thread 2023-04-10 04:44:29 +02:00
dec05eba
ce5e0169c4 kms: fix crash on intel when using hevc, remove debug print, remove jpeg color range (incorrect colors on intel h264) 2023-04-10 02:38:47 +02:00
dec05eba
7dcf3a68cc Use /usr/bin/gsr-kms-server constant path for pkexec 2023-04-09 16:06:39 +02:00
dec05eba
de72b93b0d Better amd/intel quality tuning 2023-04-08 02:03:50 +02:00
dec05eba
75ed160122 Implement kms vaapi capture 2023-04-07 05:31:46 +02:00
dec05eba
10d7bf93e8 Cleanup replay packets after use 2023-04-03 10:45:00 +02:00