dec05eba
690065da0f
Only capture frame if num frames to capture > 0
2023-04-18 22:31:44 +02:00
dec05eba
03ef7d0964
Show shorter form of help on argument error
2023-04-18 18:41:06 +02:00
dec05eba
7749ba8327
Replace tabs with 4 spaces
2023-04-18 18:34:23 +02:00
XnipS
e985e8e18e
Made fps update toggleable
2023-04-18 18:32:04 +02:00
dec05eba
c0ebae365d
Find /dev/dri/card path that exists (the first one)
2023-04-16 22:50:43 +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
45a64316b4
Move back receive packet to main thread
...
Fixes crash if encode fps is less than capture fps
2023-04-13 23:44:23 +02:00
dec05eba
7c4714956c
Move back video encoding to main thread, move receive packet to separate thread
...
When video is encoded at slower than capture rate that would
cause a crash (happens on steam deck).
2023-04-13 03:12:53 +02:00
dec05eba
2fdc73ffab
Temporary disable monitor recording on amd/intel
2023-04-11 00:48:59 +02:00
dec05eba
c8e45e67bd
Cleanup of aframe if same pts
2023-04-10 06:17:45 +02:00
dec05eba
f2ae6eb05e
Fix messed up audio pts when merging audio
2023-04-10 06:13:24 +02:00
dec05eba
895768104f
Revert "Revert: encoding video on separate thread"
...
This reverts commit ce9465b391
.
2023-04-10 06:07:48 +02:00
dec05eba
ce9465b391
Revert: encoding video on separate thread
2023-04-10 04:44:29 +02:00
dec05eba
ce5e0169c4
kms: fix crash on intel when using hevc, remove debug print, remove jpeg color range (incorrect colors on intel h264)
2023-04-10 02:38:47 +02:00
dec05eba
7dcf3a68cc
Use /usr/bin/gsr-kms-server constant path for pkexec
2023-04-09 16:06:39 +02:00
dec05eba
de72b93b0d
Better amd/intel quality tuning
2023-04-08 02:03:50 +02:00
dec05eba
75ed160122
Implement kms vaapi capture
2023-04-07 05:31:46 +02:00
dec05eba
10d7bf93e8
Cleanup replay packets after use
2023-04-03 10:45:00 +02:00
dec05eba
711379899b
Fix -k description
2023-04-02 15:36:59 +02:00
dec05eba
cc63bffaf7
Dont initialize vaapi on nvidia (fixes crash on startup)
2023-04-01 23:24:12 +02:00
Steam Deck User
c720d38978
Rename drm to vaapi
2023-04-01 19:05:56 +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
162eac8c2f
Xsync after overclock (and reset), dont set colorspace data
2023-04-01 13:48:59 +02:00
dec05eba
82e3720084
Install coolbits if using nvidia, add preserve video memory install script
2023-03-31 01:11:12 +02:00
dec05eba
f57b641d6d
Better usage formatting
2023-03-27 23:36:27 +02:00
dec05eba
bd925e0beb
Add code for variable framerate
2023-03-26 20:54:08 +02:00
dec05eba
d92ecea69e
Remove yuv444 for now
2023-03-26 19:04:51 +02:00
dec05eba
5d80bd886c
Move video encoding to separate thread, remove pixel_format that doesn't do anything and was bugged
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
f3c24b3c8b
Remove unused and invalid flags
2023-03-26 19:04:51 +02:00
dec05eba
8592a46929
Do not automatically install coolbits because if used on amd/intel then xorg wont boot
2023-03-24 02:00:38 +01:00
dec05eba
78398f9bdd
Add error message if using wayland (without xwayland) or xwayland
2023-03-21 22:28:52 +01: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
689419a782
Fix for ffmpeg 6 (nvenc hevc doesn't support b frames)
2023-03-10 10:16:09 +01:00
dec05eba
8ca1ac70e8
Support opus flt and fltp
2023-03-04 16:02:48 +01:00
dec05eba
c956cd4be3
dd
2023-03-04 15:42:53 +01:00
dec05eba
7a4ab93dc3
exp
2023-03-04 15:32:32 +01:00
dec05eba
06311eac36
Enable experimental support to make sure opus/flac works on older ffmpeg versions
2023-03-04 14:59:55 +01:00
dec05eba
4ff9a47b3d
Improve usage doc for -ac
2023-03-04 13:08:31 +01:00
dec05eba
3413f193c1
Add opus/flac audio options (only supported my mp4/mkv)
2023-03-04 12:57:30 +01:00
dec05eba
74a5fb9dfb
Add screen-direct-force option for VRR monitor
2023-03-04 11:19:31 +01:00
dec05eba
fdcdfd2b35
Fix broken video because of broken audio, most noticably in replay
2023-02-22 09:45:06 +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
bf6fbea736
Add info about audio names to readme file
2023-01-07 00:43:19 +01:00
dec05eba
5948233a0f
mm
2023-01-01 19:16:18 +01:00
dec05eba
fcb8f24754
Merge code fix
2022-12-20 15:53:02 +01:00
dec05eba
8d30a205b1
Make -c optional, select container format from file extension by default
2022-12-20 15:43:46 +01:00
dec05eba
bcd8117c76
Better audio/video sync, disable broken screen-direct again (nvidia driver bug)
2022-12-20 15:42:27 +01:00
dec05eba
3aa4f3e9f5
Re-enable screen-direct, disable h264 forced fallback and use p6 again
2022-12-20 15:42:25 +01:00
dec05eba
9d0d02ff6f
Attempt to reduce stuttering of video
2022-12-20 15:41:24 +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
93d46b9767
Refactor nvfbc into abstract capture api
2022-10-14 01:22:43 +02:00
dec05eba
2a788b5533
Use medium instead of p4 and slow instead of p7 for old ffmpeg
2022-10-12 14:24:13 +02:00
dec05eba
dc20d1eddb
Do not use p4, p7 with old ffmpeg that doesn't have those options yet
2022-10-12 04:53:56 +02:00
dec05eba
9d185f3091
Use p4 preset on older gpus (kepler family) because of performance
...
with p7
2022-10-11 19:47:28 +02:00
dec05eba
1ca4dcfbdb
Tune quality again, remove vbr
2022-10-11 02:47:17 +02:00
dec05eba
1a4e0aff72
Better tune quality options for different resolutions
2022-10-08 10:13:59 +02:00
dec05eba
92f4b1a6f1
Fix copy paste mistake possible crash (using av_opt_set instead of av_dict_set)
...
Thanks @guihkx
2022-10-06 21:54:44 +02:00
dec05eba
ea8254e115
Fix possible pulseaudio crash?
2022-10-05 12:47:34 +02:00
dec05eba
e8b16e8347
Live stream: set gop to fps*2, bit rate for medium to lower value
2022-10-04 02:44:46 +02:00
dec05eba
f55b713437
Temporary disable screen-direct recording as it causes stuttering (nvfbc bug?)
2022-10-04 02:23:40 +02:00
dec05eba
e80d7676d4
Livestream: add silent audio track if not audio input is provided (fixes youtube and other sites)
2022-10-04 01:32:27 +02:00
dec05eba
c354d88583
Add medium and high quality, better livestreaming options, fix global header (especially for streaming)
2022-10-04 00:09:53 +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
9ff0bb199b
Revert gop size
2022-10-03 01:55:39 +02:00
dec05eba
0ec31db6c6
Do not set keyint min
2022-10-02 23:08:07 +02:00
dec05eba
6885d1a30e
Sacrifice seek speed for reduced file size
2022-10-02 22:19:54 +02:00
dec05eba
b99652ee28
Make the audio input description the input name by default
2022-10-02 01:18:12 +02:00
dec05eba
5871abc42f
Allow giving audio inputs names by prefixing them with <name>/
2022-10-02 01:04:57 +02:00
dec05eba
f7606a144b
Give error when using an invalid audio input with pipewire
2022-09-30 22:02:23 +02:00
dec05eba
912515303b
Remove allowing only 1 process of gpu-screen-recorder at a time
2022-09-30 16:24:34 +02:00
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
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
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