Skip to content

A modern and efficient video format converter built with Electron and FFmpeg.

License

Notifications You must be signed in to change notification settings

yeongpin/video-converter

Folders and files

NameName
Last commit message
Last commit date
Feb 14, 2025
Feb 14, 2025
Feb 14, 2025
Feb 14, 2025
Feb 14, 2025
Feb 14, 2025
Feb 14, 2025
Feb 14, 2025
Feb 14, 2025
Feb 14, 2025
Feb 14, 2025

Repository files navigation

➀ Video Converter

Video Converter Logo

Release License: CC BY-NC-ND 4.0 Stars

A modern and efficient video format converter built with Electron and FFmpeg.

Download β€’ Features

πŸ›  Tech Stack

Category Technologies
Framework Electron Node.js
Frontend HTML5 CSS3 JavaScript
Core FFmpeg
Development Electron Builder ESLint Prettier

✨ Features

Feature Description
πŸŽ₯ Multiple Formats Support for various input/output video formats including MP4, MKV, MOV, WebM etc.
πŸ”„ Lossless Mode Convert between formats without quality loss, perfect for high-quality content
⚑ Advanced Encoding Support for H.264 and H.265 (HEVC) with customizable settings
🎨 Modern Interface Clean, intuitive UI with dark/light theme support
πŸ–₯️ Resolution Control Multiple resolution options from 720p to 4K (3840x2160)
🌈 HDR Support Maintain or convert HDR content with metadata preservation
πŸ“Š Progress Tracking Real-time conversion progress with speed, ETA and file size info
πŸ’Ύ Output Control Customizable output location and filename format
βš™οΈ Quality Control Adjustable quality settings (CRF) for optimal size/quality balance
πŸš€ Speed Options Multiple encoding speed presets from "Very Fast" to "Very Slow"
πŸ”Š Audio Control Configurable audio bitrate and codec settings
πŸ“± Cross-Platform Works on Windows, macOS, and Linux

πŸ“ Format Support

Input Formats Description
MP4 MPEG-4 Part 14 (.mp4)
MKV Matroska Video (.mkv)
MOV QuickTime Movie (.mov)
WebM Web Media (.webm)
AVI Audio Video Interleave (.avi)
FLV Flash Video (.flv)
WMV Windows Media Video (.wmv)
M4V MPEG-4 Video (.m4v)
TS/MTS MPEG Transport Stream (.ts, .mts)
Output Formats Supported Codecs
MP4 H.264/AVC, H.265/HEVC
MKV H.264/AVC, H.265/HEVC
MOV H.264/AVC, H.265/HEVC
WebM VP8, VP9
AVI MPEG-4, H.264
FLV H.264
WMV WMV3
M4V H.264/AVC
TS H.264/AVC

πŸ› οΈ Development

Requirement Version
Node.js v14.0.0 or higher
npm/yarn Latest stable version
Git Latest stable version

πŸ› οΈ Environment Setup

Clone the repository
git clone https://github.com/yeongpin/video-converter.git
Navigate to the project directory
cd video-converter
Install dependencies
npm install
Start the development server
npm start

πŸ“¦ Build Commands

Build for your current platform
npm run build
Build for specific platforms
npm run build:win
npm run build:mac
npm run build:linux

πŸ“ Project Structure

video-converter/
β”œβ”€β”€ package.json
β”œβ”€β”€ README.md
β”œβ”€β”€ src/
β”‚ β”œβ”€β”€ main/        # Main process files
β”‚ β”‚ β”œβ”€β”€ main.js    # Main entry point
β”‚ β”‚ └── ffmpeg.js  # FFmpeg integration
β”‚ └── preload/     # Preload scripts
β”œβ”€β”€ public/        # Frontend files
β”‚ β”œβ”€β”€ css/         # Stylesheets
β”‚ β”œβ”€β”€ js/          # Frontend scripts
β”‚ └── assets/      # Images and icons
└── build/         # Build configuration

πŸ”§ Configuration

The application can be configured through the following files:

  • package.json - Project configuration and dependencies
  • build/electron-builder.yml - Build configuration
  • .env - Environment variables

🀝 Contributing

Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.

πŸ“„ License

This project is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License - see the LICENSE file for details.

πŸ™ Acknowledgments


Made with ❀️ by yeongpin