GitHunt
PU

puppe1990/video-converter

Professional video converter web application built with Next.js, React, and modern web technologies. Convert videos between multiple formats with high quality and intuitive interface.

VideoConvert Pro ๐ŸŽฌ

A modern, web-based video converter built with Next.js and FFmpeg that allows you to convert videos between multiple formats with professional quality settings.

Next.js
React
TypeScript
Tailwind CSS

โœจ Features

  • Multiple Format Support: Convert between MP4, AVI, MOV, WMV, WebM, MKV, FLV, and M4V
  • Quality Control: Choose from High, Medium, or Low quality settings
  • Drag & Drop Interface: Intuitive file upload with visual feedback
  • Real-time Progress: Monitor conversion progress with detailed status updates
  • Professional UI: Beautiful, responsive design built with Radix UI and Tailwind CSS
  • Client-side Processing: All conversions happen in your browser using WebAssembly
  • Batch Processing: Convert multiple files simultaneously
  • No Server Required: Complete client-side solution for privacy and speed

๐Ÿš€ Live Demo

Try VideoConvert Pro Online

๐Ÿ› ๏ธ Tech Stack

  • Frontend: Next.js 15, React 19, TypeScript
  • Styling: Tailwind CSS, Radix UI Components
  • Video Processing: FFmpeg WebAssembly (@ffmpeg/ffmpeg)
  • File Handling: React Dropzone, File API
  • State Management: React Hooks
  • Build Tool: Next.js with PostCSS and Autoprefixer

๐Ÿ“ฆ Installation

Prerequisites

  • Node.js 18+
  • npm or yarn

Setup

  1. Clone the repository

    git clone https://github.com/yourusername/video-converter.git
    cd video-converter
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Run the development server

    npm run dev
    # or
    yarn dev
  4. Open your browser
    Navigate to http://localhost:3000

๐ŸŽฏ Usage

Basic Video Conversion

  1. Upload Videos: Drag and drop video files or click to browse
  2. Configure Settings: Choose output format and quality level
  3. Start Conversion: Click "Start Conversion" to begin processing
  4. Download Results: Download your converted videos when ready

Supported Input Formats

  • MP4 (.mp4) - Most compatible format
  • AVI (.avi) - High quality, larger files
  • MOV (.mov) - Apple QuickTime format
  • WMV (.wmv) - Windows Media format
  • WebM (.webm) - Web optimized format
  • MKV (.mkv) - Open source container
  • FLV (.flv) - Flash video format
  • M4V (.m4v) - iTunes compatible format

Quality Settings

  • High Quality: Best quality, larger file size (CRF 18, slow preset)
  • Medium Quality: Balanced quality and size (CRF 23, medium preset)
  • Low Quality: Smaller file size, lower quality (CRF 28, fast preset)

๐Ÿ”ง Development

Project Structure

video-converter/
โ”œโ”€โ”€ app/                    # Next.js app directory
โ”‚   โ”œโ”€โ”€ globals.css        # Global styles
โ”‚   โ”œโ”€โ”€ layout.tsx         # Root layout component
โ”‚   โ””โ”€โ”€ page.tsx           # Main video converter page
โ”œโ”€โ”€ components/             # Reusable UI components
โ”‚   โ”œโ”€โ”€ ui/                # Radix UI components
โ”‚   โ””โ”€โ”€ theme-provider.tsx # Theme context provider
โ”œโ”€โ”€ lib/                   # Utility libraries
โ”‚   โ”œโ”€โ”€ utils.ts           # Helper functions
โ”‚   โ””โ”€โ”€ video-converter.ts # FFmpeg video conversion logic
โ”œโ”€โ”€ public/                # Static assets
โ”œโ”€โ”€ styles/                # Additional styles
โ””โ”€โ”€ package.json           # Dependencies and scripts

Available Scripts

npm run dev      # Start development server
npm run build    # Build for production
npm run start    # Start production server
npm run lint     # Run ESLint

Key Components

  • VideoConverter: Main page component with drag & drop interface
  • VideoConverter Class: FFmpeg wrapper for video processing
  • UI Components: Reusable Radix UI components with Tailwind styling

๐ŸŒŸ Features in Detail

Advanced Conversion Engine

The application uses FFmpeg WebAssembly for professional-grade video conversion:

  • Codec Support: H.264, VP9, AAC, MP3, Opus
  • Optimization: Preset-based encoding for quality/speed balance
  • Format Detection: Automatic input format recognition
  • Error Handling: Graceful fallback with mock conversion for demo

Responsive Design

  • Mobile First: Optimized for all device sizes
  • Dark/Light Theme: Automatic theme detection and switching
  • Accessibility: ARIA labels and keyboard navigation support
  • Performance: Optimized rendering with React best practices

๐Ÿš€ Deployment

  1. Connect Repository: Link your GitHub repository to Vercel
  2. Auto-deploy: Every push to main branch triggers deployment
  3. Environment Variables: Configure any necessary environment variables
  4. Custom Domain: Add your custom domain if desired

Other Platforms

The application can be deployed to any platform that supports Next.js:

  • Netlify: Use next build && next export
  • AWS Amplify: Direct GitHub integration
  • Docker: Build and deploy as container

๐Ÿค Contributing

We welcome contributions! Please see our contributing guidelines:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices
  • Use conventional commit messages
  • Ensure all tests pass
  • Update documentation as needed

๐Ÿ“„ License

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

๐Ÿ™ Acknowledgments

  • FFmpeg: For the powerful video processing capabilities
  • Next.js Team: For the amazing React framework
  • Radix UI: For accessible component primitives
  • Tailwind CSS: For the utility-first CSS framework

๐Ÿ“ž Support

๐Ÿ”ฎ Roadmap

  • Audio Extraction: Convert videos to audio formats
  • Video Editing: Basic trimming and cropping
  • Batch Presets: Save and reuse conversion settings
  • Cloud Storage: Direct upload to cloud services
  • API Integration: RESTful API for programmatic access
  • Mobile App: React Native companion app

Made with โค๏ธ by [Your Name]

Transform your videos with professional quality and ease.

puppe1990/video-converter | GitHunt