Go to file
2020-06-21 14:41:11 +02:00
include Add pulseaudio, parse command line args 2020-06-21 14:41:11 +02:00
src asdf 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
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 Add demo, update example 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.

Example

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!