even-sim-recorder
v0.2.3
Published
GUI recorder for the Even Hub simulator glasses display.
Maintainers
Readme
Even Simulator Recorder
Standalone GUI recorder for taking videos from the Even Hub simulator.
It records the glasses display to WebM, can optionally export MP4, and supports transparent WebM output. It can also record a synchronized WebUI companion video from a browser-selected window or tab.
Install
Recommended, run without installing:
npx even-sim-recorder@latestOr install a permanent even-sim-recorder command:
npm install -g even-sim-recorder@latest
even-sim-recorderOn macOS or Linux, if global install fails with EACCES: permission denied under
/usr/local/lib/node_modules, use npx even-sim-recorder@latest instead, or move
npm's global install directory into your home folder:
mkdir -p ~/.npm-global
npm config set prefix ~/.npm-global
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
npm install -g even-sim-recorder@latestModern macOS uses ~/.zshrc by default. If your shell is bash, use ~/.bashrc
or ~/.bash_profile instead.
If no app URL has been saved yet, the panel opens and asks for it. You can still pass the URL up front:
npx even-sim-recorder@latest --url http://localhost:5173Requirements
- Node.js 22 or newer.
- macOS, Linux, or Windows.
- The package installs
@evenrealities/evenhub-simulatorlocally. - The package depends on
ffmpeg-staticand falls back to systemffmpegwhen available.
License note
The recorder code is MIT-licensed, but the default install includes ffmpeg-static,
which is GPL-3.0-or-later licensed. If that matters for your distribution, install a
system ffmpeg and review whether this package fits your license requirements before
publishing or redistributing a bundle.
Run
npx even-sim-recorder@latest --url http://localhost:5173Useful CLI options:
even-sim-recorder --url http://localhost:5173 --output-dir ~/Desktop/recordings
even-sim-recorder --no-open
even-sim-recorder --port 4181 --automation-port 9899Features
- GUI-only workflow for manual simulator takes.
- Starts the locally installed Even Hub simulator or attaches to one already running.
- Records the glasses surface as
.webm. - Optional
.mp4companion export. - Optional transparent WebM export.
- Color pickers for the preview background and flattened export background.
- Optional synchronized WebUI companion recording via browser display capture.
- Playback page with shared timelines and side-by-side glasses/WebUI preview when both files exist.
- Recording browser with filtering, sorting, metadata, reveal, rename, and delete actions.
- Copy latest recording paths or per-recording path bundles from the panel.
- Non-destructive trim tool for creating clipped copies of selected recordings.
- Built-in and saved session presets for common capture setups.
- Save progress indicator while videos are being encoded.
- Minute-level output filenames with automatic
-2,-3, etc. suffixes for same-minute takes. - Failed or interrupted encodes stay hidden as temporary files and are cleaned up.
- Works on macOS, Linux, and Windows.
Output
Default output goes to:
- macOS:
~/Movies/Even Simulator Recordings - Linux:
~/Videos/Even Simulator Recordings - Windows:
%USERPROFILE%\Videos\Even Simulator Recordings
Each recording writes one glasses .webm file. The GUI can also export an .mp4 companion. Transparent WebM output is supported; MP4 output is always flattened to the selected color.
Enable WebUI companion to record a WebUI window or browser tab at the same time
as the glasses surface. When recording starts, your browser asks which window or tab
to share; pick the simulator WebUI or another browser tab showing the WebUI. The file
is saved as NAME.webui.webm next to the glasses recording.
The recorder intentionally does not use the simulator's native webview screenshot
API for companion video recording. On Linux, repeated native webview screenshots can
corrupt the simulator WebUI renderer. Browser display capture avoids that simulator
path and works across macOS, Windows, and Linux with the browser's normal screen
capture permission prompt.
Beta limits
This is public 0.x beta tooling. It is intended for short manual simulator takes,
not unattended long-form screen recording.
- WebUI companion recording starts and stops with the glasses recording in normal use, but it is browser display capture, not frame-locked media sync.
- WebUI companion recording is limited by the browser you open the panel in. If your
default browser does not support display capture plus
MediaRecorder, open the panel URL manually in a modern browser that does. - Glasses recording writes PNG frames to the operating system temp directory before encoding. Long recordings need enough temp disk space.
- WebUI companion recording is buffered by the browser until Stop Recording, so very long takes can use substantial browser memory.
- If the simulator automation API stays unavailable or the simulator visual output freezes, restart the simulator and start a new take.
Options
--url <url> URL loaded in the simulator.
--output-dir <path> Directory for recordings.
--port <port> Recorder panel port. Default: 4180.
--automation-port <port> Simulator automation API port. Default: 9898.
--simulator-command <command> Custom simulator command.
--no-open Do not open the panel in the browser.
--version Print the version.
--help Print help.Workflow
- Start the CLI.
- Use the panel to start or attach to the Even simulator.
- Choose FPS, scale, export mode, optional MP4 export, or apply a preset.
- Start recording, drive the simulator manually, then stop recording.
- Preview, trim, rename, reveal, delete, or open recordings from the panel.
Troubleshooting
If the recorder says the port is already in use, start it on another port:
even-sim-recorder --port 4181By default the panel also falls forward to the next available browser-safe port and prints the URL it actually used.
If the panel is waiting for the simulator automation API, make sure the simulator is running and that no other simulator instance is already using the automation port.
On Linux the recorder does not force GDK_BACKEND=x11 by default. To force a GTK
backend for comparison:
EVEN_SIM_RECORDER_GDK_BACKEND=x11 even-sim-recorder
EVEN_SIM_RECORDER_GDK_BACKEND=wayland even-sim-recorderIf MP4 export fails, install ffmpeg with your system package manager and restart the
recorder.
