Commit Graph

106 Commits

Author SHA1 Message Date
dec05eba
637d306a24 Stop recording when pipewire target window is closed or when pressing close in the desktop environments record button 2024-07-19 22:08:04 +02:00
dec05eba
463c1d61f0 Portal: make resizing not glitched, clear background on resize, proper handling of multithreaded plane fd 2024-07-17 20:54:37 +02:00
dec05eba
e286a1dd24 Add --list-supported-capture-options option, for use by gpu screen recorder gtk 2024-07-17 16:35:53 +02:00
dec05eba
048b8d21ec Add support for desktop portal capture (-w portal) 2024-07-15 19:02:34 +02:00
dec05eba
b9fa7f2fa2 Separate video encoding method from capture method
With this instead of kms_cuda/kms_vaapi/kms_software and
xcomposite_cuda/xcomposite_vaapi/xcomposite_software there
is now only kms and xcomposite.
2024-07-05 10:33:47 +02:00
dec05eba
62d61fda12 Add support for software video encoding with '-encoder cpu' option, currently h264 only 2024-07-04 01:35:03 +02:00
dec05eba
46da55b1ea fm content: make sure to capture frame on damage and then no damage after fps frame timeout 2024-06-21 23:01:00 +02:00
dec05eba
ab78e56872 Add -fm 'content' option to match fps to captured content, only x11 window capture currently supported 2024-06-21 22:18:23 +02:00
dec05eba
3e2e2444d9 Properly cut out cursor outside video area when dealing with hevc amd padding 2024-06-14 02:05:54 +02:00
dec05eba
e43934e2d2 Remove video_alignment_padding variable, replace with putting capture content in the center with frame resolution and capture resolution diff 2024-06-10 18:41:05 +02:00
dec05eba
adbd5d9766 Take amd hevc video alignment padding into consideration to move video content to center of video with black bars on all sides instead of only right/bottom 2024-06-10 17:51:09 +02:00
dec05eba
f02f5a9d00 Re-enable intel arc fix (but only for intel systems) 2024-06-10 16:55:47 +02:00
dec05eba
e4832f3d64 Revert "Fix screen capture on intel arc gpu (on x11 and wayland)"
This reverts commit f8453bcaa4.
2024-06-10 16:44:04 +02:00
dec05eba
c17a717326 Workaround amd driver bug: hevc ffmpeg/mesa misaligned resolution causing glitched video output on right/bottom side 2024-06-10 12:44:40 +02:00
dec05eba
3f0a58a1e6 Do not require a valid drm plane to capture a window on amd/intel x11 2024-06-10 12:28:53 +02:00
dec05eba
f8453bcaa4 Fix screen capture on intel arc gpu (on x11 and wayland) 2024-06-09 23:35:48 +02:00
dec05eba
7e239c8aa2 Test latency comp 2024-04-15 20:30:41 +02:00
dec05eba
b554628099 Revert "Testing audio latency compensation"
This reverts commit 2692a7d22c.
2024-04-14 00:53:15 +02:00
dec05eba
2692a7d22c Testing audio latency compensation 2024-04-14 00:02:47 +02:00
dec05eba
ddac6acaf2 Fix messed up audio on some distros (those using pulseaudio?) 2024-04-11 18:46:34 +02:00
dec05eba
52688dad72 Time based audio latency, test, might fix some shits 2024-04-11 14:40:27 +02:00
dec05eba
c2af57a978 Destroy glx context on fail/deinit 2024-03-21 10:49:15 +01:00
dec05eba
ba096a3ba7 Add -cursor option to not record cursor 2024-03-11 19:01:46 +01:00
dec05eba
877465a702 Use dri card matching current egl context 2024-03-10 23:15:57 +01:00
dec05eba
f3c32a880a Fix cursor capture in nvidia wayland, hdr, clear background immediately in window capture 2024-03-10 20:59:17 +01:00
dec05eba
45ad3695b6 Refactor capture base 2024-03-09 18:54:53 +01:00
dec05eba
a3fedae329 Draw cursor in window capture 2024-03-09 16:59:09 +01:00
dec05eba
5e05bbbbcb Refactor xcomposite
Move common code between cuda/vaapi implementations
into xcomposite file.
This also fixes limited/full range colors on nvidia.
2024-03-09 15:36:45 +01:00
dec05eba
3d9a706528 Set frame size to video codec context size, nicer rgb to nv12 2024-03-08 11:35:30 +01:00
dec05eba
0d89378021 Use opengl capture for nvfbc (prepare for vulkan capture without cuda) 2024-03-08 11:35:26 +01:00
dec05eba
d0c221a233 Refactor kms_vaapi and kms_cuda
Also fixes color metadata, color range and hdr on nvidia wayland.
2024-03-08 11:34:36 +01:00
dec05eba
463d5b5a25 nvidia wayland: add hdr metadata 2024-02-11 17:49:36 +01:00
dec05eba
7844785eef Remove dependency on egl in nvfbc 2024-02-11 15:44:15 +01:00
dec05eba
985d96bf89 Fix nvfbc capture crash on start 2024-02-11 15:33:55 +01:00
dec05eba
b8843395ac Add screen rotation support (tested on amd/intel)
screen rotation in wayland is best effort,
wayland doesn't give the necessary information to make it robust.
2024-02-10 03:48:43 +01:00
dec05eba
ac73d9cb13 Remove wayland capture (wlroots) 2024-02-09 00:38:23 +01:00
dec05eba
3eb7bae12c Move card path to egl struct, use egl struct for monitor enumeration 2024-02-09 00:23:52 +01:00
dec05eba
d1c49f35a5 Window capture: clear background with black color 2024-02-08 19:06:09 +01:00
dec05eba
017fd0a37d Add support for hdr capture on amd/intel
Nvidia support will be added in the future.
Note that hdr metadata is missing from the output file as
amd and intel both have bugged drivers that dont add hdr metadata
to the output file.
Need to find a workaround for this (patching the video bitstream?).

Add -cr limited|full, to set color range
2024-02-06 02:43:47 +01:00
dec05eba
846bda7510 nvidia wayland: support hardware cursor plane 2024-01-28 00:27:41 +01:00
dec05eba
94cbed9471 Nvidia: use default p4 preset instead of p5, might fix frame issues 2024-01-11 10:50:14 +01:00
dec05eba
7bc7269652 Support nvidia wayland bit depth over 8 bit (fixes incorrect colors on some systems running kde plasma) 2023-11-18 13:18:26 +01: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
f89d23c2d0 Remove unused cursor code 2023-09-29 20:56:59 +02:00
dec05eba
e63ecd2e02 egl es -> egl 2023-09-18 10:35:29 +02:00
dec05eba
4ad0118f35 High priority egl context if possible, use eglBindAPI(EGL_OPENGL_ES_API) 2023-07-26 02:31:12 +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
60de2c47be Use correct offset for combined plane monitor capture 2023-07-22 04:12:02 +02:00
dec05eba
22a0a01553 AMD/Intel capture cursor 2023-07-22 02:57:38 +02:00