If OpenScreen saves you time, a star on the repo helps others find it. Full Changelog: https://github.com/getopenscreen/openscreen/compare/v2.2.1...v2.2.2

openscreen
getopenscreenMIT活跃维护免费开源的跨平台屏幕录制工具,支持 GPU 加速、无水印无订阅,内置语音转文字,适合快速录制产品演示视频。
Record your screen, ship a demo. Free and open-source, GPU-accelerated, no watermarks, no subscriptions. Windows, macOS, Linux. Actively maintained.
npx skills add getopenscreen/openscreen --skill openscreen-demo
winget install --source msstore OpenScreenREADME 没有说明硬件要求。
项目说明
这个项目的说明还在生成中,先参考下面「最近发版」和 README。
- v2.2.2最新正式版2026-11-04 · 2026-11-04 22:55 UTC
- v2.2.2-rc.1pre-release2026-11-04 · 2026-11-04 22:15 UTC
查看更新说明
Changes since v2.2.1
- fix(export): recover nearby frames before sparse clip starts
Full Changelog: https://github.com/getopenscreen/openscreen/compare/v2.2.1...v2.2.2-rc.1
- v2.2.12026-11-03 · 2026-11-03 07:23 UTC
查看更新说明
If OpenScreen saves you time, a star on the repo helps others find it.
What's Changed
- ci: retry validating the stapled macOS DMG when Apple drops the connection by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1433
- fix: pick the YCbCr matrix per frame on macOS by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1421
- docs: e2e results on main before the next prerelease by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1434
- fix(export): bound a clip by the container duration, not a one-frame video stream by @dropafterfree in https://github.com/getopenscreen/openscreen/pull/1418
- fix: ship app-update.yml in the macOS app so it can update itself by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1432
- fix(updater): install Windows updates silently so only UAC shows by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1439
- fix(hud): accept the system language prompt on Enter by @My-Denia in https://github.com/getopenscreen/openscreen/pull/1442
- fix(speed): accept a trailing × or x in the custom speed field by @ITx-prash in https://github.com/getopenscreen/openscreen/pull/1444
- fix(updates): let a release candidate's manual check see newer RCs by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1448
- fix(compositor): share one wgpu device across the Linux unit tests by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1451
- fix(linux): keep the user's --enable/--disable-features on Wayland by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1453
- fix(export): tag the MP4's colour matrix, primaries, transfer and range by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1460
- docs(website): target Screen Studio 4 on the Screen Studio alternative page by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1464
- fix(updater): keep OpenScreen running when UAC is declined by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1463
- chore(release): release v2.2.0 into main by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1466
- fix(cli): keep render settings when exporting a v2 project by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1469
- test(cli): guard the v2 loader keeping render settings by @EtienneLescot in https://github.com/getopenscreen/openscreen/pull/1470
New Contributors
- @dropafterfree made their first contribution in https://github.com/getopenscreen/openscreen/pull/1418
- @ITx-prash made their first contribution in https://github.com/getopenscreen/openscreen/pull/1444
Full Changelog: https://github.com/getopenscreen/openscreen/compare/v2.2.0...v2.2.1
- v2.2.1-rc.1pre-release2026-11-02 · 2026-11-02 23:20 UTC
查看更新说明
Changes since v2.2.0
- ci: retry validating the stapled macOS DMG when Apple drops the connection
- fix(compositor): pick the YCbCr matrix per frame on macOS
- fix(compositor): leave BT.2020 CL on the default path, convert 10-bit samples with 10-bit bounds
- docs(testing): log the prerelease passes on main and the signed CI DMG
- docs(testing): add the x64 DMG signature check
- fix(export): bound a clip by the container duration, not a one-frame video stream
- fix(export): hold the only screen frame when a clip starts after it
- fix(mac): write app-update.yml into the .app so it can update itself
- fix(mac): accept an object-form publish config in afterPack
- fix(mac): prefer mac.publish when writing app-update.yml
- test(mac): pin the first mac.publish entry
- fix(updater): install Windows updates silently so only UAC shows
- fix(updater): keep the wizard when a per-user and a per-machine install coexist
- fix(updater): keep the wizard when reg cannot answer, and test the dual-install handoff
- fix(hud): accept the system language prompt on Enter
- test(hud): press Enter on the focused Keep button
- test(hud): cover Alt, Shift and Meta on the language prompt's Enter
- fix(speed): accept a trailing × or x in the custom speed field
- fix(updates): let a release candidate's manual check see newer RCs
- fix(compositor): share one wgpu device across the Linux unit tests
- fix(linux): keep the user's --enable/--disable-features on Wayland
- fix(export): tag the MP4's colour matrix, primaries, transfer and range
- docs(website): target Screen Studio 4 on the Screen Studio alternative page
- fix(updater): retain the app when Windows elevation is declined
- fix(updater): wait for the PowerShell elevation result
- fix(updater): await the bundled elevation helper
- fix(updater): serialize elevation and block new takes
- fix(updater): recheck readiness and reserve browser starts
- fix(updater): complete recording startup and failure guards
- fix(updater): confirm missing registry keys before silent install
- fix(updater): allow larger registry enumeration output
- chore(release): release v2.2.0 into main
- fix(cli): keep render settings when exporting a v2 project
- test(cli): guard the v2 loader keeping render settings
Full Changelog: https://github.com/getopenscreen/openscreen/compare/v2.2.0...v2.2.1-rc.1
- v2.2.02026-11-02 · 2026-11-02 20:25 UTC
查看更新说明
OpenScreen 2.2 brings layout changes to the timeline, separate tracks for overlapping annotations, and an update button that puts you in control of installation. This release also improves recording, playback, audio timing and export across Windows, macOS and Linux.
✨ Highlights
Change the layout throughout your video
The new Layouts track lets you switch between picture-in-picture, side-by-side, top/bottom, camera-only and screen-only arrangements as your video plays. Place a change at the playhead, move its boundary to adjust the timing, and let the screen and camera transition smoothly into their next positions.
Layout edits support undo/redo and the AI/MCP tools. Existing Full Camera sections migrate to camera-only layouts while preserving their original easing. #1404
Keep overlapping annotations easy to edit
Annotations that overlap now have their own timeline rows. You can select, move, resize or delete each annotation, even when their timing is identical. Drag vertically to change the stacking order, or horizontally to change when an annotation appears; timing and layer changes undo together. #1243

