Commit Graph

163 Commits

Author SHA1 Message Date
dec05eba
26e9029579 Pipewire: support 10-bit formats (where alpha is 2 bits, total 32-bits) 2025-01-27 10:30:31 +01:00
dec05eba
b68400ca20 Add -gl-debug option to make it easier to debug user issues that cant easily be reproduced 2025-01-16 22:55:20 +01:00
dec05eba
621f253f00 Minor change 2025-01-03 17:14:30 +01:00
dec05eba
d138a1fe73 Add card path to --info, add card path and vendor to --list-capture-options if known to speed up the command 2024-12-08 02:52:58 +01:00
dec05eba
c259a19b9d Refactor windowing from egl to window_x11/window_wayland, yolo 2024-12-08 02:17:41 +01:00
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