A modern, browser-based video frame extraction tool built with Svelte 5 and Shadcn-Svelte. Extract frames from video files with precision, add watermarks, and download resultsโall without uploading files to any server.
# Clone the repository
git clone https://github.com/zxce3/svelte-frame-extractor.git
cd svelte-frame-extractor
# Install dependencies
bun install
# Start the development server
bun run dev
# Or with auto-open browser
bun run dev -- --open
The application will be available at http://localhost:5173
# Create production build
bun run build
# Preview production build
bun run preview
src/
โโโ lib/
โ โโโ components/
โ โ โโโ VideoUpload.svelte # Drag & drop video upload
โ โ โโโ VideoPreview.svelte # Video player with controls
โ โ โโโ ExtractionSettings.svelte # Frame extraction configuration
โ โ โโโ ExtractedFrames.svelte # Frame gallery with selection
โ โ โโโ VideoProcessor.svelte # Core frame extraction logic
โ โ โโโ ui/ # Shadcn-Svelte UI components
โ โ โโโ page/ # Page-specific components
โ โโโ utils.ts # Utility functions
โโโ routes/
โ โโโ +layout.svelte # App layout
โ โโโ +page.svelte # Main application page
โโโ app.css # Global styles and animations
The application is built with a modular component architecture:
The project uses standard SvelteKit configuration files:
svelte.config.js
- Svelte configurationvite.config.ts
- Vite build configuration tailwind.config.js
- TailwindCSS configurationtsconfig.json
- TypeScript configurationgit checkout -b feature/amazing-feature
)git commit -m 'Add amazing feature'
)git push origin feature/amazing-feature
)This project is licensed under the MIT License - see the LICENSE file for details.
Made with โค๏ธ using Svelte 5 and modern web technologies.