MuXolotl-Converter Svelte Themes

Muxolotl Converter

šŸ¦Ž High-performance cross-platform audio & video converter with GPU acceleration. Built with Tauri 2 + Svelte 5 + Rust. Supports 40+ formats with real-time progress tracking and modern UI.

šŸ¦Ž MuXolotl-Converter

High-Performance Cross-Platform Audio & Video Converter

Features • Installation • Usage • Building • Contributing


šŸ“– Overview

MuXolotl-Converter is a modern, blazing-fast desktop application for converting audio and video files. Built with Tauri, Svelte 5, and Rust, it leverages FFmpeg for professional-grade media processing while providing a beautiful, intuitive interface with GPU acceleration support.

Status: 🚧 Active development | Production testing in progress

Why MuXolotl-Converter?

  • šŸš€ Hardware Acceleration - NVIDIA NVENC, Intel QSV, AMD AMF, Apple VideoToolbox
  • šŸŽÆ 40+ Formats - Comprehensive audio and video format support
  • ⚔ Parallel Processing - Convert up to 4 files simultaneously
  • šŸ’¾ Queue Persistence - Resume your work after closing the app
  • šŸŽØ Modern UI - Sleek glass-morphism design with smooth transitions
  • šŸ”§ Advanced Controls - Fine-tune bitrate, resolution, FPS, sample rate, channels
  • šŸ“Š Real-time Progress - Live FPS, speed, and ETA tracking
  • šŸ”” Desktop Notifications - Get notified when conversions complete
  • šŸŽ›ļø Batch Operations - Apply settings to all files, clear completed, cancel all, clear All

šŸ“ø Screenshots

šŸ–¼ļø Screenshots will be added soon


✨ Features

Core Functionality

Feature Description
Multi-format Support 40+ audio/video formats with intelligent codec recommendations
GPU Acceleration Automatic detection and usage of NVIDIA, Intel, AMD, and Apple GPUs
Parallel Conversion Process up to 4 files simultaneously for faster batch operations
Queue Management Add up to 50 files, with automatic persistence and duplicate detection
Format Validation Real-time validation with warnings and recommendations
Smart Codec Selection Automatic codec copying when possible to avoid re-encoding

User Experience

  • Drag & Drop - Intuitive file dropping from file explorer
  • Compact View - Toggle between detailed and compact queue views
  • Live Progress - Real-time FPS, speed, ETA, and completion percentage
  • Batch Actions - Apply settings to all files, clear completed conversions
  • Desktop Notifications - System notifications for completed/failed conversions
  • Session Persistence - Queue and output folder saved automatically (auto-save every 2s)

Advanced Settings

  • Audio: Sample rate (8-96 kHz), channels (mono/stereo/surround), bitrate
  • Video: Resolution (480p-4K), frame rate (24-60 FPS), quality presets
  • Audio Extraction - Extract audio from video files with one click
  • Custom Quality - Low, Medium, High, Ultra, or Custom bitrate settings

šŸŽµ Supported Formats

Audio Formats (20+)

Click to expand audio formats table
Format Extension Codec Container Stability Use Case
MP3 .mp3 libmp3lame MP3 āœ… Stable Universal compatibility
AAC .aac, .m4a aac M4A āœ… Stable High quality, modern devices
FLAC .flac flac FLAC āœ… Stable Lossless archival
WAV .wav pcm_s16le WAV āœ… Stable Uncompressed audio
Opus .opus libopus Opus āœ… Stable Best quality/size ratio
Vorbis .ogg libvorbis OGG āœ… Stable Open-source alternative
ALAC .alac alac M4A āœ… Stable Apple lossless
WavPack .wv wavpack WV āœ… Stable Hybrid lossless/lossy
AC3 .ac3 ac3 AC3 āš ļø Setup Surround sound (3+ channels)
DTS .dts dca DTS āš ļø Setup Cinema surround
WMA .wma wmav2 ASF āœ… Stable Windows ecosystem
AIFF .aiff pcm_s16be AIFF āœ… Stable Apple uncompressed
APE .ape ape APE šŸ”§ Experimental Monkey's Audio lossless
TTA .tta tta TTA šŸ”§ Experimental True Audio lossless
AMR .amr amr_nb 3GPP āœ… Stable Voice/telephony
Speex .spx speex OGG āœ… Stable Speech compression
Matroska Audio .mka various Matroska āœ… Stable Multi-codec container
AU .au pcm_s16be AU āœ… Stable Unix audio format
TAK .tak tak TAK šŸ”§ Experimental Tom's lossless
Shorten .shn shorten SHN ā›” Problematic Obsolete lossless
RealAudio .ra real_288 RM ā›” Problematic Legacy streaming

