Skip to content

teamclouday/Record

Repository files navigation

Record

Icon

A cross-platform screen capture application that is able to record a user-defined area on screen. Depending on the output format, audio (& mic) capture is also supported.
On Linux there is an awesome screen capture application (Peek) but on Windows I cannot find anything. That's why this project is created.

OK, I learned the existence of OBS Studio, and have switched to using that.
Feel free to use this app as GIF capture only, and I'll add audio capture support to Windows in the future.


Controls

  • ESC: exit app
  • F11: toggle fullscreen
  • CTRL + Global Hotkey: start/stop recording

Global Hotkey:
The program will select from (F10, F9, F8, F7, F6) or raise error if none can be registered. See Control on app UI for details (F10 is the default).
At most 5 instance of this application can be launched at the same time!

Platform

Current supported platforms are:

  • Linux (X11 backend)
  • Windows

Right now capturing on secondary monitors is not supported yet.

Feature Plans

  • Global Hotkey for Window Re-focus
  • Windows Platform Support
  • Fullscreen Capture
  • App Icon
  • Media File Multi-Access Protection
  • Better UI Fonts (Hurmit Font)
  • Audio Capture
    • Linux
    • Windows
  • Microphone Support
    • Linux
    • Windows
  • Auto fit size to match another window
  • Video Formats:
    • mp4
    • gif
    • mov
    • wmv
    • flv
    • avi
    • mpg
    • webm
    • apng
  • Multi-monitor Support

Demo

A classic "record myself recording" with apng format:
Demo

Dependencies

Windows Additional Libs

The following libs are required for Windows static build, but should all exist in a standard Windows environment:

  • comdlg32.lib
  • mfplat.lib
  • mfuuid.lib
  • strmiids.lib
  • secur32.lib
  • shlwapi.lib
  • vfw32.lib
  • ws2_32.lib
  • bcrypt.lib

Compilation

First pull the repo and run:

git submodule update --init --recursive
Steps for Linux

On linux, make sure ffmpeg (version 5.0) and related libav libraries are installed. If you are not sure:

ldconfig -p | grep libav
ldconfig -p | grep libsw

and look for the following libraries:

  • libavdevice
  • libavfilter
  • libavformat
  • libavcodec
  • libswresample
  • libswscale
  • libavutil

If you are not using X11, run following:

export GDK_BACKEND=x11

to force x11 backend.

Then init build files:

mkdir build
cd build
cmake ..

Build (Linux):

make -j4

Build (Windows):

cmake --build . --config Release

Executable is under bin folder

Note that on Windows it is a static build, while on Linux it is shared


Releases

Windows Builds