Thanks to visit codestin.com
Credit goes to github.com

Skip to content

🎬 A powerful, browser-based video converter built with SvelteKit and FFmpeg WebAssembly. Convert videos between multiple formats directly in your browser without uploading files to any server.

License

Notifications You must be signed in to change notification settings

sw3do/video-converter-site

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Video Converter Site

🎬 A powerful, browser-based video converter built with SvelteKit and FFmpeg WebAssembly. Convert videos between multiple formats directly in your browser without uploading files to any server.

✨ Features

  • Client-Side Processing: All video conversion happens in your browser using FFmpeg WebAssembly
  • Privacy First: No files are uploaded to servers - everything stays on your device
  • Multiple Formats: Support for MP4, AVI, MOV, MKV, FLV, WMV, and GIF
  • Real-time Progress: Live conversion progress tracking
  • Modern UI: Beautiful, responsive design with gradient backgrounds and animations
  • Quality Optimization: Optimized encoding settings for each format
  • Fast Performance: Efficient video processing with WebAssembly

πŸš€ Supported Formats

Format Extension Description
MP4 .mp4 Most compatible format with H.264 encoding
AVI .avi Classic format with MP3 audio
MOV .mov Apple QuickTime format
MKV .mkv Open-source Matroska container
FLV .flv Flash video format
WMV .wmv Windows Media Video
GIF .gif Animated GIF with optimized palette

πŸ› οΈ Tech Stack

  • Frontend: SvelteKit 2.x with TypeScript
  • Styling: TailwindCSS 4.x
  • Video Processing: FFmpeg WebAssembly (@ffmpeg/ffmpeg)
  • Build Tool: Vite
  • Package Manager: npm

πŸ“¦ Installation

  1. Clone the repository:
git clone https://github.com/sw3do/video-converter-site.git
cd video-converter-site
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev
  1. Open your browser and navigate to http://localhost:5173

πŸ”§ Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run preview - Preview production build
  • npm run check - Run TypeScript and Svelte checks
  • npm run check:watch - Run checks in watch mode

🎯 How to Use

  1. Load FFmpeg: Click the "Load FFmpeg" button to initialize the WebAssembly module
  2. Upload Video: Select a video file from your device
  3. Choose Format: Select your desired output format from the dropdown
  4. Convert: Click "Convert Video" to start the conversion process
  5. Download: Once complete, download your converted video

πŸ”’ Privacy & Security

  • No Server Upload: All video processing happens locally in your browser
  • No Data Collection: We don't collect, store, or transmit your videos
  • Offline Capable: Works without internet connection after initial load
  • Open Source: Full transparency with open source code

βš™οΈ Encoding Settings

MP4

  • Video: H.264 (libx264), CRF 20, High profile
  • Audio: AAC, 128k bitrate
  • Optimizations: Fast start for web playback

AVI

  • Video: H.264 (libx264), CRF 20
  • Audio: MP3 (libmp3lame), 128k bitrate

MOV

  • Video: H.264 (libx264), CRF 20, High profile
  • Audio: AAC, 128k bitrate
  • Optimizations: Fast start for web playback

MKV

  • Video: H.264 (libx264), CRF 20
  • Audio: AAC, 128k bitrate

FLV

  • Video: H.264 (libx264), CRF 22
  • Audio: AAC, 128k bitrate

WMV

  • Video: H.264 (libx264), CRF 22
  • Audio: AAC, 128k bitrate

GIF

  • Optimized palette generation
  • 10 FPS for smaller file size
  • 320px width (maintains aspect ratio)

🌐 Browser Compatibility

  • Chrome 57+
  • Firefox 52+
  • Safari 11+
  • Edge 16+

Note: Requires browsers with WebAssembly support

πŸ“± Responsive Design

The application is fully responsive and works on:

  • Desktop computers
  • Tablets
  • Mobile devices

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/new-feature
  3. Commit your changes: git commit -am 'Add new feature'
  4. Push to the branch: git push origin feature/new-feature
  5. Submit a pull request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“ž Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue if your problem isn't already reported
  3. Provide detailed information about your browser and the issue

Made with ❀️ by sw3do

Convert videos with confidence - your privacy is our priority!

About

🎬 A powerful, browser-based video converter built with SvelteKit and FFmpeg WebAssembly. Convert videos between multiple formats directly in your browser without uploading files to any server.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published