Skip to content

puppe1990/video-converter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

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

Vercel (Recommended)

  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.

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors