Simple and efficient screen recording utility for Windows

About wcap


wcap is simple and efficient screen recording utility for Windows.

It uses Windows.Graphics.Capture API available since Windows 10 version 1903, May 2019 Update (19H1) to capture contents of window or whole monitor. Captured texture is submitted to Media Foundation to encode video to mp4 file with hardware accelerated codec. Using capture from compositor and hardware accelerated encoder allows it to consume very little CPU and memory.

Get latest binary here: wcap.exe (WARNING: false positives may be reported from various AV vendors)

Get source code on github: https://github.com/mmozeiko/wcap

Features

  • press Ctrl + PrintScreen to start recording current monitor (where mouse cursor currently is positioned)
  • press Ctrl + Win + PrintScreen to start recording currently active window
  • press Ctrl + Shift + PrintScreen to select & record fixed position area on current monitor
  • press any of previous combinations to stop recording right or double-click on tray icon to change settings
  • video encoded using H264/AVC or H265/HEVC
  • audio encoded using AAC or FLAC
  • for window capture record full window area (including title bar/borders) or just the client area window capture can record application local audio, no other system/process audio included
  • optionally exclude mouse cursor from capture
  • can limit recording length in seconds or file size in MB's
  • can limit max width, height or framerate - captured frames will be automatically downscaled
Read more
Filters

Recent Activity

Added AV1 video encoding in &wcap
Supports 8-bit and 10-bit format main profiles.
AV1 is newer codec that in theory should allow smaller output file size for similar quality (or better quality for similar output file size). In practice the quality and availability depends on driver and h/w support. Probably fine on Nvidia, but not really recommended on AMD (worse quality than alternatives). Does not work on Qualcomm (GPU driver crashes). Windows provides no software fallback for encoding on CPU, must have h/w support to enable AV1.

View original message on Discord

&wcap now with native arm64 support!

All the same features as x64 build supported - screen/window/region capture, audio capture, process-local audio, h264/hevc/aac/flac, improved color conversion, etc... Everything running with the same small CPU and memory usage when encoding using GPU accelerated codec.
https://github.com/mmozeiko/wcap

View original message on Discord

&wcap update with many cool new features & improvements - https://github.com/mmozeiko/wcap

  • Record application local audio for window capture (Windows 10 "20H1" and up)
    Captures audio output only from single process, no any other system/process audio included.
  • Option to disable yellow capture border (Windows 11 only)
  • Option to disable rounded window corners for window capture (Windows 11 only)
  • Resize performance is significantly improved when limiting max width/height
    For example, resizing 3840x2160 to 1280x720 on RTX 2080 improved from ~0.6 to 0.2 msec per frame. For Intel UHD 630 it improved from ~30 to 8 msec. The larger resize ratio is, the larger performance improvement.
  • Option to do gamma correct resize
    Resize can now happen in linear space, thus better preserving brightness. It mostly helps when you have bright colors in front of dark background. For 3d game/movie/photo content capture it should look better, but it will look worse for capturing screen images with dark text on light background. So it is not always an improvement. See the attached image for comparisons - notice how much dimmer are the smaller stars in old version, but gamma correct resize preserves their brightness. You will need to look at image with 100% scale, otherwise discord/browser may show wrong colors in resize comparison.
  • Option to improve color conversion
    Adjusts RGB to YUV conversion output to better match the brightness of output to original input color. This can be a huge improvement for high color contrast images. Especially max-red and max-blue colors. See attached image where new conversion shows significantly less darker areas around edges of colored text. Also see how closer in brightness are regions with red & blue alternating lines. For content with smoother color changes like 3d game/movies/photos there will be almost no visible difference from enabling this option. The improvement costs a bit of extra performance, so it is not completely for free. For example, for 3840x2160 size on RTX 2080 it costs ~0.19 vs 0.08 msec for regular conversion per frame. On Intel UHD 630 it is ~9 vs 6 msec.
  • Fixed bad shift in color (0.5px horizontally) when doing RGB to YUV color conversion
    Now the conversion is more accurate, for both improved and default YUV conversions.
  • Executable size increased by 6.5 KB - from 57856 to 64512 bytes, only 1KB left till 64KB 😦
View original message on Discord

&wcap update - now it can encode video to 10-bit HEVC (main10 profile). Theoretically it increases quality of image as there is more resolution for color values in conversion to YUV. But it depends on how GPU implements encoder. In practice it will be very hard to see any differences. From my non-scientific tests with Nvidia, it seems it encodes better - on some content it gets ~10% smaller video files than 8-bit HEVC.

Not all GPU's support encoding to 10-bit HEVC. Check your GPU support here:
Nvidia: https://en.wikipedia.org/wiki/Nvidia_NVENC#Versions or https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new
Intel: https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video#Hardware_decoding_and_encoding

Get it on GitHub: https://github.com/mmozeiko/wcap

View original message on Discord

new &wcap feature - allow to choose discrete vs integrated GPU to use for encoding. By default it will select discrete one. Using integrated may be useful for laptop users with nvidia optimus when you're recording low framerate / low complexity screen capture, as that uses less power, which means less heat & better battery usage. I recommend using iGPU only if you're on Skylake or newer Intel CPU, as older CPUs than Skylake have pretty poor performance & quality. New version also includes minor fix for bad handling of minimized window capture. In such case no new frames are captured which means messed up timestamp or hanging of recording (if audio capture was also enabled). Now it will properly produce discontinuity in video stream. https://github.com/mmozeiko/wcap

View original message on Discord