A desktop Electron + React app that scans a folder on your PC and shows your videos in a sleek, clean library UI with cards and a built-in player.
Features
- Choose any folder and auto-scan for videos (mp4, mkv, avi, mov, wmv, webm, flv, m4v, ts, mts, m2ts)
- Sleek dark UI with search, sort, and responsive grid
- Play videos inline with a modal player
- Reveal file in Explorer
- Optional: show duration and thumbnails using FFmpeg/FFprobe
Getting started
- Install Node.js LTS (https://nodejs.org/) if you don't have it.
- Install dependencies:
cd c:\Users\capta\Desktop\PLAYER
npm install- Run in dev (hot reload):
npm run dev- Build production:
npm run build
npm startNote: Packaging into an installer is currently not wired. If you need a distributable, we can add electron-builder later.
Notes
- To change theme colors, edit
tailwind.config.cjs.
If you want video thumbnails and durations, point the app to FFmpeg and FFprobe executables.
Option A — Install via winget (recommended)
# Run in a fresh PowerShell window; Admin may be required for install prompts
winget install --id Gyan.FFmpeg.Essentials -e --accept-source-agreements --accept-package-agreementsFind the executables after install:
where ffmpeg
where ffprobeOption B — Manual ZIP download
- Download a Windows build from https://ffmpeg.org/download.html (choose a trusted Windows build).
- Extract to a folder, e.g.
C:\ffmpeg\so you have:C:\ffmpeg\bin\ffmpeg.exeC:\ffmpeg\bin\ffprobe.exe
Point the app to these paths:
- Launch the app and click the “Settings” (gear) button.
- For FFmpeg path, click Browse and select
ffmpeg.exe. - For FFprobe path, click Browse and select
ffprobe.exe. - Save. The app will refresh thumbnails/durations for visible items.
Tip: If where ffmpeg prints a path, you can also just type ffmpeg.exe and ffprobe.exe in Settings (they’ll resolve via PATH).
Port 5173 is already in use when running dev
The dev script expects Vite on port 5173. If something else is using it, free the port:
netstat -ano | findstr :5173
# Note the last column (PID), then:
taskkill /PID <PID_FROM_ABOVE> /FThen rerun:
npm run devLocating FFmpeg executables
where ffmpeg
where ffprobeIf these return paths, copy them into the app’s Settings. If they return “INFO: Could not find files”, install FFmpeg using winget or the manual ZIP method above.