Video Formats (20+)

Click to expand video formats table
Format Extension Video Codecs Audio Codecs Stability Use Case
MP4 .mp4 h264, hevc aac, mp3, ac3 āœ… Stable Universal compatibility
WebM .webm vp8, vp9, av1 opus, vorbis āœ… Stable Web streaming
Matroska .mkv h264, hevc, vp9, av1 aac, opus, flac, ac3 āœ… Stable Flexible container
AVI .avi mpeg4, h264 mp3, ac3 āœ… Stable Legacy compatibility
MOV .mov h264, hevc aac, alac āœ… Stable Apple ecosystem
FLV .flv flv, h264 mp3, aac āœ… Stable Flash video (legacy)
OGV .ogv theora, vp8 vorbis, opus āœ… Stable Open-source video
WMV .wmv wmv2, vc1 wmav2 āœ… Stable Windows Media
MPEG .mpg, .mpeg mpeg2video mp2, mp3 āœ… Stable DVD-compatible
MPEG-TS .ts h264, hevc, mpeg2 aac, mp3, ac3 āœ… Stable Broadcasting
M4V .m4v h264 aac āœ… Stable iTunes video
3GP .3gp h264, mpeg4 aac, amr āœ… Stable Mobile devices (max 352Ɨ288)
MXF .mxf mpeg2video, h264 pcm_s16le āš ļø Setup Professional broadcast
F4V .f4v h264 aac āœ… Stable Flash H.264 video
VOB .vob mpeg2video ac3, mp2 āš ļø Setup DVD video (720Ɨ576/480)
RM .rm rv40 cook ā›” Problematic RealMedia (legacy)
DivX .divx mpeg4 mp3 āœ… Stable DivX codec
NUT .nut h264, vp9 opus, flac šŸ”§ Experimental NUT container
Y4M .y4m rawvideo N/A āœ… Stable YUV4MPEG2
DV .dv dvvideo pcm_s16le āš ļø Setup Digital Video (720Ɨ576/480)

Legend:

  • āœ… Stable - Fully supported, production-ready
  • āš ļø Setup Required - May need additional libraries or specific FFmpeg builds
  • šŸ”§ Experimental - Limited testing, use with caution
  • ā›” Problematic - Known issues, legacy support only

šŸ’» System Requirements

Minimum Requirements

Component Requirement
OS Windows 10+, macOS 10.15+, Linux (64-bit)
RAM 4 GB
Storage 200 MB for app + space for converted files
FFmpeg Bundled with application
GPU Requirements
NVIDIA GeForce GTX 600+ / Quadro Kxxx+ with NVENC support
Intel Intel HD Graphics 4000+ with Quick Sync Video
AMD Radeon HD 7000+ with VCE/VCN support
Apple M1/M2/M3 chip or Intel Mac with VideoToolbox

Platform-Specific Notes

  • Windows: Tested on Windows 10 (Build 19045+)
  • macOS: Built for macOS 10.15+ (Catalina and newer)
  • Linux: Tested on Ubuntu 20.04+, Debian 11+, Arch Linux

šŸ“„ Installation

