The Discord Video Compressor is a Windows application designed to compress video files to meet Discord's file size limits. The tool utilizes ffmpeg to compress videos, offering pre-configured size presets and the option to specify custom sizes.
- Drag and Drop Support: Simply drag and drop your video files into the application to start the compression process.
- Language Support: The application supports English (EN) and Russian (RU) languages, which can be selected via a dropdown menu.
- Dark Mode: Automatically adjusts the application theme to match the system's dark mode settings.
- ffmpeg Integration: The application ships
ffmpeg.exeas an embedded resource, so the user still gets a single app package without a separate dependency setup. - Preset and Custom Compression: Users can use the built-in Discord preset (9 MB) or specify a custom target size for compression.
- Progress Monitoring: Displays the progress of the compression process with a progress bar.
- Force Stop: Users can forcibly stop the compression process if necessary.
-
Clone the repository:
sh git clone https://github.com/yourusername/DiscordVideoCompressor.git -
Build the project:
- Open the solution file (
DiscordVideoCompressor.sln) in Visual Studio 2022 or build it with the .NET 8 SDK. - Build the project.
- Open the solution file (
-
Run the application:
- After building, run the
DiscordVideoCompressor.exefrom the output directory.
- After building, run the
- The repository now includes an Inno Setup script at installer/DiscordVideoCompressor.iss.
- Build a release installer from installer/Build-Installer.ps1. The script publishes the single-file Win64 build first and then compiles
setup.exe. - The installer places the app in
Program Files, registers an uninstaller, and creates a Start menu shortcut so the user can launch it throughStart. ffmpeg.exeremains embedded inside the application binary. The installer does not add a separate ffmpeg dependency.
-
Select or Drag and Drop a Video File:
- You can drag and drop a video file into the application window or use the "Choose Media File" button to select a file.
- Supported formats:
.mp4,.avi,.mkv,.webm.
-
Choose the Compression Size:
- Use the default 9 MB Discord preset or specify a custom size in MB.
-
Start Compression:
- Click the "Convert" button to start the compression process.
- The progress of the compression will be displayed in the progress bar.
-
Force Stop (if needed):
- You can stop the compression at any time by clicking the "Force Stop" button.
-
Language Selection:
- Change the language of the application between English and Russian using the dropdown in the top-right corner.
- ffmpeg: The application deliberately keeps
ffmpeg.exeas an embedded resource and extracts it automatically at runtime. No external installation is required, and the distributed build still includes everything needed for end users. - NetSparkle: Automatic updates are prepared through NetSparkle and are expected to distribute the installer package in future releases.
If you would like to contribute to the project, feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
- ffmpeg Not Found Error: Ensure that
ffmpeg.exeis available in the temporary directory. The application should automatically handle extraction and deletion, but if errors persist, check file permissions. - Video File Not Supported: Ensure your video file is in one of the supported formats (
.mp4,.avi,.mkv,.webm). - Compression Fails: If the compression process fails repeatedly, try lowering the target size.
For any issues or suggestions, please open an issue on GitHub or contact me at Discord: [KickerMix].