A powerful GUI application for managing and manipulating video files with advanced filtering, merging, and stream management capabilities.
- Bulk Video Scanning: Recursively scan folders to analyze video files
- Advanced Filtering: Filter videos by codec, bitrate, resolution, duration, language, and more
- Video Merging: Merge multiple videos into a single file
- Stream Management: Remove or keep specific audio, video, or subtitle streams
- Video Integrity Check: Verify video file integrity
- FFmpeg Integration: Leverages FFmpeg for all media operations
- Localization: Supports multiple languages (English, French)
- Cross-Platform: Works on Windows, macOS, and Linux
Download the latest version from the releases page.
- Go 1.19+: Install from golang.org
- FFmpeg: Required for media operations
- Windows: Download from ffmpeg.org
- macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpeg(Ubuntu/Debian) or equivalent
- Clone the repository:
git clone https://github.com/Developpeur-du-dimanche/MediaTools.git
cd MediaTools- Install dependencies:
go mod download- Build the application:
# Windows
go build -o mediatools.exe ./cmd/mediatools/main.go
# macOS/Linux
go build -o mediatools ./cmd/mediatools/main.goNote: The first build may take several minutes as it compiles the GUI dependencies.
# Windows
./mediatools.exe
# macOS/Linux
./mediatoolsFor faster development, use Air to automatically rebuild on file changes.
Install Air:
go install github.com/air-verse/air@latestRun with Air:
airMediaTools/
├── cmd/mediatools/ # Application entry point
├── internal/
│ ├── components/ # UI components
│ ├── filters/ # Filter implementations
│ ├── mediatools/ # Main application logic
│ ├── services/ # Business logic services
│ └── utils/ # Utility functions
├── pkg/
│ ├── logger/ # Logging package
│ └── medias/ # Media handling (ffprobe integration)
└── readme.md
Contributions are welcome! Please follow these guidelines:
- Issues: When creating an issue, assign it to the person responsible for resolving it to ensure proper notifications
- Pull Requests: Ensure your code follows Go conventions and includes appropriate tests
- Localization: New language translations are appreciated
This project is licensed under the terms specified in the LICENSE file.