OpenScreen: Record, Auto-Edit & Export PR-Ready Demos with Local AI & GPU Encoding
OpenScreen is an open-source, cross-platform screen recorder and editor that automates zoom, subtitles via local Whisper, backgrounds, 3D effects, and GPU-accelerated export, plus a headless CLI and MCP server for AI agents to record and attach demo videos to pull requests automatically.
OpenScreen is a desktop application (Windows, macOS, Linux) that records the screen and then edits the recording into a polished product-demo video. It positions itself as the open-source counterpart to Screen Studio, which defined the category of "record-then-auto-beautify" tools but charges a subscription. OpenScreen is MIT-licensed, has 4.3k GitHub stars, and its latest release is v2.0.0.
Core Architecture: A Custom Rendering & Encoding Pipeline
The project's differentiating value lies in its export pipeline. Instead of shelling out to ffmpeg, it implements a native compositor in Rust that performs GPU encoding on each platform: Metal on macOS, D3D11 on Windows, and Vulkan on Linux, with automatic CPU fallback. This pipeline handles the final render of all edits — zooms, backgrounds, motion blur, 3D device frames — at high speed without watermarks.
Feature Layers
Recording Layer
Full-screen or window capture
Microphone + system audio capture
Webcam picture-in-picture with 8 snap positions, adjustable corner radius, mirroring, and shape options
Real cursor capture (shape, type, clicks) with post-recording path smoothing
Built-in teleprompter (Notes teleprompter mode)
Editing Layer
Auto-zoom (follows cursor) and manual zoom with depth, duration, easing, and pixel-level position control
Local Whisper transcription (~260 MB model, downloaded once on first use of a voiced segment); fully offline, no upload. Transcript is editable; deleting a sentence from the transcript cuts it from the video.
AI editing assistant: chat interface describes changes (cut, zoom, speed, annotations, framing) and applies them directly to the timeline. Supports Claude, OpenAI, Gemini, Mistral, OpenRouter, MiniMax, or any OpenAI-compatible endpoint; disabled by default.
Backgrounds: wallpaper, solid color, gradient, custom image
3D effects: cursor-following camera, modeled cursor, click tilt, depth of field, 3D device frames (laptop, phone, browser, monitor)
Webcam background processing: remove, blur, replace — runs locally via ONNX on CPU
Motion blur, crop, trim, per-segment speed change
Text, arrow, image annotations with text animation presets
Timeline snap guides + audio waveform
Export Layer
MP4 or GIF, multiple aspect ratios and resolutions
GPU render and encode with automatic CPU fallback
Automation Layer (Headless CLI + MCP Server)
Headless CLI with three commands: record, export, info; scriptable and CI-friendly; --json outputs NDJSON.
MCP server integrates OpenScreen into coding agents like Claude Code.
UI available in 15 languages including Simplified and Traditional Chinese.
End-to-End Scenario: AI Records a Demo and Attaches It to a PR
The most distinctive workflow connects OpenScreen to an coding agent. In Claude Code, you install an OpenScreen skill (with consent), which sets up the MCP server. You then start a new conversation and say "continue the OpenScreen demo" — a step the agent cannot do alone. After that, you can simply say "Add a video of this change to the PR." The agent then: plans shots → records the app → uses OpenScreen's own editing tools to cut the clip → exports MP4 → frame-checks the result → attaches it to the pull request, where reviewers watch the video directly in the PR. For release demos, it can draft an X (Twitter) post and wait for your "send" confirmation. This pipeline works because editing is exposed as a programmable API: the three CLI commands plus read/write of the .openscreen project JSON make "record-to-finished-asset" fully scriptable.
openscreen record --duration 20 --project demo.openscreen --json
openscreen export demo.openscreen -o demo.mp4 --jsonInstallation
Windows
Preferred: Microsoft Store via winget install --source msstore OpenScreen — Microsoft-signed, no SmartScreen warning, auto-updates. Alternative: download .exe from Releases (unsigned, SmartScreen blocks; ARM64 devices must use ARM64 build, x64 under emulation records poorly).
macOS
Download .dmg from Releases, drag to Applications. Since v1.9.0: Developer ID signed + Apple notarized, Gatekeeper allows. First launch requires granting Screen Recording and Accessibility permissions in System Settings; both are mandatory.
Linux
Four package formats per distribution:
sudo apt install ./Openscreen-Linux-*.deb # Debian/Ubuntu
sudo dnf install ./Openscreen-Linux-*.rpm # Fedora/RHEL
sudo pacman -U Openscreen-Linux-*.pacman # Arch
./Openscreen-Linux-*.AppImage # Any distroNixOS/Nix users can run nix run github:getopenscreen/openscreen or use the built-in flake module.
Hardware Requirements
8 GB RAM minimum, 16 GB recommended. Windows 10 1903+, Intel 8th gen / Ryzen 2000 series or newer. macOS 13 Ventura+ (requires ScreenCaptureKit). Linux needs xdg-desktop-portal + PipeWire.
Current State & Known Issues
The project explicitly states it is in active development with rough edges: the .openscreen project format and CLI may see breaking changes. The public roadmap lists concrete issues: Windows stop-recording occasional hang leaving empty file; macOS long recordings may truncate; Linux on niri (Wayland) cannot record at all; AppImage PipeWire capture reports "error alloc buffers"; some older AMD GPUs on Linux produce invalid H.264; Windows game recording stutters on certain machines. Most have been fixed in recent versions; maintainers await user confirmation.
Who It's For
People creating product demos, documentation, PR demo videos — its core use case; complete record-to-finish pipeline, only free open-source implementation with this feature set.
Users who want Screen Studio parity without a subscription — visual effects (zoom, backgrounds, motion blur, 3D device frames) are all present.
Teams wanting agents to produce demo videos autonomously — MCP server + CLI + project JSON is a unique automation chain.
Privacy-conscious users — transcription, subtitles, webcam background removal run locally; nothing leaves the machine unless you enable an LLM.
Not for: users needing zero-rough-edge, out-of-the-box stable commercial tools. Rapid iteration means occasional crashes and format changes are documented trade-offs. Linux users especially should expect Wayland limitations (e.g., click effects require evdev access via udev rules or input group).
Project History: Community Fork
Original author Siddharth Vaddem archived the repo after v1.5.0. The current getopenscreen/openscreen is a community continuation with his blessing — same name, same MIT license, development moved to a new repo. Contributor stats show maintainer EtienneLescot with 2,157 commits vs. original author's 504. This explains the rapid 4.3k stars and steady release cadence in half a year, and why the project emphasizes "official/trusted links" to avoid phishing sites that often target popular community forks. For an open-source project, willing community succession is a stronger signal than star count alone.
GitHub: github.com/getopenscreen/openscreenSigned-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Geek Labs
Daily shares of interesting GitHub open-source projects. AI tools, automation gems, technical tutorials, open-source inspiration.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