🚧 Coming Soon - Pre-built releases will be available at:

Releases Page

Available Installers:

  • Windows: .msi (installer) / .exe (portable)
  • macOS: .dmg (Intel x64) / .dmg (Apple Silicon ARM64)
  • Linux: .AppImage / .deb / .rpm

Option 2: Build from Source

See Building from Source section below.


šŸš€ Usage

Quick Start

  1. Launch the application
  2. Select output folder (optional but recommended for batch processing)
  3. Add files:
    • Drag & drop media files into the drop zone
    • Click "Browse Files" to select manually
  4. Choose output format for each file
  5. Adjust quality settings (Low/Medium/High/Ultra/Custom)
  6. Click "Convert All" to start processing

Advanced Usage

Audio Extraction from Video

  1. Add a video file to the queue
  2. Check "Video → Audio" checkbox
  3. Select desired audio format (MP3, FLAC, AAC, etc.)
  4. Click "Convert All"

Batch Operations

  • Apply to All - Copy format and settings from first file to all pending files
  • Clear Completed - Remove successfully converted files from queue
  • Cancel All - Stop all active conversions
  • Clear All - Remove all files from queue

Advanced Settings

Click the āš™ļø Settings icon next to quality dropdown to access:

Audio:

  • Sample Rate: 8 kHz - 96 kHz
  • Channels: Mono, Stereo, 5.1, 7.1 Surround
  • Custom Bitrate: 64-320 kbps (for lossy formats)

Video:

  • Resolution: 480p, 720p, 1080p, 4K, or keep original
  • Frame Rate: 24, 30, 60 FPS, or keep original

Queue Persistence

  • Queue auto-saves every 2 seconds
  • Files in queue persist when you close and reopen the app
  • Files older than 7 days are automatically cleared
  • Processing files reset to "pending" on app restart

šŸŽ® GPU Acceleration

Automatic Detection

MuXolotl-Converter automatically detects and uses available GPU encoders:

Vendor Encoder Detection Method
NVIDIA NVENC (H.264/HEVC) nvidia-smi or system GPU info
Intel Quick Sync Video System GPU info (Windows/Linux/macOS)
AMD AMF (H.264/HEVC) System GPU info (Windows/Linux)
Apple VideoToolbox Apple Silicon M1/M2/M3 or Intel Mac

Supported GPU Codecs

NVIDIA NVENC:

  • H.264 (h264_nvenc)
  • HEVC/H.265 (hevc_nvenc)
  • VP9 (vp9_nvenc) - RTX 30xx+

Intel Quick Sync:

  • H.264 (h264_qsv)
  • HEVC/H.265 (hevc_qsv)
  • VP9 (vp9_qsv) - 11th gen+

AMD AMF:

  • H.264 (h264_amf)
  • HEVC/H.265 (hevc_amf)

Apple VideoToolbox:

  • H.264 (h264_videotoolbox)
  • HEVC/H.265 (hevc_videotoolbox)

Fallback Behavior

If GPU encoding is unavailable:

  • Software encoders are used automatically (libx264, libx265, libvpx)
  • Conversion continues without hardware acceleration
  • CPU-only mode indicator shown in UI

šŸ”§ Configuration

Output Path Behavior

  • No output folder selected: Dialog opens for each file
  • Output folder selected: Files saved automatically as {filename}.{format}
  • Output folder preference persists between sessions

Parallel Conversion

Toggle "Parallel conversion" to process up to 4 files simultaneously:

  • āœ… Enabled: Faster batch processing, higher CPU/GPU usage
  • āŒ Disabled: Sequential processing, lower resource usage

Desktop Notifications

The app requests notification permissions on first launch to notify you about:

  • āœ… Individual file completion
  • āŒ Conversion failures
  • šŸŽ‰ Queue completion summary

āš ļø Known Limitations

