Commit Graph

50 Commits

Author SHA1 Message Date
dec05eba
26571094aa kms_vaapi: fix regression, screen rotation not working when capturing screen 2023-05-12 05:03:12 +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
03ef7d0964 Show shorter form of help on argument error 2023-04-18 18:41:06 +02:00
dec05eba
c510bc5ae5 Remove extra swapBuffer in kms capture 2023-04-15 20:39:02 +02:00
dec05eba
c9c615d4c7 Apply rotation fix for intel as well (for kms capture) 2023-04-15 19:41:49 +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
2fdc73ffab Temporary disable monitor recording on amd/intel 2023-04-11 00:48:59 +02:00
dec05eba
59046178c4 Remove unecessary vaCreatebuffer every frame 2023-04-10 22:46:56 +02:00
dec05eba
dddd426904 kms: get plane every frame, might fix not updating issue and issue where plane gets invalid 2023-04-10 02:25:43 +02:00
dec05eba
9bdbca864d TODO fixed 2023-04-09 17:47:18 +02:00
dec05eba
e3702f147f Use flatpak-spawn in flatpak 2023-04-08 07:12:45 +02:00
dec05eba
6a92aaba7f Remove ubuntu specific install scripts 2023-04-08 02:00:52 +02:00
dec05eba
cc63bffaf7 Dont initialize vaapi on nvidia (fixes crash on startup) 2023-04-01 23:24:12 +02:00
Steam Deck User
9f0b98dc5e Add install script for amd/intel for ubuntu 2023-04-01 19:23:34 +02:00
Steam Deck User
29237c7116 Cleanup xcomposite_drm 2023-04-01 19:01:20 +02:00
Steam Deck User
2f67083915 Use vaapi to do rgb->yuv420p color conversion
Enable window capture for amd/intel.
Properly check if h264/hevc is supported on amd/intel before using
codec.
2023-04-01 16:29:24 +02:00
dec05eba
55b2813309 todo 2023-03-31 04:06:04 +02:00
dec05eba
82e3720084 Install coolbits if using nvidia, add preserve video memory install script 2023-03-31 01:11:12 +02:00
dec05eba
d92ecea69e Remove yuv444 for now 2023-03-26 19:04:51 +02:00
dec05eba
716cb5b448 Add pixfmt yuv420p/yuv444p option to set lossless color 2023-03-26 19:04:51 +02:00
dec05eba
93cb6593a6 Add overclocking option -oc to workaround a NVIDIA driver bug (forcefully set to p2 state when using cuda) 2023-03-17 17:17:14 +01:00
Steam Deck User
8cbdb596eb vaapi wip 2023-03-17 11:44:51 +01:00
dec05eba
1d8d95fba4 Add option to merge audio devices by separating audio inputs with | in one -a 2023-02-16 23:40:21 +01:00
dec05eba
5da160206a Remove unused file 2022-12-30 01:29:08 +01:00
dec05eba
4e6fc174fe follow focused 2022-12-20 15:32:42 +01:00
dec05eba
6a6bb703bc wip intel 2022-11-30 19:36:33 +01:00
dec05eba
a7e0dbd833 Refactor xcomposite into abstract capture api
Refactor c++ files into c files, more usable
2022-10-16 04:15:09 +02:00
dec05eba
5b26291269 Update info about cuda 2022-10-06 15:27:45 +02:00
dec05eba
4cd391e07e Add info about flatpak package, default to h264 (unless resolution is greater than 3840x2160) and add -k option to set codec 2022-10-03 16:56:58 +02:00
dec05eba
1db2282683 Remove dependency on glew and glfw, move external files to external directory 2022-09-28 01:03:06 +02:00
dec05eba
4fead183fe Load cuda at runtime. Include cuda header files inside the project 2022-09-26 01:26:45 +02:00
dec05eba
a668cac2bb Do not allocate cuda buffer when using nvfbc 2022-09-20 13:10:05 +02:00
dec05eba
919890b7b2 Fix replay video/audio desync, fix dummy audio when dropping audio input, give each audio stream a new name so it can be replaced with pipewire graphs 2022-09-20 03:39:15 +02:00
dec05eba
59b730a806 GNOME: fix recording windows with client-side decorations by recording the compositor window and tracking the window 2022-09-18 18:51:37 +02:00
dec05eba
4917c0406c Fix crackling audio with pipewire and only add empty audio packets until the first packet arrives 2022-09-06 14:40:34 +02:00
dec05eba
6ea59acb9e Make video framerate constant, fix audio desync a bit when no audio playing for a while 2022-09-02 00:42:22 +02:00
dec05eba
cd69b7813b Add option to use multiple audio inputs (each in their own audio track) 2022-08-23 17:39:49 +02:00
dec05eba
c8b9542f0d Do not allow recording area right now when recording screen/monitor 2022-07-06 09:25:20 +02:00
dec05eba
b3fa6afd56 Update README with info about nvfbc being slower 2022-04-26 17:03:08 +02:00
dec05eba
6a01677e23 Remove unecessary cuda memcpy when using nvfbc 2022-04-05 04:06:47 +02:00
dec05eba
e49d30048f Close screenrecorder when target window is closed 2022-03-31 01:50:06 +02:00
dec05eba
a99f010603 Redesign replay to save to file and continue on SIGUSR1 2022-03-25 03:25:36 +01:00
dec05eba
d231d93891 Fix fullscreen window forcefully getting unfullscreened on i3 and bspwm 2022-03-24 09:59:04 +01:00
dec05eba
d4bc7b420e Add script to record the selected window (with the active audio device) 2022-03-22 13:04:08 +01:00
dec05eba
33ed64355f Update readme with info about nvlax 2021-11-14 05:43:54 +01:00
dec05eba
04d229caf3 Use direct capture when possible 2021-07-29 06:45:55 +02:00
dec05eba
4617e2c45a Add option to record a display or all displays. This requires nvfbc 2021-07-23 17:33:37 +02:00