Go to file
2020-06-21 14:41:11 +02:00
include Add gpl license to files 2020-06-21 14:41:11 +02:00
src Fix recording on systems that use 10 bit colors 2020-06-21 14:41:11 +02:00
.clang-format format code 2020-03-30 17:38:55 +02:00
.gitignore first 2020-01-08 13:34:55 +01:00
interactive.sh Add interactive record script 2020-06-21 14:41:11 +02:00
LICENSE Update LICENSE 2020-03-30 21:40:41 +02:00
list-sinks.sh Add pulseaudio, parse command line args 2020-06-21 14:41:11 +02:00
project.conf Add pulseaudio, parse command line args 2020-06-21 14:41:11 +02:00
README.md Update readme 2020-06-21 14:41:11 +02:00
twitch-stream.sh Add pulseaudio, parse command line args 2020-06-21 14:41:11 +02:00

gpu screen recorder

This is a screen recorder that has minimal impact on system performance by recording a window using the GPU only, similar to shadowplay on windows.

The output is an h264 encoded video with aac audio.

This project is still early in development.

Performance

When recording a 4k game, fps drops from 30 to 7 when using OBS Studio, however when using this screen recorder the fps remains at 30.

Installation

gpu screen recorder can be built using sibs or if you are running Arch Linux, then you can find it on aur under the name gpu-screen-recorder-git (yay -S gpu-screen-recorder-git).

Example

Run interactive.sh or run gpu-screen-recorder -w 0x1c00001 -c mp4 -f 60 -a bluez_sink.00_18_09_8A_07_93.a2dp_sink.monitor > test_video.mp4

Demo

Click here to watch a demo video on youtube

Requirements

X11, Nvidia (cuda), alsa or pulseaudio

TODO

  • Scale video when the window is rescaled.
  • Support AMD and Intel, using VAAPI. cuda and vaapi should be loaded at runtime using dlopen instead of linking to those libraries at compile-time.
  • Clean up the code!