What I just pushed
CERAS is a screen recorder for Linux. It is written in C and it has a small GTK3 window. The code is at https://github.com/kleinpanic/CERAS.
What it does
You can record the full screen, a single monitor, or a window you pick by clicking it. You choose the quality, the resolution and the FPS. Audio can be AAC, PCM or Opus, and you can switch it on and off while you record. There is a webcam preview and webcam capture too. The window shows the elapsed time and the file size as you go.
Videos land in ~/Videos/Screenrecords/ with an automatic name.
How it works
The code is split into modules:
- gui, the GTK+3 window
- recorder, screen capture through X11 and XRandR
- audio, which reads the default ALSA PCM device
- encoder, which uses the FFmpeg libraries to write H.264 video
- main, which runs threads for video, audio and webcam
The program takes --help, --version and --debug. The version in the code is 0.0.1, so it is early.
Build it
sudo apt-get install libgtk-3-dev libavcodec-dev \
libavformat-dev libavutil-dev libswscale-dev \
libavdevice-dev libswresample-dev libasound2-dev \
libx11-dev libxrandr-dev
make
./ceras
There is no make install yet. You run it from the repo.
What is not done
The README has a Future Improvements list. These things are not done: AVFrame pooling, hardware encoding (NVENC, QuickSync, VA-API) and async I/O. I have no performance numbers yet, so I will not make any claims.
I also put an older Python screen recorder, P-CERAS, in my Archived repo today.
P.S Thanks for reading. Consider subbing to the RSS feed.
Klein Panic