Convert Factory is media conversion application that allows users to convert various types of media files (images, audio, and video) using FFmpeg. The application provides a user-friendly interface for managing conversion queues and customizing output settings.
- Support for multiple media types:
- 🖼️ Images (various formats)
- 🎵 Audio files
- 🎬 Video files
- 📥 Drag and drop interface
- 📦 Batch conversion support
- 📁 Custom output directory selection
- 📊 Progress tracking
- 📋 Conversion queue management
- ⚙️ Configurable settings
- 🔔 Audio notification on completion
- Windows 10 or later
- .NET Framework 4.8.1
- FFmpeg (automatically downloaded and configured by the application)
- Minimum 4GB RAM recommended
- 500MB free disk space for FFmpeg binaries
- Download the latest release from the releases page
- Extract the ZIP file to your desired location
- Run
ConvertFactory.exe
The application will automatically download and configure FFmpeg on first run.
- Launch the application
- The main window will appear with a queue panel on the right and control panel on the left
There are three ways to add files to the conversion queue:
-
Drag and Drop:
- Simply drag files from Windows Explorer and drop them onto the queue panel
- Only supported file types will be accepted
-
File Selection Dialog:
- Click the "Select files" label in the queue panel
- Use the file dialog to select one or multiple files
- Click "Open" to add them to the queue
-
Click to Change:
- For files already in the queue, click on the file path to change the source file
For each file in the queue, you can configure:
-
Output Format:
- Select the desired output format from the dropdown menu
- Available formats depend on the input file type
-
Output Directory:
- Choose between:
- Default: Uses the default output path from settings
- Browse: Select a custom output directory
- Previously used directories (if any)
- Choose between:
- Remove Items: Click the "X" button on any queue item to remove it
- Run Queue: Click the "RUN QUERY" button to start processing all items
- Progress: Each item shows a progress bar during conversion
- Status: The status of each conversion is displayed in the queue item
Access settings by clicking the "SETTINGS" button:
-
Default Output Path:
- Set the default directory for converted files
- Click "Browse" to select a directory
-
Audio Notification:
- Toggle whether to play a sound when conversion completes
- Requires
sound.wavin the application directory
-
Batch Processing:
- Add multiple files of the same type for batch conversion
- All files will use the same output format and directory settings
-
Output Organization:
- Use the default output path for consistent file organization
- Use custom directories for specific projects or file types
-
Performance:
- The application processes conversions in parallel
- System performance may affect conversion speed
- Large files may take longer to process
ConvertFactory/
├── Conversion/
│ ├── AudioConversion.cs
│ ├── ImageConversion.cs
│ ├── VideoConversion.cs
│ ├── Conversion.cs
│ └── ConvertManager.cs
├── Media/
│ ├── ConversionData.cs
│ └── MediaTypeData.cs
├── AppSettingsManager.cs
├── MainForm.cs
├── Program.cs
├── QueueItem.cs
└── media-type-data.json
-
Conversion Classes:
Conversion: Base class for all conversion typesAudioConversion: Handles audio file conversionsImageConversion: Handles image file conversionsVideoConversion: Handles video file conversions
-
Media Management:
MediaTypeData: Manages supported media types and conversion rulesConversionData: Represents conversion data for specific media types
-
Queue Management:
ConvertManager: Manages the conversion queue and processQueueItem: UI component for queue items
-
Settings:
AppSettingsManager: Manages application settings
The application uses a JSON file (media-type-data.json) to define supported media types and their conversion options. The file structure is:
{
"Image": [
{
"Ext": ".jpg",
"To": [".png", ".gif", ".bmp"]
}
],
"Audio": [
{
"Ext": ".mp3",
"To": [".wav", ".ogg", ".flac"]
}
],
"Video": [
{
"Ext": ".mp4",
"To": [".avi", ".mkv", ".webm"]
}
]
}-
FFmpeg Download Fails:
- Check internet connection
- Ensure sufficient disk space
- Run application as administrator
-
Conversion Fails:
- Verify input file is not corrupted
- Check available disk space
- Ensure output directory is writable
-
Application Crashes:
- Check system requirements
- Verify .NET Framework installation
- Check application logs
This project is licensed under the MIT License - see the LICENSE file for details.
- FFmpeg for the conversion engine
- Xabe.FFmpeg for the .NET wrapper