Высокопроизводительный, эстетичный и 100% портативный медиаплеер нового поколения.
Построена на базе Tauri v2, React 19 и нативного движка libmpv (C-FFI).
L-MPV сочетает в себе всю мощь нативного аппаратно-ускоренного видео-рендеринга MPV (gpu-hq, d3d11, HDR, ewa_lanczossharp) и современный элегантный интерфейс в стиле Glassmorphism, созданный на React 19 и TypeScript.
Приложение разработано по концепции Zero-Install Portable Architecture: плеер абсолютно отвязан от системного реестра и внешних папок Windows. Все конфигурации, скриншоты и нативные бинарные библиотеки хранятся локально в одной папке.
⚡ Аппаратный Рендеринг и GPU-HQ:
- Высококачественная профилизация
profile=gpu-hqс обработкой цветностиewa_lanczossharpиmitchell. - Поддержка
D3D11,hwdec=auto-safe, авто-распознавание HDR (target-colorspace-hint,tone-mapping). - Прямой вывод видеопотока на HWND окна Webview2 через C-FFI с нулевой задержкой.
- Высококачественная профилизация
🎨 Современный Glassmorphic UX/UI:
- Минималистичная плавающая панель управления («таблетка») с адаптивными акцентными цветами (Amber, Pink и др.).
- Умная система бездействия (IDLE): интерфейс плавно скрывается при просмотре и не гаснет, если курсор находится над органами управления или открыты модальные окна.
- Кастомное ПКМ контекстное меню для быстрой настройки видео, звука, масштаба и дорожек.
📦 100% Портативная Архитектура:
- Полная автономность без установки в систему.
- Автоматическое определение локальных путей во время исполнения (
current_exe().parent()). - Сохранение настроек в
config/settings.jsonи чистых кадров вscreenshots/.
🔍 Аппаратный Zoom & Pan (Масштабирование):
- Центрированный плавающий зум кадра по комбинации
Ctrl+ Колесо мыши (с частотой до 60 FPS). - Магнитная привязка к исходному размеру (100%) и мгновенный сброс по
Ctrl + 0.
- Центрированный плавающий зум кадра по комбинации
🎞️ Покадровая Точность & Главы (Chapters):
- Точный шаг назад/вперед на 1 кадр по клавишам
←/→(или,/.) с информативным OSD-уведомлением. - Полная навигация по главам файла с интерактивным превью времени.
- Точный шаг назад/вперед на 1 кадр по клавишам
🎶 Управление Плейлистом:
- Автоматическое фоновое сканирование папки открытого файла и создание единого плейлиста.
- Выдвижная боковая панель Playlist Drawer (
L/P) с мгновенным поиском и фильтрацией. - Перетаскивание видео и аудио файлов прямым Drag & Drop.
📸 Чистые Скриншоты:
- Мгновенное сохранение исходного кадра в высоком качестве (PNG) без OSD по нажатию
S.
- Мгновенное сохранение исходного кадра в высоком качестве (PNG) без OSD по нажатию
⚙️ Кастомизация Горячих Клавиш и Ассоциаций:
- Модальное окно настроек
SettingsModalс возможностью перепривязки любой горячей клавиши и сбросом по умолчанию. - Быстрая регистрация и удаление ассоциаций видео/аудио файлов в Windows в один клик.
- Модальное окно настроек
| Компонент | Используемые Технологии |
|---|---|
| Frontend | React 19, TypeScript 5.8, Vite 7, Lucide Icons, Vanilla CSS (Design Tokens, Glassmorphism) |
| Backend & Shell | Rust (2021 edition), Tauri v2 framework |
| Media Engine | libmpv-2.dll / mpv-2.dll via FFI (libloading crate) |
| Ось & Платформа | Windows 10 / 11 x64 (Direct3D 11, HWDEC auto-safe) |
L-MPV/
├── L-MPV - Banner U.png # Главный баннер проекта
├── src/ # Фронтенд (React 19 + TypeScript)
│ ├── components/ # UI Компоненты
│ │ ├── Titlebar.tsx # Кастомная шапка окна
│ │ ├── PlayerControls.tsx # Плавающая панель управления
│ │ ├── ContextMenu.tsx # Кастомное контекстное ПКМ-меню
│ │ ├── SettingsModal.tsx # Настройки (скриншоты, цвета, хоткеи, ассоциации)
│ │ ├── MediaInfoModal.tsx # Техническая информация о видео
│ │ ├── ChaptersModal.tsx # Навигация по главам
│ │ └── PlaylistDrawer.tsx # Боковая панель плейлиста
│ ├── contexts/ # React-контекст (PlayerStateContext)
│ ├── utils/ # Цветовые палитры и хоткеи
│ ├── App.tsx # Главный контейнер приложения
│ └── index.css # Design System & Glassmorphism стили
├── src-tauri/ # Бэкенд (Rust + Tauri v2)
│ ├── src/
│ │ ├── main.rs # Точка входа Rust
│ │ ├── lib.rs # Привязка HWND и 38 IPC-команд
│ │ ├── mpv_manager.rs # FFI-оберчик libmpv (GPU-HQ, D3D11, HDR)
│ │ └── commands.rs # 38 #[tauri::command] обработчиков
│ ├── Cargo.toml # Зависимости Rust
│ └── tauri.conf.json # Конфигурация Tauri v2
└── Portable-L-MPV/ # Готовая портативная сборка
├── L-MPV.exe # Исполняемый файл плеера
├── mpv-2.dll # Нативная библиотека MPV
├── config/ # Локальные настройки (settings.json)
└── screenshots/ # Директория сохранения снимков
| Функция | Клавиши по умолчанию |
|---|---|
| Воспроизведение / Пауза | Space или Клик ЛКМ по видео |
| Покадровый шаг назад / вперед | ← / , / Б и → / . / Ю |
| Перемотка ±10 секунд | Кнопки на панели / Таймлайн |
| Громкость ±5% | Колесо мыши над видео / Слайдер |
| Масштабирование (Zoom & Pan) | Ctrl + Колесо мыши |
| Сброс масштаба к 100% | Ctrl + 0 |
| Полноэкранный режим | F или Двойной клик ЛКМ |
| Открыть файл | Ctrl + O |
| Панель плейлиста | L или P |
| Сделать скриншот | S или Ы |
| Окно настроек | Иконка шестеренки / ПКМ-меню |
(Все клавиши можно легко перепривязать в окне Настроек).
- Node.js v18+ и npm
- Rust (toolchain
x86_64-pc-windows-msvc) - Нативная библиотека
libmpv-2.dllв директории приложения
# Установка зависимостей
npm install
# Запуск Vite + Tauri в режиме live-reload
npm run tauri dev# Компиляция исполняемого файла
npm run tauri buildГотовый бинарный файл создается по пути src-tauri/target/release/l-mpv.exe. Для формирования портативного дистрибутива скопируйте файл в папку Portable-L-MPV/L-MPV.exe.
Бэкенд L-MPV предоставляет 38 высокой степени оптимизации IPC-команд, включая:
- Управление воспроизведением (
open_file,toggle_pause,seek,frame_step,playlist_next). - Дорожки и Субтитры (
get_tracks,set_audio_track,set_subtitle_track,load_subtitle_file). - Аппаратное масштабирование (
set_video_zoom_and_pan,get_video_zoom). - Системные интеграции Windows (
register_file_associations,unregister_file_associations).
Проект распространяется под лицензией MIT.
Сделано с любовью к качественному видео и чистому коду 🚀