Limitation Details
Queue Size Maximum 50 files per queue
Timeout Conversions timeout after 1 hour (3600s)
Duplicate Files Same file path cannot be added twice
GPU Detection Timeout 5-second timeout for GPU detection commands
Problematic Formats Some legacy formats (SHN, RA, RM) may fail
DV/VOB Formats No GPU acceleration, strict resolution requirements

šŸ› ļø Building from Source

Prerequisites

Required:

FFmpeg Binaries:

Download and place FFmpeg binaries in src-tauri/binaries/:

Windows:

# Download from https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip
# Extract ffmpeg.exe and ffprobe.exe
# Rename to:
# - ffmpeg-x86_64-pc-windows-msvc.exe
# - ffprobe-x86_64-pc-windows-msvc.exe

Linux:

# Download from https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
# Extract ffmpeg and ffprobe
# Rename to:
# - ffmpeg-x86_64-unknown-linux-gnu
# - ffprobe-x86_64-unknown-linux-gnu
# Make executable: chmod +x ffmpeg* ffprobe*

macOS (Intel x64):

# Download from:
# - https://evermeet.cx/ffmpeg/getrelease/ffmpeg/zip
# - https://evermeet.cx/ffmpeg/getrelease/ffprobe/zip
# Rename to:
# - ffmpeg-x86_64-apple-darwin
# - ffprobe-x86_64-apple-darwin
# Make executable: chmod +x ffmpeg* ffprobe*

macOS (Apple Silicon ARM64):

# Download from:
# - https://evermeet.cx/ffmpeg/getrelease/ffmpeg/zip?arch=arm64
# - https://evermeet.cx/ffmpeg/getrelease/ffprobe/zip?arch=arm64
# Rename to:
# - ffmpeg-aarch64-apple-darwin
# - ffprobe-aarch64-apple-darwin
# Make executable: chmod +x ffmpeg* ffprobe*

Build Steps

# 1. Clone repository
git clone https://github.com/MuXolotl/MuXolotl-Converter.git
cd MuXolotl-Converter

# 2. Install dependencies
npm install

# 3. Development mode
npm run dev

# 4. Build for production
npm run build

# 5. Build Tauri app
npm run tauri build

Development Commands

npm run dev        # Start Vite dev server + Tauri dev window
npm run build      # Build frontend for production
npm run preview    # Preview production build
npm run check      # Run svelte-check (type checking)
npm run tauri      # Run Tauri CLI commands
npm run analyze    # Analyze bundle size

Build Artifacts

After npm run tauri build, installers will be in:

src-tauri/target/release/bundle/
ā”œā”€ā”€ msi/           # Windows installer
ā”œā”€ā”€ nsis/          # Windows NSIS installer
ā”œā”€ā”€ deb/           # Debian package
ā”œā”€ā”€ rpm/           # RPM package
ā”œā”€ā”€ appimage/      # Linux AppImage
└── dmg/           # macOS disk image

šŸ—ŗļø Roadmap

Planned Features:

It's empty here for now.

Suggestions? Open an issue or submit a PR!


šŸ¤ Contributing

Contributions are welcome and appreciated! Whether it's bug reports, feature requests, documentation improvements, or code contributions.

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contribution Guidelines

  • Follow existing code style (TypeScript/Rust)
  • Add comments for complex logic
  • Test your changes on at least one platform
  • Update documentation if needed
  • Keep commits atomic and descriptive

Reporting Bugs

Please include:

  • OS version and build number
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots/logs if applicable
  • GPU model (if GPU-related issue)

Feature Requests

Open an issue with:

  • Clear description of the feature
  • Use cases and benefits
  • Possible implementation approach (optional)

šŸ“„ License

This project is dual-licensed:

You may choose either license for your use case.

Third-Party Licenses


šŸ™ Acknowledgments

Built With

FFmpeg Builds


šŸ“ž Support


Made with ā¤ļø by MuXolotl

⭐ Star this repo if you find it useful!

Top categories

Loading Svelte Themes