Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,19 +74,20 @@ Install the OpenScreen demo skill with `npx skills add getopenscreen/openscreen
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, it is these two commands, with the executable of your system:
By hand, it is these two commands, where `<executable>` is the app's executable
on your system ([where to find it](https://getopenscreen.com/docs/cli/#running-the-cli)):

```bash
claude mcp add openscreen -- "/Applications/Openscreen.app/Contents/MacOS/Openscreen" mcp
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. The executable on Windows
and Linux, and the other clients, are in [AI editing](https://getopenscreen.com/docs/ai-editing/#letting-an-agent-make-the-whole-video).
post for X, which it publishes only once you say yes. Codex and the other clients
are in [AI editing](https://getopenscreen.com/docs/ai-editing/#letting-an-agent-make-the-whole-video).

## Installation

Expand Down
2 changes: 1 addition & 1 deletion skills/openscreen-demo/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ You need the tools `startRecording`, `stopRecording`, `exportVideo` and `getFram

| OS | Executable |
|---|---|
| Windows | `%LOCALAPPDATA%\Programs\Openscreen\Openscreen.exe`, or `C:\Program Files\Openscreen\Openscreen.exe` |
| Windows | `%LOCALAPPDATA%\Programs\Openscreen\Openscreen.exe`, or `C:\Program Files\Openscreen\Openscreen.exe`. The Microsoft Store version is `openscreen` on the PATH from the release after 2.1.0 (`where openscreen`). An older Store version has no fixed path to register: if it is the only one installed, offer the installer below |
| macOS | `/Applications/Openscreen.app/Contents/MacOS/Openscreen` |
| Linux | `openscreen` on the PATH, or the AppImage |

Expand Down
10 changes: 5 additions & 5 deletions website/docs/ai-editing.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ keywords:

# AI editing

OpenScreen ships an optional agent that edits your project from a chat panel. It is **off until you connect a provider yourself**, and nothing is sent to any model before that. Once connected, the agent talks only to that provider, and so does [caption translation](./captions.md#translation). The app's other network use (the Whisper model download, annotation fonts, update checks) is listed in the [introduction](./intro.md).
OpenScreen ships an optional agent that edits your project from a chat panel. It is **off until you connect a provider yourself**, and nothing is sent to any model before that. Once connected, the agent talks only to that provider, and so does [caption translation](./captions.md#translation). The app's other network use (the transcription model downloads, update checks) is listed in the [FAQ](./faq.md#does-openscreen-work-offline).

:::tip
None of this is required. Recording, editing, transcription, captions, and export all work with no account and no provider, whether or not you ever open the chat panel. Of those, only transcription needs a download, once: the [Whisper model](./captions.md#transcribing), on your first run.
None of this is required. Recording, editing, transcription, captions, and export all work with no account and no provider, whether or not you ever open the chat panel. Of those, only transcription needs a download, once: its [models](./captions.md#transcribing), on your first run.
:::

## Connecting a provider
Expand Down Expand Up @@ -89,11 +89,11 @@ Install the OpenScreen demo skill with `npx skills add getopenscreen/openscreen
The skill installs OpenScreen if it is missing, once you agree, and adds its MCP server. It then asks you to open a new session and say *continue the OpenScreen demo*: an agent only gets new tools in a new session. To set it up by hand instead:

```bash
claude mcp add openscreen -- "/Applications/Openscreen.app/Contents/MacOS/Openscreen" mcp
codex mcp add openscreen -- "/Applications/Openscreen.app/Contents/MacOS/Openscreen" mcp
claude mcp add openscreen -- "<executable>" mcp
codex mcp add openscreen -- "<executable>" mcp
```

The executable on each system is listed in [Running the CLI](./cli.md#running-the-cli).
`<executable>` is the app's executable, listed for each system in [Running the CLI](./cli.md#running-the-cli). Other clients, Cursor for one, take a stdio server with the executable as `command` and `["mcp"]` as `args`.

- **No port, no token, no setting.** The agent starts the process itself, with your rights, as it would run `openscreen record`. So it can record your screen and edit without the **MCP edits** switch.
- **Each take becomes a new project** in your project list, zoomed on its clicks as a recording made in the app is: clicks close in time and on screen share one zoom, and the first seconds and the end stay on the whole screen. Every edit the agent makes is saved to the project's file. Its undo is the checkpoint the agent takes, which lasts until the agent's session ends. Only the 20 most recent checkpoints are kept, so an older one can be gone sooner.
Expand Down
2 changes: 1 addition & 1 deletion website/docs/captions.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ In the **Transcript** facet of the inspector, click **Captions**:
| **Show captions** | Master on/off for both preview and export. |
| **Language** | *Original (transcript)*, or any translation layer you've generated. |
| **Text** | Font, size, bold, text color. |
| **Background** | On/off, color, and opacity for the plate behind the text. |
| **Background** | **None**, **Dark**, or **Light** plate behind the text, and its opacity. |
| **Position** | **Bottom** or **Top**, with the distance from that edge (0–50% of the frame); **Left**, **Center**, or **Right**, with the distance from that side (0–25%, none for Center). |
| **Line length** | Min and max words per line (1–12). Lines are packed inside that range. |

Expand Down
5 changes: 3 additions & 2 deletions website/docs/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,9 @@ The CLI and the `.openscreen` project format can still change in breaking ways b
|---|---|
| macOS | `/Applications/Openscreen.app/Contents/MacOS/Openscreen` |
| Windows installer | `Openscreen.exe` in the folder chosen during setup: `%LOCALAPPDATA%\Programs\Openscreen\` for an install for the current user, `C:\Program Files\Openscreen\` for all users |
| Microsoft Store | None fixed: its folder changes with every Store update, so a script or an agent has nothing stable to point at. Use the Windows installer for the CLI |
| Linux `.deb`, `.rpm`, `.pacman` | `openscreen` |
| Linux AppImage | `./Openscreen-Linux-1.11.0.AppImage` |
| Linux AppImage | `./Openscreen-Linux-<version>.AppImage` |
| Nix | `openscreen` |

The examples on this page write `openscreen`. On macOS and Windows, use the full path or an alias:
Expand All @@ -41,7 +42,7 @@ The examples on this page write `openscreen`. On macOS and Windows, use the full
```

- `openscreen help`, `--help` or `-h` prints the usage.
- Chromium switches placed before the subcommand are skipped. If Chromium's sandbox cannot start on the host, run `./Openscreen-Linux-1.11.0.AppImage --no-sandbox export demo.openscreen`.
- Chromium switches placed before the subcommand are skipped. If Chromium's sandbox cannot start on the host, run `./Openscreen-Linux-<version>.AppImage --no-sandbox export demo.openscreen`.
- CLI runs do not take the app's single-instance lock, so they work while the desktop app is open.
- From a source checkout, build the app and its native helpers as [Build and packaging](https://github.com/getopenscreen/openscreen/blob/main/technical-documentation/engineering/build-and-packaging.md) describes, then run `npm run cli -- <command> [options]`.

Expand Down
10 changes: 5 additions & 5 deletions website/docs/editing-timeline.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ A floating icon rail sits over the preview. Five facets:
| **Composition** | A background section (image, solid color, or gradient behind your recording; upload your own image or pick from presets), with an **Animation** row (None, Drift, Aurora, Waves) that moves gradients and images alike, and a background blur from 0 to 100%. Then the frame: shadow (None, Light, Medium, Strong), padding, corner roundness, and motion blur. Its **Format** row sets the output shape for preview and export: **Auto** (the default for new projects), which wraps the frame around your recording and camera layout with an even padding border, your clips' own shapes under **Original**, plus 16:9, 9:16, 1:1, 4:3, 4:5, 16:10, and 10:16. |
| **Camera layout** | Webcam composite: picture-in-picture, vertical stack, dual frame, or no webcam. Mirror and "shrink on zoom." For picture-in-picture: camera shape (square, or original: the camera's own proportions, so a portrait camera stays portrait), roundness (fully round, a square camera is a circle), size, and position: one of eight spots along the edge, always the same distance from it. Drag the webcam on the canvas and it snaps to the nearest one. |
| **Audio** | The output level, applied the same way in the preview and the export. |
| **Cursor** | Only meaningful for recordings made in the editable cursor mode, on Windows, macOS, or Linux. Show/hide and auto-hide, the cursor style with its **3D cursor** switch, the cursor types (each type the video shows, drawn as recorded or as the arrow), sliders for size (up to four times the default), smoothing, and motion blur, click bounce (None, Light, Strong), and **Click impact**, which pushes the screen back on each click under every camera. |
| **Cursor** | Only meaningful for recordings made in the editable cursor mode, on Windows, macOS, or Linux. Show/hide and auto-hide, the cursor style with its **3D cursor** switch, the cursor types (each type the video shows, drawn as recorded or as the arrow), sliders for size (up to eight times the system cursor), smoothing, and motion blur, click bounce (None, Light, Strong), and **Click impact**, which pushes the screen back on each click under every camera. |
| **Transcript** | The aggregated transcript across every clip, editable — see [Transcript editing](./captions.md#transcript-editing). Its **Captions** button turns captions on, styles them, and translates them — see [Captions & transcript](./captions.md#captions). |

The **pencil** button on the same rail opens the **Edit clip** modal for the selected clip: a draggable crop rectangle with numeric X/Y/W/H inputs and aspect-ratio presets, plus the clip's in/out points. Crop is per clip, not per project.
Expand All @@ -54,21 +54,21 @@ Selecting a region on the timeline (a zoom, trim, annotation, speed, or Full Cam

Drag a region's edges to resize, or drag the block to move it. Regions snap to the playhead, other region edges, and the timeline's start/end. `Ctrl/Cmd + C` / `Ctrl/Cmd + V` copies a selected region's attributes onto another region of the same kind.

`Shift` + scroll pans the timeline; `Ctrl`/`Cmd` + scroll zooms in and out. Both are shown as hints beside the play controls.
`Shift` + scroll pans the timeline; `Ctrl` + scroll zooms in and out. Both are shown as hints beside the play controls.

### Zoom regions

Click a zoom block to open its inspector:
- Six depth presets — 1.25× / 1.5× / 1.8× / 2.2× / 3.5× / 5×.
- **Zoom level** — four presets (1.5× / 1.8× / 2.2× / 3.5×) and a field for any level from 1× to 5×.
- **3D camera** — Off, Screen turned left, Screen turned right, or 3D Orbit (a camera that moves with the zoom and follows its focus mode).
- **Focus mode** — Manual (drag the focus marker in the preview) or Auto (follows the recorded cursor). Locked to Auto when the toolbar's Auto-focus toggle is on.
- **Focus position** — numeric X/Y percentage in manual mode.
- **Reset focus point** — in manual mode, puts the focus back in the center.

Zoom regions placed by **Auto-enhance → Automatic zooms** open the same inspector. How that pass works, and how it compares with other recorders' automatic zooms, is on [Auto zoom](/features/auto-zoom/).

### Trim regions

A trimmed span is cut from playback and export. The inspector is a single **Delete** action — press `Del` or use the inspector button. The same cuts can be made from the text instead, in the [transcript](./captions.md#transcript-editing).
A trimmed span is cut from playback and export. The inspector shows how much source it hides and a single **Bring this part back** action, which deletes the trim — or press `Del`. The same cuts can be made from the text instead, in the [transcript](./captions.md#transcript-editing).

### Speed regions

Expand Down
27 changes: 9 additions & 18 deletions website/docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,10 @@ OpenScreen is a free, MIT-licensed screen recorder and video editor for Windows,

**Recording, transcription and rendering run on your machine.** OpenScreen has no upload feature, so your recordings stay on your disk. The app still makes a few network connections, so "fully offline" would be wrong:

- **Google Fonts, at every launch.** The app loads the fonts for its text annotations from Google's servers, fonts.googleapis.com included.
- **huggingface.co, once.** The first transcription downloads the Whisper model, about 264 MB, and checks it against a SHA-256 hash. After that, transcription needs no connection.
- **huggingface.co, once.** The first transcription downloads the Whisper model, about 264 MB, and a voice-detection model under 1 MB, each checked against a SHA-256 hash. After that, transcription needs no connection.
- **github.com, once per language.** On a machine with a GPU, the first English or French transcription also downloads the model that re-times each word: about 110 MB for English, 350 MB for French.
- **github.com and api.github.com.** Builds that update themselves check for a new release every 24 hours, and when you ask. By default they only tell you one is available.
- **fonts.googleapis.com, only for a font added in 1.x.** A custom annotation font added in an earlier version is still fetched at launch, though 2.x no longer draws it.
- **PostHog, once a day.** An anonymous count of active installs, sent to PostHog's EU servers. It holds the app version, the operating system, the processor architecture, how the app was installed, and whether it is the first count of the week and of the month. That is all: no installation identifier (each count gets a new random ID), no IP address kept, nothing about your recordings. Untick **Send Anonymous Usage Count** in the tray menu to turn it off, or set `DO_NOT_TRACK=1`.
- **Your AI provider, only if you connect one.** Chat editing sends your messages and the project data it reads, such as the timeline and transcript. Caption translation sends the caption text. Both stay off until you connect a provider. See [AI editing](./ai-editing.md).

Expand All @@ -61,17 +62,18 @@ OpenScreen is a free, MIT-licensed screen recorder and video editor for Windows,
| System | Minimum | Packages |
|---|---|---|
| macOS | 13 Ventura | `.dmg` for Apple Silicon and for Intel |
| Windows | 10 version 1903, x64 | Microsoft Store, `.exe` installer |
| Windows | 10 version 1903, x64 or ARM64 | Microsoft Store (x64), `.exe` installer (x64 and ARM64) |
| Linux | x64, PipeWire and xdg-desktop-portal | AppImage, `.deb`, `.rpm`, `.pacman`, Nix flake |

- On Windows, native capture needs build 19041 (Windows 10 version 2004). Older builds fall back to browser capture.
- Plan for 8 GB of RAM, 16 GB recommended.

## Is there an ARM64 build for Windows or Linux?

**No packaged one.** Windows and Linux releases are x64 only.
**On Windows, yes. On Linux, through Nix only.**

- On ARM64 Linux, the Nix flake builds OpenScreen from source for `aarch64-linux`.
- Windows on ARM gets its own `.exe` installer on the [Releases](https://github.com/getopenscreen/openscreen/releases) page. The Microsoft Store package is x64 only.
- Linux packages are x64 only. On ARM64 Linux, the Nix flake builds OpenScreen from source for `aarch64-linux`.
- Apple Silicon Macs get a native `.dmg`.

## Can I install OpenScreen with winget, Homebrew or Flathub?
Expand Down Expand Up @@ -128,20 +130,9 @@ OpenScreen closes as it does with ⌘Q: no error message and no crash report.

## Why can't I click the recording bar on Windows 10?

**In OpenScreen 2.0.0 on Windows 10, the protection that keeps the recording bar out of your videos can also block its clicks.** The bar, the HUD, shows on screen but ignores every click. The tray icon's right-click menu still works. A fix is tracked in [issue #1105](https://github.com/getopenscreen/openscreen/issues/1105). Until it ships, turn the protection off. This works for the Microsoft Store build and the `.exe` installer:
**Update to OpenScreen 2.1.0: it fixes this.** In 2.0.0, on Windows 10 and on Windows 11 before version 22H2, the protection that keeps the recording bar out of your videos also blocked its clicks ([issue #1105](https://github.com/getopenscreen/openscreen/issues/1105)). Since 2.1.0, OpenScreen leaves that protection off on those versions, so the bar takes clicks. It can then appear in your recordings.

1. Run this in Command Prompt or PowerShell:

```powershell
setx OPENSCREEN_DISABLE_CONTENT_PROTECTION 1
```

2. Quit OpenScreen: right-click its tray icon, then **Quit**.
3. Start OpenScreen again as usual.

With the protection off, the recording bar can appear in your recordings.

Once an update fixes the problem, remove the variable, then sign out of Windows and back in:
If you set `OPENSCREEN_DISABLE_CONTENT_PROTECTION` to work around the problem in 2.0.0, remove it, then sign out of Windows and back in:

```powershell
reg delete HKCU\Environment /v OPENSCREEN_DISABLE_CONTENT_PROTECTION /f
Expand Down
Loading
Loading