L-MPV v1.2.0
Release v1.2.0 — Обновление функций дорожек, студийное аудио и исправления Fullscreen
🚀 Новые функции (Features)
-
Извлечение и скачивание дорожек (Audio & Subtitles Extraction):
- Добавлена возможность скачивать аудиодорожки и субтитры прямо из видеофайла.
- Реализована как во всплывающих меню нижней панели управления, так и в контекстном меню (ПКМ по видео).
- Прямое копирование без потерь (
-c copy): дорожки извлекаются в оригинальном качестве без перекодирования. - Интеллектуальный Fallback: автоматическое многопоточное транскодирование (
-threads 0), если исходный кодек не поддерживается целевым контейнером (например, субтитрыmov_textиз MP4 конвертируются в.srt). - Мгновенный экспорт внешних файлов: если субтитры или звук подключены из внешнего файла, они копируются напрямую файловой системой (
std::fs::copy), минуя FFmpeg. - Поддержка сетевых потоков (URL): корректное скачивание дорожек из онлайн-видео с автоматическим выбором папки.
- Безопасная очистка названий файлов от недопустимых символов Windows.
-
Настройки сохранения дорожек:
- В меню «Настройки» ➔ «Общие» добавлен переключатель: «Скачивать дорожки в ту же папку, где находится видео».
- При включённой опции дорожка мгновенно сохраняется рядом с файлом без лишних диалогов.
- При выключенной опции открывается системный проводник Windows для выбора целевой папки.
-
Студийное качество звука (Audiophile Profile):
- Аудиодвижок переведён на высококачественный Windows WASAPI драйвер (
ao=wasapi). - Активирован 32-точечный sinc-ресемплер студийного класса (
audio-resample-filter-size=32). - Включён 14-битный фазовый сдвиг (16 384 фаз) с линейной интерполяцией между отсчётами.
- Добавлена нормализация сведения многоканального звука (
audio-normalize-downmix=yes), исключающая перегрузы и клиппинг при выводе на стереодинамики/наушники.
- Аудиодвижок переведён на высококачественный Windows WASAPI драйвер (
🎨 Интерфейс и дизайн (UI / UX)
- Редизайн списков дорожек:
- Разделены области клика: блок с названием дорожки и галочкой подсвечивается независимо, а кнопка скачивания вынесена в отдельную плитку со своим фоном и hover-эффектом.
- Фиксированный слот под галочку: кнопка скачивания больше не смещается при выборе активной дорожки.
- Всплывающее меню дорожек на нижней панели ограничено компактной шириной 400px.
- Подменю аудиодорожек и субтитров в контекстном меню сохранено в стандартной гармоничной ширине 220px с аккуратной кнопкой 28×28px.
- Индикация процесса загрузки:
- Во время извлечения дорожки иконка скачивания превращается во вращающийся спиннер
Loader2. - Дополнительный индикатор загрузки синхронно отображается на нижней панели управления правее названия активной дорожки.
- Во время извлечения дорожки иконка скачивания превращается во вращающийся спиннер
- Плейлист и уведомления:
- В плейлисте теперь всегда единообразно отображаются реальные имена файлов с расширениями.
- Внедрена естественная алфавитно-цифровая сортировка (файлы 1, 2, 10 сортируются по порядку).
- Добавлено OSD-уведомление при создании снимка экрана (клавиша S).
- Устранены лишние браузерные подсказки (атрибуты
title) на кнопках для чистоты интерфейса.
🛠 Исправления и оптимизация (Bug Fixes & Performance)
- Гарантированное скрытие панели задач Windows в Fullscreen:
- Окно плеера в полноэкранном режиме принудительно переводится в
HWND_TOPMOST, что физически исключает просвечивание или наложение панели задач (Shell_TrayWnd). - Динамический Z-порядок: при переключении на другое окно (Alt+Tab или клик по второму монитору) статус Topmost временно снимается, позволяя браузерам и другим окнам свободно открываться поверх плеера. При возврате фокуса плееру статус Topmost мгновенно восстанавливается.
- Устранён баг смещения и уменьшения окна в угол (0, 0) с помощью DWM-клоакинга (
DWMWA_CLOAK) и нативного управления окном.
- Окно плеера в полноэкранном режиме принудительно переводится в
- Оптимизация рендеринга React:
- Высокочастотный таймер воспроизведения (10–60 FPS) изолирован в отдельном контексте
PlayerProgressContext. - Устранены паразитные каскадные перерисовки кнопок управления, заголовка и модальных окон при движении таймлайна.
- Высокочастотный таймер воспроизведения (10–60 FPS) изолирован в отдельном контексте
- Буферизация и кэширование MPV:
- Настроен 32 МБ прямой буфер пакетов и 16 МБ кэш обратной перемотки (
demuxer-max-back-bytes), обеспечивающий мгновенную перемотку назад без повторного обращения к диску.
- Настроен 32 МБ прямой буфер пакетов и 16 МБ кэш обратной перемотки (