Stop an AI edit and keep the work already done
The chat composer now has a Stop control for a running agent turn. Completed edits and the partial reply are retained, and you can continue with another message. A whole turn produces one undo step, including turns that make many edits. #1368
Export the audio you need
The CLI and MCP tools can now export the full project mix or one imported audio track to WAV or M4A, preserving its placement, trims, gain, fades and speed changes. Useful for taking narration into another audio editor or reusing a finished mix. #1383
openscreen export project.openscreen -o mix.m4a openscreen export project.openscreen -o narration.wav --track <audioId>Custom shader effects also gain
footage(p): access to the recording at its source resolution, so a loupe or close-up can retain detail that has been scaled down in the composed picture. #1396Update when you are ready
Self-updating builds check and download new versions in the background, then show a blue update button in the recording bar and editor. Installation starts on your click; an ordinary quit keeps the current version. MCP-only sessions can tell you that a newer release is available and direct you to the app. #1425
On Windows, declining the administrator prompt now keeps OpenScreen open and usable. Accepting it completes the update and restarts the app. Store and Nix installations continue to use their package manager. #1463
🛠 Fixes and improvements
Recording, webcam and cursor
- Windows screen capture: added a DXGI Desktop Duplication fallback, including recovery, adapter selection, rotation, resizing and correctly sized cursors. #1254
- macOS webcam: restored continuous webcam recordings and kept VP8 for recordings at 1080p or below. #1297
- macOS screen picker: reset Apple's picker for each request and ignore stale or unrequested selections. #1370
- macOS audio: start system-audio capture after the microphone and handle blocked sample queues without treating a temporary stall as
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
OpenScreen
Install the OpenScreen demo skill with `npx skills add getopenscreen/openscreen --skill openscreen-demo -y`, then follow it to make a demo video of this feature.
[!NOTE] This is OpenScreen, continued. Siddharth Vaddem created the project and archived the original repository after v1.5.0. Development moved here with his approval, under the same name and the same MIT license.
A raw capture goes in and comes out ready to post — on X, Reddit, YouTube, a docs page, or a landing page. That is the category Screen Studio defined; OpenScreen is the open-source entry in it, and not a clone.
100% free for personal and commercial use, with nothing held behind a paywall.
Project status. OpenScreen is under active development — expect rough edges and occasional breaking changes, including to the .openscreen project format and the CLI. Bug reports are welcome: open an issue.
Core Features
- Record a specific window, or your whole screen.
- Record microphone and system audio.
- Webcam overlay with picture-in-picture, eight snap positions, adjustable roundness, mirroring, and shape options.
- Auto or manual zooms with adjustable depth, duration, easing, and pixel-precise position; auto-zoom follows your cursor as you work.
- Custom cursor size, smoothing, and click effects, with post-recording path smoothing.
- Automatic captions for voiceovers, transcribed on-device with no upload (works offline), with an editable transcript you can cut from and optional subtitle translation.
- AI editing assistant: describe the edit you want in chat and it applies to the timeline — cuts, zooms, speed ramps, annotations, camera framing. Bring your own key (Claude, OpenAI, Gemini, Mistral, OpenRouter, MiniMax, or any OpenAI-compatible endpoint); nothing is enabled by default.
- Wallpapers, solid colors, gradients, or your own background image.
- Motion blur.
- Crop, trim, and per-segment speed control on the timeline.
- Text, arrow, and image annotations, with text animation presets.
- Timeline snapping guides and an audio waveform to make trimming easier.
- Customizable keyboard shortcuts.
- Export to MP4 or GIF in multiple aspect ratios and resolutions, rendered and encoded on the GPU (Metal on macOS, D3D11 on Windows, Vulkan on Linux) with an automatic CPU fallback.
- Languages supported: Arabic, Czech, English, Spanish, French, German, Italian, Japanese, Korean, Portuguese (Brazil), Russian, Turkish, Vietnamese, Simplified Chinese, and Traditional Chinese.
Command-line interface (headless)
OpenScreen ships a CLI for scripts, CI, and AI coding agents: record the screen
headlessly, edit the .openscreen project JSON programmatically (zooms,
annotations, trims), and render MP4/GIF with the full export pipeline — no
visible windows, NDJSON output with --json.
openscreen record --duration 20 --project demo.openscreen --json
openscreen export demo.openscreen -o demo.mp4 --json
See the CLI reference.
Let your AI agent ship the feature with its video
Paste this into your AI agent (Claude Code, Codex, Cursor…):
Install the OpenScreen demo skill with `npx skills add getopenscreen/openscreen --skill openscreen-demo -y`, then follow it to add a video of this change to the PR.
The skill sets everything up: it installs OpenScreen if it is missing (once you
agree), connects its MCP server, then asks you to open a new session and say
"continue the OpenScreen demo", the one step an agent cannot do for itself.
By hand, in Claude Code, it is these two commands, where <executable> is the app's executable
on your system (where to find it):
claude mcp add openscreen -- "<executable>" mcp
npx skills add getopenscreen/openscreen --skill openscreen-demo
From then on, ask: "Add a video of this change to the PR." The agent plans the storyboard, records the app, edits the take with OpenScreen's own editing tools, exports the MP4, checks it frame by frame, and attaches it to the pull request, where reviewers watch it in place. Ask for a launch demo instead and it drafts a post for X, which it publishes only once you say yes. Codex and the other clients are in AI editing.
Installation
Every platform has a recommended route below. On Windows that is the Microsoft Store; everywhere else it is the installer from the GitHub Releases page.
System requirements
- Windows: version 1903+ (build 18362) with Intel 8th Gen / AMD Ryzen 2000 series or newer minimum; Windows 11 with Intel 12th Gen / Ryzen 4000 series or newer recommended
- macOS: 13 (Ventura) or later — required by ScreenCaptureKit for capture
- Linux:
xdg-desktop-portaland PipeWire for native capture and system audio; recording still works without them through the browser-capture fallback, with fewer capabilities (see Platform differences) - RAM: 8 GB minimum, 16 GB recommended
Full table and notes on older integrated graphics: system requirements.
macOS
Download the .dmg installer directly from the Releases page and drag OpenScreen into your Applications folder. Builds from 1.9.0 onward are signed with a Developer ID certificate and notarized by Apple, so Gatekeeper does not block them and no terminal step is needed.
On first launch, open System Settings > Privacy & Security and grant the two permissions OpenScreen needs: Screen Recording and Accessibility. Recording cannot start until both are granted.
[!NOTE] macOS 15 and later re-ask for screen-recording permission periodically. That prompt comes from macOS itself and applies to every third-party screen recorder — it is not a sign that anything is wrong with your install or that an update broke something. Grant it again when asked.
[!NOTE] Upgrading from a version older than 1.9.0? Those builds were not signed with a Developer ID certificate, and macOS ties Screen Recording and Accessibility grants to an app's signature — so it cannot tell the new build is the same app, and the permissions you granted the old one do not carry over. If the new version won't record even after you grant them, remove OpenScreen's existing entries under System Settings > Privacy & Security (both Screen Recording and Accessibility), then launch it again and grant them when prompted.
[!NOTE] OpenScreen quits as soon as you pick what to record, or when the countdown starts? It is most likely a utility that quits apps once their last window closes, such as the Quit on close option of Vorssaint. It does not count OpenScreen's recording bar, which floats above other windows, so it quits OpenScreen whenever the bar hides or a source window closes. Add OpenScreen to that utility's exceptions, or turn the option off. The FAQ shows how to check which app asked OpenScreen to quit.
Windows
Recommended — Microsoft Store
Get OpenScreen from the Microsoft Store, or from a terminal:
winget install --source msstore OpenScreen
Microsoft signs the Store package during certification, so it installs with no security warning and updates itself.
Alternative — standalone installer
Download the .exe from the Releases page. Installers are provided for both x64 (Openscreen.Setup.<version>-x64.exe) and ARM64 (Openscreen.Setup.<version>-arm64.exe) — on an ARM64 device the x64 build runs under emulation and records poorly, so take the ARM64 one. Use this if you can't reach the Store — Windows LTSC, a locked-down work machine, an offline install, or if you want a specific older version.
[!NOTE] The
.exeis not code-signed, so Windows SmartScreen shows "Windows protected your PC" and reports an unknown publisher. Choose More info → Run anyway to continue.This is not a sign that something is wrong with the download: an unsigned installer earns SmartScreen's trust per file, so a brand-new build always starts out untrusted no matter how many people installed the previous one. Verifying the signature isn't an option here — there is nothing to verify. If you want the checked path, use the Store build above. If you use the
.exe, download it only from the Releases page linked here.
[!NOTE] Recording bar not clickable in OpenScreen 2.0.0 on Windows 10? Run
setx OPENSCREEN_DISABLE_CONTENT_PROTECTION 1, quit OpenScreen from its tray icon, then start it again. The bar can then appear in your recordings. The FAQ explains how to undo it once the fix ships.
Linux
Four packages are published to the Releases page for each version. Pick the one that matches your distro:
Debian / Ubuntu / Pop!_OS (.deb)
sudo apt install ./Openscreen-Linux-*.deb
Fedora / RHEL / CentOS (.rpm)
sudo dnf install ./Openscreen-Linux-*.rpm
Arch / Manjaro (.pacman)
sudo pacman -U Openscreen-Linux-*.pacman
Any distro (.AppImage)
chmod +x Openscreen-Linux-*.AppImage
./Openscreen-Linux-*.AppImage
NixOS / Nix (flake)
Try without installing:
nix run github:getopenscreen/openscreen
Install into your user profile:
nix profile install github:getopenscreen/openscreen
For a NixOS system config (flake):
{
inputs.openscreen.url = "github:getopenscreen/openscreen";
outputs = { nixpkgs, openscreen, ... }: {
nixosConfigurations.<host> = nixpkgs.lib.nixosSystem {
modules = [
openscreen.nixosModules.default
{ programs.openscreen.enable = true; }
];
};
};
}
For Home Manager, use openscreen.homeManagerModules.default with the same programs.openscreen.enable = true;.
You may need to grant screen recording permissions depending on your desktop environment.
Sandbox error: If the AppImage fails to launch with a "sandbox" error, run it with --no-sandbox:
./Openscreen-Linux-*.AppImage --no-sandbox
Platform differences
Everything in the editor and export is the same on macOS, Windows, and Linux: zooms, backgrounds, motion blur, crop/trim/speed, blur regions, annotations, auto-captions, AI editing, projects, export, and all languages. All three now record through a native capture pipeline; the remaining differences are narrower than they used to be:
- Native recording: macOS (ScreenCaptureKit), Windows (Windows Graphics Capture), and Linux (PipeWire via the ScreenCast portal) all record through a native pipeline for higher quality and clean window-level capture. On Linux the browser pipeline stays as an automatic fallback if the helper isn't available.
- Custom cursors: on macOS and Windows the real cursor is captured with shape, type, and clicks. Linux captures position and cursor shape through the portal, so the editable cursor overlay works there too. Click effects work on Linux as well, but not through the portal — Wayland exposes no portal for mouse buttons, so the capture helper reads the left button from evdev, which needs read access to your mouse: a udev rule for pointer devices (recommended) or the
inputgroup, set up as Mouse clicks on Wayland shows. Without that, recording is unaffected and every cursor sample is simply a move. - Webcam: every platform saves the webcam as a separate file next to the screen recording. Windows captures it natively in the recording helper; macOS and Linux record it in the app. It works as a picture-in-picture overlay on all three.
- System audio support varies by OS:
- macOS: works on every supported version. On macOS 14.2+ you'll be prompted to grant audio capture permission.
- Windows: works out of the box.
- Linux: needs PipeWire (default on Ubuntu 22.04+, Fedora 34+). Older PulseAudio-only setups may not capture system audio (mic should still work).
Official links
This repository is the community-maintained continuation of OpenScreen.
Official / trusted links:
- Original archived repository: https://github.com/siddharthvaddem/openscreen
- Community continuation: https://github.com/getopenscreen/openscreen
- Official website: https://getopenscreen.com
For safety, download OpenScreen only from the official GitHub Releases linked from this repository. Third-party websites using the OpenScreen name are not affiliated with this continuation unless explicitly listed here.
Community
OpenScreen is community-driven. If you need help, want to report a bug, or just want to chat with other users and contributors:
- 💬 Discord — Join the OpenScreen Discord for real-time help, showcase, and discussion
- 🐞 GitHub Issues — bug reports and feature requests
- 🗺️ Roadmap — see what we're building next
- ❤️ Support the project — GitHub Sponsors or Ko-fi
License
This project is licensed under the MIT License. By using this software, you agree that the authors are not liable for any issues, damages, or claims arising from its use.