Skip to content
// PRODUCT — v4.7.2 · STABLE

Frame-perfect screen recording, typed from the terminal.

DarthScreenCapture is a 93MB, GPU-accelerated recorder built for engineers, technical writers, and educators. Lossless 4K60, per-region audio, instant GIF export, and a CLI that treats dsc record like any other binary in your $PATH.

  • macOS · 93MB
  • Windows · 96MB
  • Linux · .deb · .rpm · AppImage
  • License · Free tier, no card
// CAPABILITIES

Every capture capability an engineer actually uses, in one recorder.

Six capture primitives, one binary. No upsells, no "Pro" tier wall, no per-minute cloud tax — every feature below ships in the free build and stays in the $39 license.

01

Lossless 4K60, GPU-encoded, at 3% CPU.

AV1 (SVT), HEVC (VideoToolbox / NVENC), H.264 (x264, x265), ProRes 422 HQ, and a true lossless FFV1 mode for archive. Pick per-clip or set a project default — the codec selector remembers your last choice and exposes every flag in the inspector panel.

Max resolution
7680 × 4320 (8K, downsampled)
Frame rates
15 / 24 / 30 / 48 / 60 / 120 fps
Color
Rec.709, Rec.2020 HDR10, 10-bit 4:2:2
CPU @ 4K60
2.7% on M1 · 4.1% on Ryzen 7 5800U
02

Per-region audio routing.

Capture one app's audio without touching the rest of the system. Pick from any CoreAudio / WASAPI / PulseAudio source — including browser tabs and virtual devices. Mix up to four streams with per-track gain and a built-in limiter at −1 dBFS.

  • App-only
  • Mic + system
  • Multi-track .mka
  • WASAPI loopback
03

Instant GIF & WebM export.

Hit +E during or after a capture and ship a GIF in under a second. The WebM pipeline is open-source and was audited by Trail of Bits in November 2023 — full report linked from the changelog.

  • .gif
  • .webm (vp9)
  • .mp4
  • .mov (ProRes)
  • .png sequence
04

Annotations, keystrokes, cursor FX.

Arrow keys move, K toggles keystroke overlay, Z zooms the cursor 2× for demos. Arrows, boxes, and blur rectangles are non-destructive layers — toggle them off in post without re-rendering the source.

  • Keystroke overlay
  • Click ripple
  • Blur regions
  • Arrow + box tools
  • Mouse smoothing
05

FFmpeg-grade export, no re-encode.

Cut on frame boundaries, splice clips, strip silence, normalize loudness to −16 LUFS. Every export action is a separate, composable command — your CLI flags survive into the GUI and vice-versa.

06

Keyboard-first flow.

Every action has a default chord and every chord is remappable. Vim-mode preset included. Profiles sync via a plain shortcuts.toml in your dotfiles repo.

  • ⌘⇧R record
  • ⌘⇧P pause
  • ⌘E export
  • ⌘; inspector
// BENCHMARKS

Benchmarked on a 2020 MacBook Air, not hand-waved in marketing copy.

Every number on this page is reproducible from the open benchmark suite in our docs. No "up to" weasel-words, no synthetic loads.

2.7% CPU @ 4K60 AV1 2020 MacBook Air · M1 · 16GB
3.0s Cold start to first frame Fastest in G2 Spring 2024 report
93MB Installer footprint Wirecutter comparison · 2024
418k+ Active installs · Q1 2025 macOS · Windows · Linux
4K60 AV1 capture, 10-minute loop, plugged-in laptop
RecorderCPU avgEncoderInstallerCold start
DarthScreenCapture 4.7 2.7 %SVT-AV1 (HW offload)93 MB3.0 s
OBS Studio 30.1 11.4 %x264 medium184 MB5.6 s
Loom Desktop 1.12 8.9 %VP9 (cloud transcode)141 MB7.8 s
QuickTime Player 10.5 6.2 %H.264 HW(system)1.4 s*

* QuickTime requires file-new-screen-recording-per-clip and lacks per-region audio; included for reference only.

// CLI & REST API

Treat screen recording like a developer tool — flags, scripts, and a real REST API.

If you've scripted ffmpeg or curl in CI, you already know how to use DarthScreenCapture. The same flags work in the GUI inspector, and every action returns a structured exit code you can branch on.

CLI

$ dsc record — the flag set

