Commit Graph

159 Commits

Author SHA1 Message Date
dec05eba
6e407b0b62 Use better name for quality options to clearify that medium is actually very high quality, because people dont understand that 2022-09-29 17:34:32 +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
0059724fdc Read audio data from pulseaudio as it's available and buffer it. Fixes audio recording on pulseaudio (and some pipewire configs) 2022-09-22 01:44:45 +02:00
dec05eba
5ba4c05953 Fix build for older version of ffmpeg (linux mint 20.3 for example) 2022-09-21 19:12:28 +02:00
dec05eba
f8237ca5ae Fix build on older ffmpeg (17+ months old), see ffmpeg commit ef6a9e5e311f09fa8032974fa4d0c1e166a959bb 2022-09-21 05:47:37 +02:00
dec05eba
f810161203 Is this the final solution to the audio crackling problem? increase pts by number of samples and add dummy audio frames between 2022-09-20 20:11:56 +02:00
dec05eba
a668cac2bb Do not allocate cuda buffer when using nvfbc 2022-09-20 13:10:05 +02:00
dec05eba
2b7729efb9 Fix build on ubuntu, use a mainloop with timeout instead of sleep 2022-09-20 11:01:34 +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
9f2ddf3802 Fix build on some distros? 2022-09-19 23:31:21 +02:00
dec05eba
85cd5a9d11 Move scripts to script dir, add youtube-hls-stream script, fix twitch stream script 2022-09-19 16:19:41 +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
9f2f4240ba Attempt to fix video/audio desync when video pts gets desynced with clock 2022-09-17 16:10:51 +02:00
dec05eba
49c876ca00 Make compatbie with old ass ubuntu 2022-09-12 21:14:48 +02:00
dec05eba
948d285f82 Fix build for old ffmpeg (ubuntu, pop os lts) 2022-09-11 22:38:44 +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
16237d589a Fix audio recording with pipewire and with different pulseaudio system settings (frag) 2022-08-06 09:56:39 +02:00
dec05eba
a10a96e032 Revert "Revert "Use expose instead of visibility event""
This reverts commit 71149bba01.
2022-07-29 08:00:40 +02:00
dec05eba
71149bba01 Revert "Use expose instead of visibility event"
This reverts commit be69d51f25.
2022-07-25 05:20:52 +02:00
dec05eba
be69d51f25 Use expose instead of visibility event 2022-07-18 00:13:14 +02:00
dec05eba
db4944cd08 Check if visibility really change on event change 2022-07-17 23:46:47 +02:00
dec05eba
2ccfcfd794 Fix nvfbc recording at 3440 width (set linesize to width * 4)
Thanks to Hans Gaiser for debugging and fixing it!
2022-07-06 10:58:00 +02:00
dec05eba
c8b9542f0d Do not allow recording area right now when recording screen/monitor 2022-07-06 09:25:20 +02:00
dec05eba
8b87654f1c Remove fps limit 2022-05-15 01:45:22 +02:00
dec05eba
b3fa6afd56 Update README with info about nvfbc being slower 2022-04-26 17:03:08 +02:00
dec05eba
32c3807fe1 Show correct original fps in mediainfo 2022-04-09 04:23:41 +02:00
dec05eba
066cfae84c Improve quality, especially when using h264. Force disable h264 for now because quality is not as good 2022-04-07 14:04:34 +02:00
dec05eba
94af0aeec4 Reduce bitrate. It was way too high 2022-04-06 01:47:42 +02:00
dec05eba
ed15405d2f p5 for high 2022-04-05 16:33:39 +02:00
dec05eba
6a01677e23 Remove unecessary cuda memcpy when using nvfbc 2022-04-05 04:06:47 +02:00
dec05eba
c43fa5e4ee Better detection of window destroyed 2022-03-31 01:53:39 +02:00
dec05eba
e49d30048f Close screenrecorder when target window is closed 2022-03-31 01:50:06 +02:00
dec05eba
7228d36647 Create pid file to detect if gpu-screen-recorder is already running and only allow one instance to run at once 2022-03-31 01:24:27 +02:00
dec05eba
5a4d8ce21b Attempt to fix audio/video desync and fps mayhem when
using screen-direct recording
2022-03-28 05:15:18 +02:00
dec05eba
5ca83d45cf Remove direct capture sound hack (fixes audio on fedora) 2022-03-25 13:41:28 +01:00
dec05eba
8117c92ee5 Fix replay crash when not recording audio 2022-03-25 03:33:01 +01:00
dec05eba
a99f010603 Redesign replay to save to file and continue on SIGUSR1 2022-03-25 03:25:36 +01:00
dec05eba
5415f56140 Attempt to fix audio in replay mode in screen-direct 2022-03-24 19:11:23 +01:00
dec05eba
e7de2006e6 Fix replay if no audio stream 2022-03-24 19:04:48 +01:00
dec05eba
d231d93891 Fix fullscreen window forcefully getting unfullscreened on i3 and bspwm 2022-03-24 09:59:04 +01:00
dec05eba
2423e50d44 Add screen-direct option for direct NvFBC 2022-03-24 00:38:35 +01:00
dec05eba
efc15622a9 Attempt to fix audio timestamp being totally wrong on fedora 2022-03-23 19:24:12 +01:00
dec05eba
c595c7ffb5 Add more info about gnome issue in stderr 2022-03-23 17:02:30 +01:00
dec05eba
36fd4516db Add -s option to set record area size, fix workspace switch freezing recording on bspwm, make background black after resize 2022-03-22 23:08:39 +01:00
dec05eba
821cacf9ff Attempt 2 at fixing black screen under dwm/i3 after resize 2022-03-22 17:53:53 +01:00
dec05eba
af2a211767 Fix resize to fullscreen black video 2022-03-22 15:57:29 +01:00
dec05eba
ff8fa9f0f7 Record black screen instead of crash when compositor + window is not supported at the moment 2022-03-22 13:33:02 +01:00
dec05eba
f81bdfb29e Use /usr/lib64 instead of /usr/lib, which makes it compatible with gentoo 2022-03-22 00:29:20 +01:00
dec05eba
97e0a6ad1b Do not add audio track if not recording audio 2022-02-26 01:43:43 +01:00
dec05eba
35d2cc64fa Fix code after avcodec->codec was deprecated 2022-02-25 04:16:46 +01:00
dec05eba
a6e0e16f57 Change format 2021-10-11 18:33:39 +02:00
dec05eba
bbfe02f72b Use interleaved write 2021-09-07 17:55:39 +02:00
dec05eba
04d229caf3 Use direct capture when possible 2021-07-29 06:45:55 +02:00
dec05eba
1f71584a77 only use hevc when recording the entire screen 2021-07-23 18:22:57 +02:00
dec05eba
4617e2c45a Add option to record a display or all displays. This requires nvfbc 2021-07-23 17:33:37 +02:00
dec05eba
7b39bd81c0 Fix first frame being black 2021-07-19 06:06:06 +02:00
dec05eba
a7259c6ff5 Add medium quality and set quality to medium by default 2020-09-01 01:35:33 +02:00
dec05eba
5537ebad6d Add medium quality 2020-08-31 23:22:14 +02:00
dec05eba
c94ce44dbe Fix black video when resizing to smaller window size 2020-08-31 06:49:25 +02:00
dec05eba
c622d2d799 Revert select code. Causes laggy video for some reason 2020-08-31 04:19:11 +02:00
dec05eba
5f84ad1c76 Attempt to reduce frame skip 2020-08-31 03:11:01 +02:00
dec05eba
534c9fd299 Change qmin and qmax again. They are too low 2020-08-31 02:56:42 +02:00
dec05eba
008f119f4c Use select on x11 display instead of sleeping and use xdamage again 2020-08-31 01:21:11 +02:00
dec05eba
e80bab33ca Use rgb instead of rgba to save memory 2020-08-30 22:54:24 +02:00
dec05eba
9ff163feb9 Disable unused mipmap 2020-08-30 22:26:31 +02:00
dec05eba
fabeb1707f Go all out on quality.. 2020-08-30 06:17:38 +02:00
dec05eba
6fadab748d Set ideal qmax value 2020-08-30 05:22:52 +02:00
dec05eba
d8550f9183 Higher quality for 'high' 2020-08-30 05:15:56 +02:00
dec05eba
b193f6fee4 Add -q quality flag. Set to high by default. Valid values: high, ultra 2020-08-30 05:04:10 +02:00
dec05eba
d69aded7fa Slightly improve performance by only swapping buffer on redraw 2020-08-30 04:06:49 +02:00
dec05eba
0780efe87d Vastly improve quality by using qmin and qmax (uses higher bitrate) 2020-08-29 04:02:34 +02:00
dec05eba
c1f5d7ee4d Add nvidia-like instant replay option 2020-08-28 05:06:10 +02:00
dec05eba
b2fc88336a Make audio optional in usage string 2020-08-27 23:15:52 +02:00
dec05eba
78ab032cf5 Make audio recording optional 2020-08-26 02:54:05 +02:00
dec05eba
bf9df281d2 Fix screen recording for certain windows (such as termite) 2020-07-05 07:49:13 +02:00
dec05eba
6343c5a76b Smoother? 2020-07-05 07:05:39 +02:00
dec05eba
ef3767d750 Improve video quality 2020-07-03 02:36:38 +02:00
dec05eba
5bfbdec58f Change quality, otherwise twitch craps itself 2020-07-03 01:57:33 +02:00
dec05eba
ed52692324 Use ctrl+c instead of closing window to stop recording 2020-07-01 23:53:06 +02:00
dec05eba
0ec013395f Improve quality of lower resolution video, make video smoother 2020-06-21 14:41:11 +02:00
dec05eba
9c1d2e9394 32 bit color 2020-06-21 14:41:11 +02:00
dec05eba
79026f574c Fix recording on systems that use 10 bit colors 2020-06-21 14:41:11 +02:00
dec05eba
f9e99e57f9 Add interactive record script 2020-06-21 14:41:11 +02:00
dec05eba
4418871737 Add gpl license to files 2020-06-21 14:41:11 +02:00
dec05eba
58d4aeb397 asdf 2020-06-21 14:41:11 +02:00
dec05eba
32b66c95ff Add pulseaudio, parse command line args 2020-06-21 14:41:11 +02:00
dec05eba
2fcd3ee3e5 Add audio support 2020-06-21 14:41:11 +02:00
dec05eba
5e60805c36 Fix gl errors 2020-06-21 14:41:11 +02:00
dec05eba
2b4aeb90f3 wip 2020-06-21 14:41:11 +02:00
dec05eba
7fcd7e4f4f Only redirect the target window 2020-06-21 14:40:36 +02:00
dec05eba
e223556b5d Rename to gpu screen recorder 2020-06-21 14:40:36 +02:00
dec05eba
19dfa524d4 do not crash when resizing window 2020-03-31 20:02:18 +02:00
dec05eba
07a8635c55 add debug handlers for x11 2020-03-31 19:29:54 +02:00
dec05eba
9635df6287 Fix timestamp and video duration: Add header and trailer to output file 2020-03-31 19:02:52 +02:00
dec05eba
ac7eec12f0 Do not trigger resize when window is moved 2020-03-31 18:53:07 +02:00
dec05eba
066f2b652c Allow setting container format and fps 2020-03-31 18:44:46 +02:00
dec05eba
34a000d836 output encoded video to stdout instead and add twitch stream script 2020-03-30 21:21:30 +02:00