NamiStack is a desktop FFmpeg workbench for Windows. It gives you a visual way to open media files, choose actions like shrink, convert, or merge, and run FFmpeg without memorizing a wall of flags.
- Open one or many media files with a native file picker
- Inspect basic media metadata with
ffprobe - Shrink clips to a target size
- Convert clips to another format
- Merge multiple clips into one lossless output
- Toggle common FFmpeg flags with a searchable UI
- Preview the exact command before running it
- Watch progress and logs while jobs run
- Auto-detect FFmpeg/FFprobe from PATH or common Windows install locations
- Override FFmpeg paths manually in Settings if needed
Shrink a clip — pick a file, set a target size, preview the command, run it.
Advanced flags — toggle common FFmpeg options with a searchable UI.
- Electron
- React
- TypeScript
- Vite / electron-vite
- Tailwind CSS v4
- Windows 10 or newer
ffmpeg.exeandffprobe.exeavailable on PATH, or set manually inside the apppnpm
Install dependencies:
pnpm installRun the app in development:
pnpm devOr use the alias:
pnpm startBuild the app:
pnpm buildPackage Windows installers and portable builds:
pnpm dist:winBuild just the portable EXE:
pnpm dist:portableNamiStack tries to detect FFmpeg and FFprobe automatically. If that fails, open the Settings panel and point it at the right paths.
ffmpeg.exeffprobe.exe
It will remember those paths locally.
The name NamiStack comes from the Japanese word nami (波), meaning wave. It fits the media-processing theme without feeling overdesigned.
src/main- Electron main process and FFmpeg plumbingsrc/preload- secure bridge into the renderersrc/renderer- React UIsrc/shared- shared types and defaultsdocs- build notes, feature docs, and handoff materialassets/brand- logo and icon assets
Windows packaging is configured in package.json with:
- NSIS installer output
- portable build output
- custom app icon
Build artifacts are written to release/.
For the GitHub Actions release flow, see docs/RELEASE.md.
The core FFmpeg workflow is implemented and the app is ready for packaging and release.



