A blazingly fast, professional media suite for high-performance transcoding and YouTube downloading.
video2mp3 is an industry-grade media processing suite designed for effortless downloading and high-speed re-encoding. By bridging the raw efficiency of FFmpeg and yt-dlp with a sleek, modern Svelte 5 and Tauri 2.0 interface, it provides a powerful yet intuitive workspace for both single-file tasks and massive batch conversions—all boosted by full hardware acceleration and the bleeding-edge performance of Vite 8 (Rolldown).
The project is built on the pillars of native performance, professional architecture, and beautiful UI. Recently migrated to the Vite 8 + Svelte 5 stack, video2mp3 leverages the latest in web-native bundling and fine-grained reactivity to deliver an instantaneous user experience.
ffprobe.The project has been refactored into a modern, decoupled web/native structure:
graph TD
A["Svelte 5 UI (Runes)"] -->|Tauri IPC Commands| B[Tauri Backend - Rust]
A -->|State Management| C[Reactive Stores]
B -->|Async Events| A
B --> D[Core Engine]
D --> E[FFmpeg/yt-dlp Wrappers]
D --> F[Hardware Probing]
D --> G[YAML Configs]
src/: The entire frontend built with Svelte, Vanilla CSS, and Vite. Handles UI rendering and reactive state.src-tauri/src/commands/: Rust endpoints exposed to the frontend via the Tauri IPC bridge.src-tauri/src/core/: Pure business logic, hardware detection, and media wrappers.src-tauri/src/config/: External YAML profiles defining FFmpeg, yt-dlp, and FFprobe command architectures.video2mp3 externalizes its conversion and download logic into YAML configuration files. This allows advanced modifications to FFmpeg parameters without touching the Rust core.
src-tauri/src/config/)ffmpeg.yaml: Defines profiles for audio extraction, remuxing, and hardware-accelerated transcoding.ytdlp.yaml: Manages yt-dlp arguments for metadata extraction and various download modes.ffprobe.yaml: Configuration for media inspection, duration probing, and stream analysis.| Domain | Technology |
|---|---|
| Backend | Rust + Tauri 2.0 (System access, multi-threading, IPC) |
| Frontend | Svelte 5 + Vite + Vanilla CSS |
| Engines | FFmpeg + yt-dlp |
| Package Manager | pnpm |
$PATH.Clone the repository:
git clone https://github.com/danloi2/video2mp3.git
cd video2mp3
Install frontend dependencies:
pnpm install
Run in Development Mode (Hot-Reload):
pnpm tauri dev
Build Production Installers:
pnpm tauri build
This project is maintained as a high-quality open-source media suite. Contributions regarding new hardware acceleration profiles or UI refinements are welcome.
Licensed under the MIT License. See LICENSE for details.