# capture a 1080p region at 60fps, AV1, app-only audio
dsc record \
  --region 1920x1080+0,90 \
  --fps 60 --codec av1 --bitrate 6M \
  --audio per-window --audio-device "Stripe" \
  --cursor smooth --keystrokes \
  --output ./repros/checkout.webm

# batch regression clips in CI
dsc batch ./scenarios/*.yml --out ./artifacts/

# turn a recording into a GIF without re-encoding
dsc export ./repros/checkout.webm \
  --format gif --fps 12 --max-width 720
REST

POST /v1/captures — the API

# start a capture, returns a job id
POST /v1/captures
Content-Type: application/json
Authorization: Bearer $DSC_TOKEN

{
  "region": "1920x1080+0,90",
  "fps": 60,
  "codec": "av1",
  "audio": "per-window:Stripe",
  "webhook": "https://hooks.example.com/dsc"
}

# → 202 Accepted
{ "id": "cap_8f3a1", "status": "recording" }

# poll status
GET /v1/captures/cap_8f3a1"ready"
GET /v1/captures/cap_8f3a1/file"video/webm"
NATIVE PLUMBING FOR
  • Linear
  • Jira
  • Sentry
  • Loom-import
  • GitHub Actions
  • Webhooks
// FAQ

The questions engineers ask before they install anything.

Which codecs and containers ship in the build?

AV1 (SVT), HEVC (VideoToolbox / NVENC / VAAPI), H.264 (x264, NVENC, VideoToolbox), H.265 (x265), VP9, ProRes 422/4444, and a true lossless FFV1 mode. Containers: MP4, MOV, MKV, WebM, and PNG sequence. Every codec is selectable per-clip and exposes its own flag set — see the CLI reference for the full list.

What operating systems are supported?

macOS 12.0+ on Apple Silicon and Intel, Windows 10 build 19041+ (x86_64 and ARM64), and Linux on glibc 2.31+ as .deb, .rpm, AppImage, and a static tarball. We test on Ubuntu LTS, Fedora, Arch, and NixOS. There is no iOS or Android build — recording on mobile is out of scope for DarthScreenCapture.

Is there a watermark on free-tier recordings?

No. Free-tier recordings export clean — no watermark, no "Made with DarthScreenCapture" stamp, no time limit on a single clip. The free build and the $39 license are byte-for-byte identical at the capture layer; the license unlocks the commercial-use clause and priority email support.

What does the license actually cover, and how is it updated?

A single $39 one-time payment, per person, covers commercial use on every machine you own. No seat math, no per-minute cloud tax, no subscription. Updates ship every 3 weeks on a public changelog with semver; the v4 line has been stable since March 2024 and is API-stable through v5.

Can I script this from CI without a GUI?

Yes. The CLI binary is self-contained and runs headless on any machine with a display server (Xvfb on Linux works for automated regression clips). The REST API gives you the same surface over HTTP. Both are documented in /cli-api/ with copy-paste recipes for GitHub Actions, GitLab CI, and Buildkite.

Does it upload my screen anywhere by default?

No. DarthScreenCapture is local-first: capture, encode, and export all happen on-device. The only network calls are (a) checking for updates, which is opt-in, and (b) explicit webhooks you configure for Linear, Jira, Sentry, or a custom URL. There is no background telemetry, no cloud rendering, no remote AI pass. The November 2023 Trail of Bits audit covers the WebM export pipeline in full.

How does it compare to OBS, Loom, or QuickTime?

Against OBS, DarthScreenCapture uses about a quarter of the CPU at the same resolution and ships with a CLI; against Loom, it has no cloud dependency and no per-minute cost; against QuickTime, it has per-region audio, multi-codec output, and a scriptable surface. The benchmark table in the section above has reproducible numbers.

Is there a refund window if it doesn't fit our flow?

Yes — 30 days, no questions asked, refunded by the same method you paid with. Email [email protected] and we process it the same business day. We are a 14-person company, not a ticketing queue.

// FREE FOREVER · ONE-TIME $39 LICENSE

93MB. Three-second cold start. Free to record forever.

No watermark, no cloud tax, no per-minute meter. Download the build, record a 4K60 clip, and ship a GIF in under a minute. If it earns its dock icon, the license is $39 — once.

  • macOS · Apple Silicon & Intel
  • Windows · 10 & 11
  • Linux · .deb · .rpm · AppImage