getting started
screenpipe offers multiple installation methods depending on user needs and technical proficiency. whether you are a developer looking to use the cli or a user who wants a more plug-and-play desktop app, screenpipe provides flexible options to get started quickly.
for non technical users or those who want to get started quickly, we recommend getting the desktop app here (opens in a new tab).
quickly start the CLI on MacOS with:
brew tap mediar-ai/screenpipe https://github.com/mediar-ai/screenpipe.git
brew install screenpipe
screenpipe
then
open screenpipe-server/examples/timeline_ui/index.html # or open manually in your browser
this will open a rewind.ai alike timeline powered by a single html file :) that you can tweak around!
1. installation options
cli installation
- for technical users: screenpipe can be installed and used via the command-line interface (cli).
- instructions:
- clone the repository.
- install dependencies (ensure rust, cargo, and any other required tools are installed).
- build the project and run the cli.
desktop app
- paid desktop app: offers priority support, 1-year updates, and exclusive features. users can download and install the desktop app directly from the official site.
- free desktop app: open-source and available to build yourself. installation requires building from the source code or sending a pr to the repository. both options provide a fully functional desktop application with all key features.
manual build
for users preferring full control or customization, building the app manually from the repository is an option. this method requires rust and other necessary dependencies. follow the provided build guide to compile the app.
macos installation
option 1: build from source (for advanced users)
-
start by installing rust and all necessary dependencies:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh brew install pkg-config ffmpeg jq cmake wget
-
install bun cli (required for building):
curl -fsSL https://bun.sh/install | bash
-
clone the screenpipe repository:
git clone https://github.com/mediar-ai/screenpipe cd screenpipe
-
build the project with:
cargo build --release --features metal
-
finally, run screenpipe:
./target/release/screenpipe
add this to your vscode settings in the root of the project .vscode/settings.json
:
{
"rust-analyzer.cargo.features": [
"metal",
"pipes"
],
"rust-analyzer.server.extraEnv": {
"DYLD_LIBRARY_PATH": "${workspaceFolder}/screenpipe-vision/lib:${env:DYLD_LIBRARY_PATH}",
"SCREENPIPE_APP_DEV": "true"
},
"rust-analyzer.cargo.extraEnv": {
"DYLD_LIBRARY_PATH": "${workspaceFolder}/screenpipe-vision/lib:${env:DYLD_LIBRARY_PATH}",
"SCREENPIPE_APP_DEV": "true"
},
"terminal.integrated.env.osx": {
"DYLD_LIBRARY_PATH": "${workspaceFolder}/screenpipe-vision/lib:${env:DYLD_LIBRARY_PATH}",
"SCREENPIPE_APP_DEV": "true"
}
}
cd screenpipe-app-tauri
bun install
bun scripts/pre_build.js # <- this is important to copy the CLI into the app
bun tauri build
need help? open an issue on github. (opens in a new tab)
option 2: homebrew installation (installs only CLI)
-
to install screenpipe using homebrew, simply execute the following commands:
brew tap mediar-ai/screenpipe https://github.com/mediar-ai/screenpipe.git brew install screenpipe
-
once installed, run screenpipe with the following:
screenpipe
-
optional flags:
screenpipe -h
if you require additional configurations such as running in debug mode or switching to webrtc for audio processing, you can refer to the official screenpipe cli documentation (opens in a new tab).
windows installation (experimental)
steps to install on windows
This is experimental support for Windows build. This assumes you already have the CUDA Toolkit installed and the CUDA_PATH set to my CUDA v12.6 folder. Replace
V:\projects
andV:\packages
with your own folders.
If this does not work for you, please open an issue (opens in a new tab) or get the pre-built desktop app (opens in a new tab)
Install 7zip: https://www.7-zip.org/download.html (opens in a new tab)
choco install pkgconfiglite bun
winget install -e --id GnuWin32.UnZip
winget install -e --id Rustlang.Rustup
cd V:\projects
git clone https://github.com/mediar-ai/screenpipe
cd V:\packages
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.bat -disableMetrics
./vcpkg.exe integrate install --disable-metrics
./vcpkg.exe install ffmpeg
SET PKG_CONFIG_PATH=V:\packages\vcpkg\packages\ffmpeg_x64-windows\lib\pkgconfig
SET VCPKG_ROOT=V:\packages\vcpkg
SET LIBCLANG_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\Llvm\x64\bin
cd V:\projects\screenpipe
rustup default stable
cargo build --release --features cuda
cd screenpipe-app-tauri
bun install
bun scripts\pre_build.js # (you might wget not retriving error, if so use '-O' flag) <- this is important to copy the CLI into the app
bun tauri build
linux installation
option 1: build from source
-
install dependencies with the following commands:
sudo apt-get install -y ffmpeg tesseract-ocr cmake libavformat-dev libavfilter-dev libavdevice-dev libtesseract-dev libxdo-dev curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
install bun cli (required for building):
curl -fsSL https://bun.sh/install | bash
-
clone the repository and build the application:
git clone https://github.com/mediar-ai/screenpipe cd screenpipe cargo build --release
-
to run the application, use:
./target/release/screenpipe
-
to build the desktop app:
cd screenpipe-app-tauri
bun install
bun scripts/pre_build.js # <- this is important to copy the CLI into the app
bun tauri build
option 2: install CLI via nix
screenpipe can be easily installed on nix-based systems. follow the instructions below:
-
run in a nix shell:
nix-shell -p screen-pipe
-
or add it to your system packages:
environment.systemPackages = with pkgs; [ screen-pipe ];
after editing the configuration, rebuild your system using:
sudo nixos-rebuild switch
troubleshooting
- facing any key signing issues? you need to sign the build for the updater then (opens in a new tab)
important note for developers
if you encounter key-related errors when building from source, especially for the desktop app, you may need to sign your updates. this is particularly important for our production builds and ensuring secure update processes.
for detailed instructions on signing updates, please refer to the tauri updater documentation (opens in a new tab).
you can probably remove the updater config in your fork if you don't need it.
other options
- check this docker setup (opens in a new tab)
- use
export CARGO_PROFILE_RELEASE_LTO=true
export CARGO_PROFILE_RELEASE_OPT_LEVEL=z
export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1
to build a faster and smaller release but takes longer to build
for businesses
you can use screenpipe in your business either by:
- running the CLI on your customer's computer
- running the app on your customer's computer
- embedding the library or CLI in your own software
- running the CLI in the cloud and forward the video/audio through SSH