Commit Graph

158 Commits

Author SHA1 Message Date
dec05eba
175ed79b06 Fix virtual sink not destroyed if gsr is forcefully killed (use pipewire to create the virtual sink instead of pulseaudio) 2024-12-06 12:53:44 +01:00
dec05eba
1b40947884 Add error output when reaching max ports/stream nodes/links 2024-12-05 19:14:00 +01:00
dec05eba
8941e12c61 Increase pipewire audio max nodes/ports limit 2024-12-05 19:08:01 +01:00
dec05eba
0ae3c1f827 Repurpose '/' in audio argument to set the audio track name, not the recording node name in pulseaudio/pipewire. This also now allows setting audio track name when recording application audio 2024-11-28 11:42:39 +01:00
dec05eba
02673c4644 Fix portal capture on broken amd drivers: fallback to opengl copy instead of vaapi on known buggy mesa version 2024-11-21 00:25:56 +01:00
dec05eba
cbf4cba5a9 Allow recording app audio with -a, deprecate -aa and -aai
Use -a "app:brave" instead of -aa "brave".
Use -a "app-inverse:brave" instead of -aai "brave".

This now allows merging audio devices and app audio into the same audio
track.
2024-11-20 19:09:42 +01:00
dec05eba
0ee68146a7 Disable application audio recording on pulseaudio 2024-11-17 01:12:12 +01:00
dec05eba
c2ae721dca --info: output if app audio is supported (if compiled with it and pipewire server) 2024-11-16 17:20:02 +01:00
dec05eba
4240f0e334 Add -aa and -aai options to record audio only from selected applications
Use the --list-application-audio option to list available applications
to record from.
2024-11-10 23:54:39 +01:00
dec05eba
f1b4979365 Fix incorrect color format in x11 cursor (bgr instead of rgb) 2024-11-09 02:45:20 +01:00
dec05eba
0686b924de Prepare for pipewire audio routing 2024-11-08 18:40:33 +01:00
dec05eba
112640282d Add option to change output resolution (-s) 2024-10-26 20:58:00 +02:00
dec05eba
935a7b892e Rename video encoder cuda to video encoder nvenc 2024-10-09 18:32:26 +02:00
dec05eba
4f709f0fa6 Rename codec query cuda to codec query nvenc 2024-10-01 18:30:11 +02:00
dec05eba
720a4e2919 Support gpus that only support low power encoding mode (Intel Arc A380) 2024-10-01 18:28:06 +02:00
dec05eba
ebc8c69bac Add vulkan video encoding option (-k h264_vulkan). WIP, not fully hardware accelerated yet 2024-09-27 03:03:09 +02:00
dec05eba
51ee40f85d Revert "Better glx config selection"
This reverts commit 69c3102465.
2024-09-26 17:47:43 +02:00
dec05eba
69c3102465 Better glx config selection 2024-09-26 17:35:16 +02:00
dec05eba
1aaa26d87e Move codec query from encoder to separate file 2024-09-26 16:08:26 +02:00
dec05eba
aa2fa1e17e Add template for vulkan video encoding 2024-09-26 02:23:56 +02:00
dec05eba
aef223d844 Remove damage tracking for now, better frame timing (deal with time error accumulation) 2024-09-20 02:20:42 +02:00
dec05eba
41bd6cee63 Use async_depth option on vaapi for much better encoding performance 2024-09-18 11:15:10 +02:00
dec05eba
25b7b4e84e Pure vaapi capture (for capture target) and opengl composition for cursor only when capturing window and portal as well, clear background on resize for monitor capture 2024-09-16 23:31:53 +02:00
dec05eba
4bcf976a71 Improve capture performance on amd/intel when using monitor capture: capture display frame using purely vaapi unless the monitor is rotated 2024-09-16 23:31:53 +02:00
dec05eba
69fc104d20 Remove xi2 code, it's not needed 2024-09-15 04:25:10 +02:00
dec05eba
f6f8fdb33c Portal: sync capture to frame update 2024-09-15 04:22:00 +02:00
dec05eba
714561987e Properly damage if moving cursor
Only damage if cursor is inside the target area
2024-09-14 02:27:48 +02:00
dec05eba
8acb346382 Set update fps to video fps, on x11 sync video to damage tracking 2024-09-14 01:15:01 +02:00
dec05eba
8158a809b7 Move damage tracking to separate file 2024-09-06 23:55:43 +02:00
dec05eba
2682df9e0f Portal: fix external texture 2024-09-06 13:28:35 +02:00
dec05eba
111432f7dd Revert "Portal: fix external texture glitches"
This reverts commit 0f289b58bb.
2024-09-06 13:27:51 +02:00
dec05eba
0f289b58bb Portal: fix external texture glitches 2024-09-06 13:17:17 +02:00
dec05eba
954a41de9c Explicit glFlush/glFinish before and after render operations to fix tearing and stutter on amd 2024-09-06 12:41:14 +02:00
dec05eba
b7c5df3c4b Faster startup (faster video codec query), fix some video codec callback logic 2024-08-31 03:17:18 +02:00
dec05eba
1d7c1e7d14 Enable recording on steam deck with warning, use vbr on steam deck and add -bm bitrate mode option for qp or vbr 2024-08-31 00:26:22 +02:00
dec05eba
dfe2b17648 Prepare for video codec query, cleanup readme, add libva-drm as dependency 2024-08-29 22:22:46 +02:00
dec05eba
45a10baf5f Disable steam deck support at the moment because the driver is broken (ignores qp, capture tearing) 2024-08-20 15:28:37 +02:00
dec05eba
3ec93bcc41 Add hevc_10bit and av1_10bit options for 10bit color range, increase video quality (qp) 2024-08-17 19:55:09 +02:00
dec05eba
da4925b23e Allow capture of external monitors on a laptop with dedicated gpu (prime) on x11, fix cursor not visible on some wayland compositors (hyprland) with multiple monitors 2024-08-16 19:37:00 +02:00
dec05eba
85d59ea2c8 HACK: portal: copy external image to internal image before render. Dont stop screencast when paused as that stops recording when window is resized 2024-08-15 11:13:49 +02:00
dec05eba
0b9d232ce8 Fix crash, use opengl es instead of opengl desktop 2024-08-15 08:21:54 +02:00
dec05eba
ffb8c6af3b Allow prime-run capture on laptop with external gpu when the iGPU
doesn't have any monitor to capture.
Fix prime-run desktop portal capture broken (fallback to external
texture).
Fallback to external texture in kms capture.
2024-08-15 08:09:23 +02:00
dec05eba
846241189e Add -portal-session-token-filepath option to specify where desktop portal session token is saved/restore 2024-08-08 01:45:35 +02:00
dec05eba
844a54b43b Allow using 'default_output' / 'default_input' as audio devices (-a option), add --list-audio-devices option 2024-08-02 00:14:01 +02:00
dec05eba
b1d8346ed9 Move glClear and glx/eglSwapBuffers from capture backends to main 2024-07-26 10:55:24 +02:00
dec05eba
7d719a44c6 Fix hdr capture causing crash when in replay mode 2024-07-23 18:11:38 +02:00
dec05eba
e9343cce91 Fix pipewire capture on amd (fallback to no drm modifiers if eglCreateImage fails), might happen because of a buggy desktop portal/pipewire implementation 2024-07-22 17:20:09 +02:00
dec05eba
b5b4d6b2bd Fix portal capture on intel, support multiple planes in one egl image (might fix capture on intel iris) 2024-07-22 04:58:41 +02:00
dec05eba
b077177081 Portal: move modifier query to init 2024-07-22 02:31:12 +02:00
dec05eba
37107bac8d Fix deskto portal capture on nvidia (add missing modifiers) 2024-07-22 01:24:23 +02:00