MPV

MPV позволяет воспроизводить видео и аудио, выбирать дорожки и субтитры, точно перематывать по времени и кадрам, сохранять скриншоты, работать с плейлистами и сетевыми потоками, а также настраивать вывод через аппаратное декодирование, GPU-рендеринг, профили качества, фильтры, конфигурационные файлы и пользовательские скрипты.

Основная идея MPV — дать пользователю прямой контроль над воспроизведением без перегруженной панели с десятками постоянно видимых кнопок. В обычном окне достаточно встроенного экранного контроллера OSC: он появляется при движении мыши, показывает шкалу времени и основные переключатели, а затем скрывается. Для часто повторяющихся действий удобнее клавиатура, а для постоянных параметров — файл mpv.conf. Поэтому один и тот же плеер можно оставить почти без настроек или превратить в точно настроенный инструмент для просмотра фильмов, проверки видеоматериалов, работы с субтитрами и сетевыми источниками.

При этом MPV не следует воспринимать как медиатеку с каталогом обложек, встроенным менеджером коллекции и мастерами настройки. В нём нет необходимости проходить длинные диалоги: файл открывается сразу, а нужные изменения задаются командами, горячими клавишами, экранными меню и параметрами. Сильная сторона такого подхода — предсказуемость: большинство действий можно воспроизвести одной строкой в конфигурации, назначить на собственную клавишу или вызвать из скрипта.

Скачать MPV

Оценка 9.7Рекомендуем
  • Конвертация видео
  • Сжатие файлов
  • Просто для новичков
Скачать бесплатно на Windows
Лучшая альтернатива
MPV
Оценка 8.5
  • Нет полноценного GUI
  • Сложная ручная настройка
  • Нет встроенной медиатеки
Скачать MPV
Загрузка начнётся после нажатия

Как устроена работа в MPV

У MPV есть несколько равноправных способов управления, и полезно сразу разделять их по назначению. Экранный контроллер отвечает за повседневные действия мышью. Встроенные клавиши дают быстрый доступ к паузе, перемотке, переключению дорожек, изменению громкости, скриншотам и диагностике. Командная строка подходит для разового запуска с особыми условиями. Файлы конфигурации применяют постоянные настройки. Наконец, Lua- и JavaScript-скрипты, команды IPC и библиотека libmpv используются там, где требуется автоматизация или встраивание плеера в другой интерфейс.

Эти уровни не исключают друг друга. Например, можно поставить обычный фильм на паузу мышью, затем клавишей j выбрать другую дорожку субтитров, открыть встроенную статистику клавишей i, а постоянное предпочтение языков сохранить в mpv.conf. Если конкретный файл требует иного поведения, параметр командной строки имеет смысл использовать только для этого запуска, не переписывая основную конфигурацию.

MPV читает контейнер, обнаруживает доступные видео-, аудио- и субтитровые дорожки, выбирает подходящие потоки и передаёт их декодерам. После декодирования видео проходит через цепочку обработки и масштабирования, затем выводится выбранным видеодрайвером. Звук обрабатывается отдельно и синхронизируется с видео. Такая схема важна при диагностике: проблемы с декодером, аппаратным ускорением, фильтром, GPU-рендерингом, синхронизацией и самим дисплеем требуют разных решений, поэтому бессмысленно менять все параметры одновременно.

Штатное окно MPV во время воспроизведения видео с экранным контроллером OSC

Открытие файлов и запуск воспроизведения

Самый простой сценарий — передать MPV один медиафайл. При запуске из файлового менеджера плеер открывает его и начинает воспроизведение; в оконном режиме файл также можно перетащить в окно. Если открыть MPV без содержимого в режиме, рассчитанном на оконное использование, отображается пустое окно, куда можно перетащить файл или поддерживаемый адрес потока. Наличие такого окна удобно, но оно не превращает программу в классический файловый менеджер: выбор источников остаётся отдельной операцией.

Командная строка полезна, когда нужно воспроизвести несколько файлов в определённом порядке, временно отключить конфигурацию, проверить конкретный видеовывод или передать параметр только одному запуску. Базовая форма выглядит так:

mpv "video.mkv"
mpv "episode01.mkv" "episode02.mkv" "episode03.mkv"
mpv --no-config "problem-file.mkv"

Кавычки вокруг пути нужны, если в имени есть пробелы или символы, которые оболочка интерпретирует самостоятельно. Параметр --no-config особенно ценен при поиске ошибок: он позволяет быстро понять, возникает ли проблема на исходных настройках MPV или её создаёт строка в mpv.conf, пользовательский скрипт, шейдер либо переназначенная команда.

Если передать несколько файлов, они образуют плейлист. Переход к следующему и предыдущему элементу выполняется клавишами > и <; Enter также переходит к следующему элементу. Это отличается от механики некоторых медиаплееров, которые автоматически сканируют всю папку и строят очередь по соседним именам. В MPV надёжнее явно сформировать нужную последовательность или использовать встроенное меню плейлиста.

Псевдографический режим и пустое окно

Когда MPV запускается способом, который предполагает управление из графической среды, обычно используется так называемый pseudo-GUI mode. Это набор поведения, делающий запуск без терминала удобнее: появляется окно, а некоторые параметры выбираются с учётом привычного оконного сценария. Важно понимать, что pseudo-GUI не является отдельной оболочкой с собственной медиатекой. Это тот же MPV, только с профилем поведения, рассчитанным на открытие файлов из проводника и перетаскивание мышью.

Для аудиофайлов окно может быть не нужно, поэтому поведение зависит от параметров вывода и профиля. Если задача требует, чтобы окно оставалось видимым даже при отсутствии видеодорожки, применяется force-window. Такой вариант полезен, например, когда управление ведётся через OSC и пользователь хочет видеть полосу времени при воспроизведении музыки или аудиодорожки без картинки.

Экранный контроллер OSC

OSC — минимальная панель управления, встроенная в MPV. По умолчанию она появляется при движении мыши в окне и скрывается спустя короткую паузу, если курсор не используется. На панели находятся элементы паузы и продолжения, шкала позиции, время, громкость, индикаторы дорожек и кнопка полноэкранного режима. Конкретная компоновка зависит от выбранного layout, но принцип остаётся тем же: контроллер занимает экран только в момент взаимодействия.

Шкала времени позволяет переходить к нужной позиции щелчком. Колесо мыши над некоторыми элементами выполняет контекстное действие: над шкалой можно перемещаться по времени, над громкостью — менять уровень, над аудио- или субтитровым индикатором — перебирать дорожки. Правый щелчок по элементам в современных сборках часто открывает соответствующее встроенное меню выбора. Это быстрее, чем многократно циклически переключать дорожки, если их в файле много.

Кнопки перехода по главам работают как навигация по ближайшим разделам, а правый щелчок может открыть список глав. У кнопок аудио и субтитров левый щелчок последовательно меняет дорожку, а контекстное меню показывает список целиком. У регулятора громкости левый щелчок по значку отключает или возвращает звук, правый открывает выбор устройства вывода, если этот список поддерживается текущим аудиодрайвером. Такая логика делает OSC компактным, не отказываясь от более подробного выбора.

MPV воспроизводит Big Buck Bunny; внизу показан штатный OSC

Варианты расположения OSC

Встроенный контроллер можно перестроить без замены его сторонним интерфейсом. В меню View → OSC layout доступны варианты Bottom bar, Top bar, Floating, Box, Slimbox, Slim bottom bar и Slim top bar. Они различаются расположением шкалы, плотностью элементов и тем, насколько сильно перекрывают изображение. Для просмотра фильмов обычно удобна нижняя полоса или плавающая панель, а для узких окон — компактные варианты.

Постоянную настройку можно вынести в параметры скрипта OSC. Для него существуют настройки масштаба в оконном и полноэкранном режимах, вертикального и горизонтального выравнивания, отступов, поведения оконных кнопок, минимального движения мыши для показа панели и других деталей. Практический принцип прост: сначала стоит выбрать подходящий layout, а уже затем править размеры и отступы. Иначе легко получить контроллер, который технически работает, но оказывается слишком мелким или перекрывает субтитры.

Если OSC не появляется, первым делом нужно подвигать мышью и проверить, не переключена ли его видимость клавишей Delete. Эта клавиша циклически меняет состояние контроллера: скрыт, автоматический показ и постоянная видимость. Полностью отключить OSC можно параметром osc=no. В пользовательских сборках без поддержки Lua встроенный контроллер может отсутствовать, потому что его реализация зависит от скриптового механизма.

Встроенное меню команд

MPV умеет показывать экранное меню распространённых действий. В нём сгруппированы операции с воспроизведением, видео, аудио, субтитрами, окном, отображением и сервисными командами. Названия пунктов вроде Window, View, Audio, Subtitle и Tools отражают именно команды плеера; это не традиционная строка меню, постоянно закреплённая сверху окна. Меню рисуется поверх видео и исчезает после выбора.

В разделе Window можно переключать Fullscreen, Border, Title bar и Always on top, выбрать масштаб окна 50, 100, 200 или 300 процентов и сделать Screenshot window. В View доступны Playback statistics, File information, Key bindings, переключение Time OSD, видимости OSC, его компоновки и профилей. В Audio находятся выбор дорожки и устройства, схемы каналов, громкость, mute и задержка звука. В Subtitle — основная и вторичная дорожки, видимость, задержка, масштаб и переход по строкам текстовых субтитров.

Для обработки изображения меню содержит масштабирование и перемещение кадра, поворот, Deband и Deinterlace, а также команды снимка с субтитрами или без них. Наличие пунктов зависит от текущего состояния: действие может быть недоступно, если в файле нет видеодорожки, выбранного вида субтитров или подходящего свойства. Это полезнее, чем отображать команды, которые заведомо ничего не сделают.

Окно MPV с экранным меню команд и диагностической информацией поверх видео

Меню выбора дорожек, глав и плейлиста

Помимо общего меню, MPV содержит экранные списки выбора. Комбинация g, затем p открывает плейлист; g затем a — аудиодорожки; g затем s — субтитры; g затем S — вторичные субтитры; g затем v — видеодорожки; g затем c — главы. Для контейнеров с editions и дисковых источников предусмотрены соответствующие списки.

Преимущество экранного списка перед циклическим переключением особенно заметно на Blu-ray-структурах, Matroska-файлах с несколькими комментариями, концертных записях и обучающих материалах. Вместо того чтобы нажимать одну клавишу до нужной дорожки, можно увидеть язык, метаданные и позицию в списке. Выбор через меню не меняет принцип работы MPV: фактически это удобный способ вызвать те же свойства и команды, которые доступны из клавиатуры, конфигурации и IPC.

Основные горячие клавиши

Управление с клавиатуры — один из самых быстрых способов работать с MPV. Space и p ставят воспроизведение на паузу и продолжают его. q завершает работу, а Q, то есть верхний регистр, завершает с сохранением позиции для продолжения. f переключает полноэкранный режим, Esc возвращает окно из него, T меняет режим поверх других окон. Громкость уменьшается клавишей 9 или /, увеличивается 0 или *, а m включает mute.

Стрелки влево и вправо перемещают примерно на пять секунд назад и вперёд, вверх и вниз — примерно на минуту. Если требуется более точный переход, сочетание Shift со стрелками выполняет абсолютный поиск на меньший интервал. Page Up и Page Down переходят по главам, а Home возвращает к началу. Для покадровой работы используются . для шага вперёд и , для шага назад.

Дорожки переключаются отдельными клавишами: # перебирает аудио, _ — видео, j — субтитры. v скрывает или показывает текущие субтитры, Alt+v делает то же для вторичных. z и Z сдвигают задержку субтитров на 0,1 секунды, а Ctrl++ и Ctrl+- корректируют задержку аудио. Эти корректировки удобны именно как оперативная правка: если смещение постоянно присутствует во всей коллекции из-за внешней схемы обработки, лучше устранить его на уровне конфигурации или устройства.

КлавишаДействиеКогда полезно
Space / pПауза и продолжениеОбычный просмотр
← / →Переход примерно на 5 секундБыстрая перемотка
↑ / ↓Переход примерно на минутуНавигация по длинному видео
. / ,Шаг на кадр вперёд / назадВыбор точного кадра
9 / 0Громкость ниже / вышеРегулировка без мыши
mОтключить или вернуть звукМгновенный mute
fПолноэкранный режимПросмотр на весь экран
j / JСледующие / предыдущие субтитрыФайлы с несколькими дорожками
#Следующая аудиодорожкаВыбор языка или комментариев
s / SСнимок с субтитрами / без нихСохранение кадров
i / IПоказать / закрепить статистикуДиагностика
`Открыть консольРазовые команды
MPV в Linux с минимальным окном воспроизведения и OSD

Точная навигация по времени и кадрам

Перемотка в MPV может быть быстрой либо точной. Обычные стрелки рассчитаны на комфортный просмотр: плеер стремится перейти к подходящей позиции быстро, используя структуру контейнера и ключевые кадры. Для бытового просмотра это лучше, чем заставлять декодер каждый раз точно просчитывать длинный участок от предыдущего ключевого кадра. Но при выборе момента для скриншота или сверке монтажа требуется другая точность.

Покадровые клавиши . и , позволяют остановить воспроизведение и проходить материал кадр за кадром. Шаг вперёд предсказуемее, потому что декодер естественно движется по потоку. Шаг назад может требовать повторного декодирования с более ранней точки и потому на тяжёлых кодеках или длинных GOP выполняться медленнее. Это не ошибка: обратного потока кадров в большинстве сжатых форматов просто нет, его приходится восстанавливать.

Для навигации по большим материалам удобно сочетать уровни: сначала минутные переходы, затем короткие стрелки, затем покадровый шаг. Если файл содержит размеченные главы, Page Up и Page Down дают ещё один уровень навигации. Для лекций, концертов и дисковых рипов это обычно быстрее, чем вручную искать момент по шкале.

Цикл A–B и повтор

Клавиша l управляет циклом A–B: первым нажатием задаётся начало, вторым — конец, после чего участок повторяется. Это полезно при разборе движения в кадре, работе с произношением, сравнении синхронизации или просмотре короткого проблемного фрагмента. Повтор всего файла управляется отдельным механизмом; в OSC его можно переключать контекстным действием на кнопке воспроизведения, а в конфигурации — соответствующим параметром цикла.

Циклическое воспроизведение не создаёт новый файл и не изменяет исходный материал. Оно лишь ограничивает позицию воспроизведения. Поэтому его безопасно использовать для анализа, но не стоит путать с монтажным выделением: MPV не формирует по точкам A и B полноценный проект с таймлайном и не экспортирует его как видеоредактор.

Плейлисты и очередь файлов

Плейлист в MPV — упорядоченный список источников, который можно сформировать при запуске, загрузить из файла плейлиста или менять командами во время работы. Встроенный экран выбора вызывается через g, затем p, а клавиши < и > переходят к соседним позициям. Для длинных очередей список удобнее циклического перехода, потому что показывает названия элементов и текущую позицию.

Если MPV используется для последовательного просмотра серий или коротких клипов, имеет смысл передавать набор файлов сразу, а не открывать их по одному из файлового менеджера. Плеер сохраняет порядок аргументов. Для автоматически формируемых очередей можно использовать внешнюю оболочку или скрипт, который сортирует пути и передаёт их MPV. Это надёжнее, чем рассчитывать на неявное сканирование каталога с правилами, которые могут отличаться у разных оболочек.

Встроенные команды позволяют добавлять файл в список без немедленного переключения, заменять текущую очередь, перемещаться к конкретному индексу и удалять элементы. Эти действия особенно удобно вызывать через IPC или пользовательский скрипт, когда MPV используется как движок для собственной панели управления. Для обычного просмотра достаточно экранного списка и стандартных клавиш.

Аудиодорожки и выбор языка

Контейнеры Matroska, MP4 и другие распространённые форматы могут содержать несколько аудиодорожек: оригинал, дубляж, комментарии, стерео- и многоканальные варианты. Клавиша # циклически переключает их, а экранное меню Audio или список g затем a позволяет выбрать дорожку по метаданным. В конфигурации предпочтительные языки задаются через alang, чтобы MPV сначала искал, например, русскую или английскую дорожку в заданном порядке.

Языковое предпочтение — не жёсткая гарантия. Оно работает только если контейнер содержит корректные языковые теги. У самодельных файлов дорожки часто подписаны произвольно или вообще не имеют языка, поэтому MPV вынужден опираться на другие признаки и настройки по умолчанию. Если автоматический выбор ведёт себя странно, сначала следует посмотреть список дорожек и их метаданные, а не пытаться исправлять декодер.

Параметр выбора audio id позволяет указать конкретную дорожку либо полностью отключить аудио. Это удобно для пакетного или автоматизированного запуска, где номера дорожек известны заранее. Для разнородной коллекции предпочтения по языку обычно устойчивее номера: в одном файле русский звук может быть первым, в другом третьим.

Каналы, громкость и устройство вывода

MPV умеет передавать аудио в разные схемы каналов и выбирать устройство, которое предоставляет текущая аудиосистема. Встроенное меню Audio → Devices показывает доступные варианты, а Audio → Channels позволяет выбрать автоматическую безопасную схему, Stereo или Mono. Это полезно, когда многоканальный материал воспроизводится через обычные наушники или когда операционная система предлагает несколько HDMI-, USB- и аналоговых выходов.

Не стоит без необходимости фиксировать конкретное устройство в конфигурации ноутбука: после отключения док-станции или HDMI выбранного выхода может не оказаться. Более устойчивый подход — оставить системное устройство по умолчанию и задавать конкретный sink только там, где тракт постоянный. Если звук внезапно пропал после изменения конфигурации, нужно проверить mute, выбранный audio device, наличие самой дорожки и только после этого разбираться с кодеком.

Регулировка громкости MPV меняет уровень внутри плеера и не обязана совпадать с системным регулятором. В типичном сценарии удобно оставить системную громкость как общий предел, а MPV использовать для оперативной подстройки конкретного видео. При цифровом тракте, где важен неизменённый поток или особый режим вывода, правила будут зависеть от драйвера и конкретной конфигурации, поэтому универсальная рекомендация всегда ставить 100% некорректна.

Синхронизация аудио и видео

Если звук постоянно идёт раньше или позже изображения, MPV позволяет сдвинуть аудиодорожку относительно видео. Стандартные сочетания с Ctrl изменяют audio-delay шагом 0,1 секунды. Коррекция действует во время текущего воспроизведения и хорошо подходит для файлов с неверным смещением или для внешнего оборудования, которое добавляет задержку только в одном тракте.

Сначала важно определить характер проблемы. Постоянное смещение на одинаковую величину — хороший кандидат для audio-delay. Если рассинхронизация постепенно растёт, причина обычно иная: повреждённые временные метки, нестандартная частота, проблемы декодирования или режим синхронизации. В таком случае ручной сдвиг лишь совпадёт в одной точке и разойдётся позже.

Встроенная статистика показывает A-V и другие параметры синхронизации. Если при проблеме растёт число dropped или mistimed frames, нужно смотреть на производительность видеовывода и режим синхронизации, а не только на задержку звука. Для проверки удобно запустить тот же файл с --no-config: если дефект исчезает, причина почти наверняка связана с пользовательским профилем, фильтром, шейдером или параметрами вывода.

Субтитры: встроенные и внешние дорожки

MPV поддерживает текстовые и графические субтитры, встроенные в контейнер или подключённые отдельным файлом. Клавиша j переходит к следующей дорожке, J — в обратном направлении, v временно скрывает или возвращает основной слой. Для файлов с десятками вариантов удобнее меню g затем s, где видны доступные дорожки.

Внешние субтитры MPV умеет подхватывать автоматически. Параметр sub-auto задаёт строгость сопоставления имени: можно отключить автопоиск, требовать точного соответствия, использовать более свободное fuzzy-сопоставление либо загружать все подходящие файлы. По умолчанию разумнее сохранять достаточно строгий режим: агрессивная загрузка всех субтитров из каталога может создать длинный список из файлов к соседним сериям.

Если субтитры не обнаружены, стоит проверить имя файла, каталог поиска, расширение и сам параметр автозагрузки. MPV также использует список расширений для внешних субтитров. Когда рядом лежат файлы необычного формата или с нестандартным расширением, автоматическое обнаружение может не сработать, хотя ручное подключение будет возможно.

MPV с пользовательским OSC ModernX и экранным выбором нескольких аудиодорожек

Предпочтение языков субтитров

Параметр slang задаёт порядок предпочтительных языков аналогично alang для звука. Он полезен, если в контейнере регулярно встречаются, например, русский, английский и signs/songs. Однако итог зависит от корректности метаданных. Тег языка и название дорожки — разные вещи: красивое имя в меню не обязательно означает, что контейнер содержит правильный машинный код языка.

Для файлов с несколькими типами перевода имеет смысл сочетать языковое предпочтение с ручным выбором. Плеер не может догадаться, нужен ли пользователю полный перевод, форсированные надписи или комментарии только по языковому коду. Если важен конкретный режим, один раз проверить список дорожек быстрее, чем пытаться построить чрезмерно сложное правило.

Задержка, положение и размер субтитров

z и Z меняют задержку субтитров шагом 0,1 секунды. Это особенно удобно для внешнего файла, подготовленного по другой копии фильма. Если расхождение постоянно, можно подобрать смещение за несколько нажатий. Если оно меняется по ходу видео, проблема находится в таймингах самих субтитров или источника, и одна задержка её не исправит.

Клавиши r и R двигают субтитры по вертикали, а G и F меняют их масштаб. Эти изменения полезны, когда строки перекрывают интерфейс, оказываются слишком низко на проекторе или плохо читаются с большого расстояния. Для постоянной настройки лучше записать подходящий sub-scale, позицию и поля в конфигурацию, а не менять их при каждом запуске.

SSA/ASS-субтитры могут содержать собственные стили, позиционирование, шрифты и эффекты. Клавиша u переключает режим переопределения их оформления. Это не универсальная кнопка сделать субтитры красивее: форсированное переопределение может нарушить сложные надписи, караоке и позиционные элементы. Использовать его стоит тогда, когда авторское оформление реально мешает чтению или неправильно масштабируется.

Вторые субтитры

MPV умеет одновременно отображать вторую субтитровую дорожку. Её видимость переключается Alt+v, а выбор выполняется через g затем S. Такой режим полезен при изучении языка, сравнении переводов или проверке двух наборов таймингов. Для второй дорожки предусмотрены собственные параметры задержки и отображения, поэтому её можно синхронизировать независимо от основной.

При двух слоях особенно важно правильно выбрать положение, иначе строки будут накладываться. Графические субтитры вроде PGS ведут себя иначе, чем обычный текст: плеер отображает готовые изображения, а не формирует строку из символов. Поэтому функции, основанные на тексте — например, выбор отдельной субтитровой строки для копирования — для таких дорожек ограничены.

Кодировки и проблемы с нечитаемыми субтитрами

Современные субтитровые файлы лучше хранить в UTF-8, но в старых коллекциях встречаются однобайтовые кодировки. Если вместо кириллицы отображается набор неверных символов, MPV позволяет задать sub-codepage. Это именно инструкция декодирования текста, а не выбор шрифта: если байты интерпретируются в неправильной кодировке, смена гарнитуры не поможет.

Практически сначала стоит проверить, действительно ли проблема в кодировке. Если одни буквы отображаются нормально, а отдельных символов нет, вероятнее отсутствие глифов в шрифте. Если вся строка превращается в бессмысленный набор, причина чаще кодировочная. Для новой коллекции рациональнее один раз перекодировать проблемные текстовые субтитры в UTF-8, чем постоянно поддерживать набор исключений в конфигурации.

Масштабирование, панорамирование и соотношение сторон

MPV позволяет менять размер и положение изображения без изменения исходного файла. Alt++ и Alt+- управляют зумом, Alt со стрелками — панорамированием, а Alt+Backspace сбрасывает эти изменения. Это удобно для просмотра деталей, проверки краёв кадра или временного устранения чёрных полей на конкретном экране.

Клавиша A циклически меняет принудительное соотношение сторон. Использовать её нужно осторожно. Если контейнер и поток содержат корректную информацию, автоматический режим показывает геометрию правильно. Принудительный aspect полезен для старых файлов с неверными флагами или специфических анаморфных источников, но для обычного видео он легко растягивает лица и круги.

Параметр panscan и соответствующие клавиши изменяют способ заполнения окна, позволяя сильнее обрезать кадр ради заполнения экрана. Это компромисс: изображение становится крупнее, но часть краёв исчезает. Для фильмов с важной композицией лучше сохранить исходное соотношение и принять поля, чем обрезать кадр только ради отсутствия чёрных полос.

Поворот изображения

Встроенное меню Video позволяет поворачивать изображение по часовой стрелке и против неё. Это полезно для роликов с неверной ориентацией или для материалов, снятых мобильной камерой без корректного метадатного поворота. Поворот применяется на этапе отображения и не переписывает файл. Если задача состоит в том, чтобы навсегда исправить ориентацию для других плееров, потребуется отдельная операция над контейнером или видео.

GPU-рендеринг и качество вывода

Одно из наиболее сильных мест MPV — видеовывод, способный выполнять масштабирование, цветовые преобразования, debanding и другие операции на GPU. Пользователю не обязательно вручную выбирать графический API: стандартная конфигурация стремится подобрать рабочий путь. Принудительные gpu-api и низкоуровневые опции полезны главным образом при диагностике, сравнении поведения драйверов или специфической системе.

Когда разрешение видео не совпадает с размером окна, изображение нужно увеличить или уменьшить. MPV поддерживает разные алгоритмы масштабирования, а профиль high-quality включает более тяжёлые настройки, ориентированные на качество. На достаточно производительном GPU они могут дать более аккуратные края и текстуры, но не создают деталей, которых нет в источнике. Для слабой графики лишняя сложность выражается не чуть худшим качеством, а пропусками кадров, поэтому баланс важнее максимальных значений.

Профиль fast идёт в противоположную сторону: он предназначен для снижения нагрузки. Такой профиль полезен на старом встроенном GPU, при 4K-видео на маломощном устройстве или при диагностике. Если на fast воспроизведение становится стабильным, а на тяжёлой пользовательской конфигурации появляются dropped frames, причина уже локализована: сначала нужно убрать дорогие шейдеры и фильтры, а не искать новый декодер.

MPV с экраном Frame Timings, показывающим этапы GPU-рендеринга

Почему не стоит копировать чужой идеальный mpv.conf целиком

Конфигурации MPV часто включают наборы масштабаторов, шейдеров, принудительный Vulkan или OpenGL, аппаратное декодирование конкретного типа, HDR-параметры и десятки условных профилей. Они могут быть хороши для компьютера автора и не подходить другому устройству. Например, шейдер, рассчитанный на масштабирование 1080p до 4K на дискретной видеокарте, бессмысленно применять к окну 1280×720 на ноутбуке.

Рациональный порядок настройки — начинать со штатных параметров, затем менять одну группу за раз: аппаратное декодирование, профиль качества, синхронизацию с дисплеем, цвет, субтитры, интерфейс. После каждого существенного изменения полезно смотреть статистику. Такая методика скучнее копирования большого файла, зато точно показывает, что улучшило воспроизведение, а что лишь увеличило нагрузку.

Аппаратное декодирование

MPV умеет использовать аппаратные декодеры через доступные системе API. На практике это особенно полезно для HEVC, AV1 и высоких разрешений, где программное декодирование может заметно нагружать процессор. Общая рекомендация — начинать с hwdec=auto. MPV попробует подходящий безопасный вариант и при невозможности может перейти к программному декодированию.

Аппаратное декодирование намеренно не следует считать обязательным ускорителем для любого файла. На некоторых сочетаниях драйвера, формата, фильтров и видеовывода оно ограничивает путь обработки, вызывает дополнительные копирования или ведёт себя хуже программного декодера. Поэтому переключение Ctrl+h между auto и отключённым режимом — отличный диагностический тест. Если проблема мгновенно исчезает без hwdec, нужно искать совместимый путь, а не компенсировать артефакты случайными фильтрами.

Статистика показывает, какой декодер фактически используется. Одной строки hwdec=auto в конфигурации недостаточно, чтобы гарантировать аппаратный режим: кодек может не поддерживаться GPU, профиль может быть слишком новым, драйвер — не предоставлять нужный интерфейс, а обработка — потребовать возврата к программному пути. Проверять нужно реальное состояние во время воспроизведения.

Диагностическая статистика MPV с указанием аппаратного декодирования и параметров видео

Когда аппаратное декодирование не помогает

Если загрузка CPU остаётся высокой после включения hwdec, это не обязательно означает отказ декодера. Значительную часть времени могут занимать программные фильтры, декодирование аудио, копирование кадров или работа CPU-шейдеров. Если же статистика явно показывает программный декодер, нужно проверить поддержку кодека графикой и наличие подходящего драйвера.

Артефакты, фиолетовое изображение, пропавший OSC или падения после принудительного выбора Vulkan/D3D11 — повод вернуть --no-config и стандартный видеовывод. Низкоуровневый API не стоит фиксировать только потому, что он теоретически современнее. Цель — стабильный вывод на конкретном оборудовании, а не максимальное число ручных параметров.

HDR, цветовое управление и tone mapping

MPV способен обрабатывать HDR-видео и преобразовывать его для разных возможностей дисплея. В GPU-выводе учитываются цветовые характеристики источника, целевое пространство и алгоритм tone mapping. Современный gpu-next предоставляет несколько алгоритмов, включая автоматический выбор и варианты для разных компромиссов между сохранением ярких областей, контрастом и цветовой насыщенностью.

Главная ошибка при настройке HDR — копировать фиксированные значения пиковой яркости и алгоритма без учёта дисплея. Один монитор действительно работает в HDR-режиме, другой принимает HDR-сигнал, но имеет небольшую фактическую яркость, третий используется в SDR. Если жёстко указать неподходящую целевую яркость, результат может стать слишком тёмным, выбеленным или перенасыщенным, хотя декодирование остаётся правильным.

Для начала разумно использовать автоматические параметры и корректно настроенный режим дисплея. Если результат требует ручной доводки, менять нужно по одной величине, отслеживая свойства входного потока и целевого вывода. ICC-профиль и управление цветом также имеют смысл только при понятной цепочке: случайный профиль другого монитора не улучшает точность, а вносит дополнительное преобразование.

Скриншоты HDR — отдельный случай. Изображение, сохранённое из цепочки вывода, может содержать другое преобразование, чем кадр, захваченный сторонней программой с экрана. Формат снимка, разрядность, теги цветового пространства и режим screenshot влияют на то, как файл затем открывается в просмотрщике. Поэтому сравнивать яркость двух снимков следует только после понимания их цветовых метаданных.

Синхронизация с дисплеем и интерполяция

MPV предлагает режимы video-sync, которые согласуют воспроизведение с частотой обновления дисплея. Один из практичных вариантов — display-resample, при котором плеер подстраивает тайминг, а аудио может слегка ресемплироваться для устойчивой синхронизации. Это особенно заметно на материале 23,976 кадра/с при дисплеях с другой частотой, где простая выдача кадров создаёт регулярный ритмический judder.

Интерполяция может создавать промежуточное распределение кадров во времени при display-режимах. Она управляется параметром interpolation и временным фильтром tscale. Эффект не следует путать с генерацией новых кадров нейросетью: задача MPV здесь — сгладить временное представление исходных кадров в соответствии с разверткой. В зависимости от материала это может уменьшить заметность неравномерности, но увеличивает нагрузку.

Режимы синхронизации чувствительны к тому, насколько точно система сообщает фактическую частоту дисплея. Переменная частота, композитор, драйвер или нестандартный multi-monitor setup могут давать неожиданный результат. Если после включения display-resample появились рывки, первый тест — отключить пользовательскую конфигурацию и проверить обычный режим. Затем можно вернуть синхронизацию без интерполяции и только потом добавлять её.

Как читать статистику синхронизации

Оверлей статистики показывает частоту видео, оцененную частоту дисплея, dropped frames, frame timings и показатели синхронизации. Ноль пропущенных кадров ещё не гарантирует визуально ровный вывод: возможны mistimed или delayed frames. И наоборот, единичный пропуск после перемотки не означает хроническую нехватку производительности. Смотреть нужно на поведение в стабильном фрагменте несколько десятков секунд.

Если проблема повторяется только в полноэкранном режиме, стоит проверить частоту дисплея, композитор и режим эксклюзивного/обычного окна. Если она появляется только с конкретным шейдером, виновата цепочка рендера. Если только с аппаратным декодированием — проверяется hwdec. Такой разбор намного эффективнее, чем менять одновременно video-sync, масштабатор, кеш, аудиодрайвер и GPU API.

Debanding и устранение полос на градиентах

Фильтр deband предназначен для уменьшения ступенчатых переходов на плавных градиентах — например, в небе, дыме, тёмных стенах или анимационных фонах. Клавиша b быстро включает и выключает эффект, что удобно для сравнения конкретной сцены. Фильтр анализирует соседние значения и сглаживает заметные границы квантования, при необходимости добавляя небольшой шум, чтобы скрыть полосы.

Сильный debanding не всегда лучше. Слишком агрессивные значения способны сгладить мелкие текстуры и детали, которые действительно присутствуют в видео. Поэтому штатные настройки или умеренный профиль обычно безопаснее экстремальных конфигураций. Если полосы появились из-за самого дисплея, неправильного цветового диапазона или последующего преобразования, deband может лишь замаскировать симптом.

Деинтерлейсинг

Клавиша d переключает deinterlace. Он нужен для чересстрочного видео, где поля записаны в разные моменты времени. На прогрессивном материале деинтерлейсинг не приносит пользы и может ухудшить резкость или создать лишнюю обработку. Определять необходимость лучше по свойствам источника и характерным гребёнкам на движущихся границах, а не держать фильтр включённым для всех файлов.

Старые телевизионные записи могут содержать смешанную структуру, телесин и нестандартные флаги. В таких случаях одного переключателя недостаточно для идеальной реставрации, но он позволяет быстро проверить, связаны ли артефакты с интерлейсом. Если материал предназначен для дальнейшего монтажа, лучше исправлять структуру в специализированной обработке, а MPV использовать для просмотра и контроля результата.

Скорость воспроизведения

MPV позволяет ускорять и замедлять воспроизведение без подготовки нового файла. Это полезно для лекций, подкастов с видеорядом, анализа спортивных эпизодов и проверки длинных записей. Изменение скорости затрагивает временную шкалу плеера: позиция движется быстрее или медленнее, а синхронизация аудио и видео сохраняется в рамках выбранного режима.

При заметном отклонении от единицы звук приходится дополнительно обрабатывать, чтобы изменение скорости не превращалось в простое повышение или понижение высоты тона. Качество такого преобразования зависит от аудиофильтров и величины изменения. Для умеренных значений результат подходит для просмотра, но экстремальное замедление не заменяет специализированную временную обработку аудио.

Скорость можно назначить на собственные клавиши через input.conf или задавать из консоли. Для повседневной работы удобно иметь команды медленнее, быстрее и вернуть 1.0. Именно сброс важен: после просмотра лекции на 1.5× легко забыть изменённое значение и решить, что следующий файл записан с неправильной частотой.

Снимки кадров

Скриншоты — штатная функция MPV, а не побочный захват экрана. Клавиша s сохраняет кадр с субтитрами, S — видео без субтитров, Ctrl+s — содержимое окна с OSD и субтитрами. Различие принципиально: для иллюстрации фильма обычно нужен чистый кадр, для фиксации диагностической информации — именно снимок окна со статистикой и экранными элементами.

Команда screenshot поддерживает флаги video, scaled, subtitles, osd и window. Режим video ориентирован на исходное видео после фильтров без интерфейса, scaled учитывает текущий размер воспроизведения, а window соответствует тому, что видно в окне вместе с наложениями. Поэтому одинаковый момент, снятый разными командами, может иметь разные размеры и состав изображения.

Формат задаётся параметром screenshot-format. Поддерживаются PNG, JPEG, WebP, JPEG XL и AVIF. JPEG используется как практичный вариант с небольшим размером, PNG подходит для кадров с текстом и интерфейсом, где нежелательны потери. Настройки высокой разрядности и тегирования цветового пространства особенно важны при HDR и широком цветовом охвате: файл без понятных метаданных может выглядеть иначе в стороннем просмотрщике.

Имена и папка для скриншотов

screenshot-template управляет шаблоном имени, а screenshot-directory — каталогом. Это полезно, когда MPV используется для разбора материала и за одну сессию сохраняются десятки кадров. Вместо стандартных последовательных имён можно включить в шаблон сведения о файле и времени. Конкретный набор форматных подстановок лучше выбирать по документации к используемой сборке, потому что символы шаблона обрабатываются самим MPV, а не оболочкой операционной системы.

Если параметр работает из командной строки, но даёт странный результат в ярлыке или .desktop-файле, следует проверить экранирование символов. Оболочка и формат ярлыка могут интерпретировать процентные знаки, обратные слеши и кавычки до того, как строку увидит MPV. В таких случаях надёжнее перенести постоянный шаблон в mpv.conf, где он разбирается непосредственно плеером.

Сетевые потоки и адреса

MPV умеет открывать прямые сетевые медиаресурсы, которые поддерживает его входной стек и FFmpeg: HTTP(S)-потоки, HLS, некоторые потоковые протоколы и другие адреса, если они указывают на воспроизводимый ресурс. Такой источник можно передать как аргумент или перетащить в окно, если оболочка передаёт адрес корректно. Для прямого потока внешний загрузчик сайта не нужен.

Страница видеосервиса и прямой медиа-URL — разные вещи. Если адрес ведёт на HTML-страницу, где реальный поток выбирается скриптами сайта, MPV использует встроенный ytdl hook и внешний yt-dlp либо совместимый youtube-dl. Плеер передаёт адрес этому инструменту, получает сведения о доступных потоках и затем воспроизводит выбранный медиаисточник. Поэтому ошибка на сайте часто не связана с декодером MPV.

Для ресурсов, меняющих способ выдачи видео, важно поддерживать внешний извлекатель в рабочем состоянии. Если локальный файл того же кодека воспроизводится, а адрес сайта внезапно перестал, первым кандидатом становится yt-dlp, а не видеодрайвер. Полезно также проверить, открывается ли прямой поток, если его удалось получить отдельно: это разделяет проблему извлечения адреса и проблему самого воспроизведения.

Выбор качества при работе через yt-dlp

Параметр ytdl-format позволяет передавать правило выбора формата внешнему извлекателю. Это удобно, если сайт предлагает несколько разрешений, кодеков и раздельные видео- и аудиопотоки. Однако жёсткое правило вроде только конкретный кодек и высота может сделать рабочий ролик недоступным, когда сайт перестроит набор форматов. Для универсальной конфигурации лучше избегать слишком узких ограничений.

ytdl-raw-options передаёт дополнительные параметры извлекателю. Это мощный, но уже продвинутый уровень: ошибки в его синтаксисе и несовместимые опции усложняют диагностику. Если воспроизведение через сайт сломалось, сначала стоит проверить MPV и yt-dlp с минимальными настройками, а затем возвращать пользовательские raw options.

Кеширование сетевого видео

Для сетевых источников MPV использует кеш демультиплексора. Параметр cache=auto включает его по эвристике там, где это имеет смысл. Объём и глубина можно регулировать через cache-secs, demuxer-max-bytes и связанные значения. Цель кеша — пережить краткие колебания сети, а не превратить любой нестабильный канал в непрерывный поток.

cache-pause позволяет приостанавливать воспроизведение, когда данных недостаточно, и продолжать после заполнения буфера. cache-pause-wait задаёт, сколько данных ждать перед возобновлением. Увеличение буфера помогает при периодических провалах, но повышает память и не исправляет ситуацию, когда средняя скорость соединения ниже битрейта видео.

Если поток регулярно заикается, сначала нужно понять, что именно не успевает. В статистике и журнале можно увидеть состояние кеша и dropped frames. Если кеш пустеет — проблема в поступлении данных. Если кеш заполнен, но кадры пропускаются — сеть уже не главный подозреваемый, следует проверять декодирование и рендеринг. Это различие экономит много времени.

Кеш на диске

MPV умеет использовать дисковое кеширование в соответствующих режимах, но оно не равно полноценному менеджеру загрузок. Кеш создаётся ради воспроизведения и может иметь иной жизненный цикл, чем обычный загруженный файл. Если цель — гарантированно сохранить сетевой ролик как самостоятельный архивный материал, лучше использовать инструмент, предназначенный для загрузки, а не рассчитывать на временный кеш плеера.

Запись и сохранение части потока

В MPV присутствуют механизмы stream-record и dump-cache, позволяющие записывать поток или выгружать уже закешированный участок. Их стоит рассматривать как специальные команды, а не как замену видеозахвату и монтажу. stream-record работает с данными потока в рамках возможностей демультиплексора; он не обязан сохранять всё, что визуально получилось после GPU-фильтров.

dump-cache полезен для небольших фрагментов, уже попавших в кеш, но операция имеет ограничения и при больших объёмах может на время блокировать работу плеера. Для регулярного извлечения больших сегментов надёжнее использовать специализированные средства обработки медиапотоков. Сильная сторона MPV здесь — возможность быстро сохранить нужный кусок в исследовательском сценарии, а не полноценный рекордер.

Продолжение просмотра и watch later

MPV может запоминать позицию и часть изменённых параметров, чтобы вернуться к ним при следующем открытии файла. Верхняя Q завершает воспроизведение с сохранением watch-later, а save-position-on-quit позволяет сделать сохранение позиции обычным поведением при выходе. Затем resume-playback отвечает за восстановление.

Запись watch-later связана с конкретным источником и хранится отдельно от самого видео. Это удобно для длинных фильмов, курсов и сериалов, но папку состояния стоит учитывать при переносе настроек между компьютерами. Если MPV внезапно стартует не с начала, нужно проверить, не включено ли автоматическое сохранение позиции и не осталась ли запись watch-later.

watch-later-options определяет, какие изменённые свойства сохранять вместе с позицией. Не стоит бездумно расширять этот список: если сохранить временную коррекцию яркости, зум или необычный язык дорожки, при следующем запуске можно забыть, откуда взялось изменение. Для большинства пользователей достаточно позиции и небольшого числа действительно нужных состояний.

История воспроизведения

Функция watch history отличается от продолжения конкретного файла. Она может хранить сведения о просмотренных источниках и использоваться встроенным меню истории. По соображениям приватности такой журнал не обязан быть включён по умолчанию. Если пользователь сознательно активирует save-watch-history, следует помнить, что список путей и адресов будет записываться на диск.

Для общего компьютера или чувствительных сетевых источников постоянная история может быть нежелательна. В таком случае лучше оставить её отключённой и использовать только watch-later для тех файлов, где нужен resume. Конфигурация MPV позволяет разделить эти сценарии вместо одного общего переключателя помнить всё.

Файл mpv.conf

mpv.conf — основной способ хранить постоянные параметры. В типичной пользовательской конфигурации строки имеют вид option=value, а комментарии начинаются с #. Имена параметров обычно совпадают с длинными ключами командной строки, только без начальных двух дефисов. Например, разовый --hwdec=auto превращается в постоянный hwdec=auto.

# пример умеренной базовой конфигурации
hwdec=auto
save-position-on-quit=yes
alang=rus,eng
slang=rus,eng
screenshot-format=png
osd-duration=1500

Этот пример не является универсальным лучшим конфигом. Он показывает синтаксис и несколько независимых задач: аппаратное декодирование, продолжение позиции, языковые предпочтения, формат снимков и длительность OSD. Каждую строку можно убрать без разрушения остальных. Именно модульность делает конфигурацию удобной для поэтапного изменения.

Где находится конфигурация

В Unix-подобной структуре пользовательский путь обычно расположен в ~/.config/mpv/. На Windows путь зависит от варианта установки, а для переносимой конфигурации можно создать каталог portable_config рядом с исполняемым файлом: тогда MPV будет брать пользовательские настройки оттуда. Это удобно для изолированного набора настроек, который перемещается вместе с программой.

Путаница возникает, когда одновременно существуют системный конфиг, пользовательский каталог и portable_config. Если изменение не действует, журнал запуска показывает, какие конфигурационные файлы реально прочитаны. Не стоит создавать одинаковые mpv.conf в нескольких местах и потом угадывать приоритет: лучше оставить один осознанный источник пользовательских параметров.

Приоритет параметров

Опция командной строки может переопределить значение из конфигурации для конкретного запуска. Это удобно для диагностики: не нужно редактировать рабочий файл, чтобы один раз выключить hwdec или выбрать профиль. Ещё чище использовать --no-config, если требуется полностью исключить пользовательские настройки.

Если одна и та же опция задаётся несколько раз, итог зависит от порядка и типа параметра. Для простого значения поздняя установка обычно заменяет раннюю, а списочные опции могут поддерживать операции append/remove. Поэтому длинный конфиг лучше организовывать по разделам и не дублировать одну настройку в разных концах файла.

Профили MPV

Профиль — именованный набор параметров, который можно включить одной командой. В MPV есть встроенные профили, включая fast и high-quality, а пользователь может создавать собственные секции в конфигурации. Такой подход удобен, когда один компьютер используется и для экономичного воспроизведения от батареи, и для качественного вывода на большом экране.

[battery]
profile-desc=Экономный режим
hwdec=auto
profile=fast

[cinema]
profile-desc=Просмотр на большом экране
profile=high-quality
save-position-on-quit=yes

Профили включаются явно через параметр profile или меню Profiles. Посмотреть, какие значения содержит встроенный профиль, можно через --show-profile=<имя>. Это лучше, чем воспринимать название как обещание результата: пользователь видит реальные параметры и понимает, что именно изменится.

high-quality повышает требования к рендерингу, а fast сокращает их. Разница не обязательно заметна на каждом ролике. Если видео уже выводится один к одному без масштабирования, тяжёлый upscale-фильтр просто не участвует. Поэтому выбирать профиль имеет смысл по фактической задаче и данным статистики.

Условные профили

Продвинутые конфигурации используют условные профили, которые включаются при определённых свойствах файла или сеанса. Например, отдельные параметры можно применять к высокому разрешению, определённому типу источника или полноэкранному режиму. Это мощный механизм, но сложные условия значительно увеличивают число скрытых причин, почему один файл воспроизводится иначе другого.

Если условные профили используются, каждому стоит дать ясное имя и короткую цель. При поиске неполадки нужно временно отключить их или запустить --no-config. Иначе пользователь видит только симптом — например, на 4K включается другой scaler — и может долго искать проблему в кодеке, хотя изменение активировал профиль.

Файл input.conf и собственные клавиши

input.conf задаёт привязки клавиш к командам MPV. Он нужен, когда стандартная раскладка неудобна, требуется команда с несколькими действиями или пользователь хочет одинаковые привычные клавиши на нескольких компьютерах. Каждая строка связывает ввод и команду, например изменение свойства, вызов скрипта или запуск меню.

# примеры пользовательских привязок
Ctrl+RIGHT seek 30
Ctrl+LEFT seek -30
Ctrl+1 set speed 1.0
Ctrl+2 set speed 1.25
Ctrl+3 set speed 1.5
F5 script-binding stats/display-page-1-toggle

При переназначении важно не забыть, что клавиша могла иметь штатное действие. Если новая привязка перекрывает его, старое исчезнет. Встроенный экран Key bindings помогает увидеть активные назначения, а исходный набор можно сверить с input.conf, поставляемым вместе с документацией проекта.

Команды допускают префиксы, управляющие OSD и повтором. Это позволяет, например, менять параметр без всплывающего сообщения или, наоборот, явно показывать новое значение. Такие детали полезны для аккуратной собственной раскладки: частая команда не должна каждый раз закрывать половину кадра крупным OSD.

Встроенная консоль

Клавиша обратного апострофа ` открывает консоль поверх видео, Esc закрывает её. Через консоль можно вводить команды MPV, менять свойства и проверять параметры без перезапуска. Это промежуточный уровень между горячей клавишей и постоянной конфигурацией: действие выполняется сейчас, но не обязано сохраняться.

Консоль удобна для эксперимента. Вместо редактирования mpv.conf, перезапуска и повторного поиска сцены можно изменить свойство на лету, посмотреть эффект и только после этого записать удачное значение. При сложной строке автодополнение помогает найти команды и свойства, но точный синтаксис всё равно имеет значение.

Если команда из консоли работает, а аналогичная строка из input.conf — нет, проблема обычно в привязке, экранировании или контексте клавиши. Если же команда не работает и в консоли, следует проверить имя свойства и допустимые значения. Такой раздельный тест быстро локализует ошибку.

MPV с пользовательской REPL-консолью поверх воспроизводимого видео

Статистика и диагностические экраны

i кратко показывает статистику текущего воспроизведения, а I оставляет её на экране до повторного переключения. В зависимости от страницы видны контейнер, видеокодек, аппаратный декодер, разрешение, частота кадров, pixel format, параметры цвета, битрейт, аудиоформат, число каналов, dropped frames и показатели синхронизации.

Статистика — не рейтинг качества. Высокий битрейт сам по себе не гарантирует хорошую картинку, а отсутствие dropped frames не доказывает идеальный frame pacing. Её задача — показать, что MPV реально делает. Если пользователь уверен, что работает аппаратное декодирование, но overlay показывает программный путь, это сразу меняет направление диагностики.

Отдельные страницы отображают File information и Key bindings. Поэтому при странном файле можно проверить метаданные без внешнего анализатора, а при конфликте клавиш — увидеть активные назначения. Встроенные экраны экономят время, особенно на системе с большим количеством пользовательских скриптов.

Frame timings и нагрузка рендера

Страница frame timings показывает время отдельных этапов GPU-обработки. Она полезна, когда проблема возникает только с тяжёлым scaler, shader или gpu-next. Если один этап стабильно занимает значительную часть бюджета кадра, это более предметная подсказка, чем общий процент загрузки GPU в системном мониторинге.

Порог зависит от частоты: при 60 кадрах/с на весь кадр приходится около 16,7 мс, при 120 — около 8,3 мс. Но не следует превращать эти числа в единственный критерий, потому что декодирование, очередь кадров, синхронизация и композитор тоже участвуют во времени вывода. Статистика MPV показывает именно его часть цепочки.

Пользовательские скрипты

MPV поддерживает скрипты, которые получают доступ к свойствам плеера, событиям и командам. На практике чаще всего используются Lua-скрипты; также поддерживается JavaScript-окружение, а нативные плагины возможны через соответствующий механизм. Скрипт может добавить горячие клавиши, собственный OSD, автоматические действия при загрузке файла, меню, историю, интеграцию с внешними инструментами или дополнительную логику плейлиста.

Обычная схема установки — поместить скрипт в каталог scripts пользовательской конфигурации. Параметры многих расширений хранятся в script-opts. Это разделение полезно: код обновляется отдельно, а персональные значения не приходится править внутри самого .lua-файла.

Скрипты обладают большими возможностями, поэтому их следует воспринимать как исполняемый код. Устанавливать неизвестный файл только ради красивого скриншота интерфейса неразумно. Надёжный сценарий — посмотреть исходный код, описание, список команд и совместимость, а затем добавлять расширение по одной штуке. Так проще понять, какой скрипт создал конфликт клавиш или замедлил запуск.

MPV с пользовательским нативным контекстным меню, добавленным cplugin-расширением

Сторонние OSC и предпросмотр миниатюр

Штатный OSC намеренно минимален, но скрипты позволяют заменить его другой панелью. Существуют компоновки с крупной шкалой, дополнительными кнопками, главами и подсказками. Если используется сторонний OSC, штатный обычно отключают через osc=no, чтобы две панели не накладывались друг на друга.

Предпросмотр кадра при наведении на шкалу также реализуется скриптами. Современный OSC имеет интерфейс для интеграции с совместимым thumbnailer, но сам по себе не обязан генерировать миниатюры. Поэтому инструкция включить одну опцию и получить YouTube-подобные превью неполна: нужен подходящий скрипт генерации, а одновременно ставить несколько thumbnailer-расширений не стоит из-за конфликтов и лишней нагрузки.

MPV со сторонним OSC и предпросмотром миниатюры при наведении на шкалу времени

Меню и расширения поверх MPV

Скрипты могут рисовать собственные списки плейлиста, поисковые поля и панели команд прямо поверх видео. Это по-прежнему управление MPV, но внешний вид определяется конкретным расширением. При оценке скриншотов важно отличать штатный OSC и встроенные select/menu-компоненты от стороннего интерфейса: возможности конкретного скрипта нельзя автоматически приписывать чистой установке MPV.

Такие расширения особенно полезны тем, кому нравится движок MPV, но требуется более визуальная навигация. Обратная сторона — дополнительная конфигурация и зависимость от совместимости скрипта. После серьёзного изменения API или встроенного меню расширение может потребовать обновления, тогда как базовые команды плеера продолжат работать.

IPC и внешнее управление

MPV предоставляет JSON IPC, через который другой процесс может отправлять команды, читать свойства и подписываться на события. Это основа многих внешних панелей, медиасистем и автоматизаций. В отличие от эмуляции клавиатуры IPC позволяет запросить точную позицию, название дорожки, состояние паузы и другие свойства, а затем изменить их программно.

Типичный сценарий: MPV запускается с IPC-сокетом, управляющая программа подключается к нему, отправляет команду get_property или set_property, получает ответы JSON и реагирует на события. Такой подход требует разработки, зато интерфейс и логика полностью отделены от ядра воспроизведения.

IPC-сокет не следует без необходимости делать доступным другим пользователям или сетевым узлам. Команды управления способны открывать файлы и выполнять разрешённые MPV действия. Для личной автоматизации достаточно локального канала с нормальными правами доступа.

libmpv и встраивание воспроизведения

Библиотека libmpv предоставляет C API для программ, которые хотят использовать возможности MPV внутри собственного интерфейса. Разработчик создаёт контекст, задаёт свойства, загружает источник, получает события и управляет окном вывода или рендер-контекстом. Это не функция, которую обычному зрителю нужно настраивать, но она объясняет, почему вокруг MPV существует много графических оболочек и специализированных проигрывателей.

Важно разделять ядро и оболочки. Интерфейс сторонней программы на libmpv может иметь медиатеку, настройки и кнопки, которых нет в самом MPV. Поэтому описание такой оболочки нельзя использовать как доказательство функции MPV. В этой статье речь идёт о возможностях самого плеера и его встроенных скриптовых компонентах.

Фильтры видео и аудио

MPV умеет строить цепочки FFmpeg/libavfilter и собственных фильтров. Они позволяют масштабировать, кадрировать, деинтерлейсить, менять формат пикселей, обрабатывать звук и выполнять другие преобразования во время воспроизведения. Фильтр добавляется в цепочку и работает до вывода, не переписывая исходный файл.

Главное ограничение — вычислительная стоимость. Несколько тяжёлых видеофильтров могут вернуть кадры из GPU в системную память, увеличить копирования и свести на нет выгоду аппаратного декодирования. Если после добавления vf резко вырос CPU или появились пропуски, нужно проверить, где теперь выполняется обработка.

Для постоянных фильтров удобны профили, а для временной проверки — консоль. Не стоит держать коррекцию цвета, crop или denoise глобально, если она нужна одному проблемному источнику. Воспроизведение должно как можно меньше изменять хороший материал без явной причины.

Настройка изображения горячими клавишами

Клавиши 1 и 2 меняют contrast, 3 и 4 — brightness, 5 и 6 — gamma, 7 и 8 — saturation. Эти корректировки выполняются только при видеовыводе, который поддерживает соответствующие свойства. Они полезны для быстрой проверки слишком тёмного или блеклого материала, но не являются инструментом цветокоррекции с контрольными приборами.

Если после случайного нажатия картинка выглядит необычно, стоит проверить эти свойства прежде, чем переустанавливать драйвер. Особенно легко незаметно изменить gamma или saturation на клавиатуре без цифрового блока. Для конфигурации, где эти клавиши не нужны, их можно переназначить или отключить.

Работа с главами, editions и дисковыми структурами

Файлы Matroska могут содержать главы и несколько editions, а дисковые источники — набор заголовков. MPV умеет показывать соответствующие списки через встроенное меню выбора. Главы используются как навигационные метки внутри одного материала; editions могут задавать альтернативную последовательность сегментов или версию фильма без отдельного файла.

Наличие этих структур зависит от контейнера. Если Page Up/Page Down ничего не делают, это не означает сломанную клавишу: в текущем источнике может просто не быть глав. Аналогично список editions появляется только там, где они реально присутствуют.

При сложных Blu-ray и DVD структурах результат зависит от доступных библиотек и того, как источник открыт. MPV — проигрыватель, а не полноценный авторинг-инструмент дисков: меню диска, защита и интерактивная логика могут иметь ограничения. Для обычного воспроизведения выбранного title и навигации по доступным главам возможностей обычно достаточно.

Низкая задержка

Встроенный профиль low-latency меняет ряд параметров, чтобы сократить буферизацию и задержку вывода. Он уменьшает аудиобуфер, ослабляет кеш-паузы, меняет анализ входа, синхронизацию и некоторые видеопараметры. Такой профиль нужен для потоков, где реакция важнее максимальной устойчивости буфера, а не для просмотра обычного фильма.

Снижение задержки почти всегда уменьшает запас прочности. Небольшой сетевой провал или задержка декодера быстрее превращаются в рывок. Поэтому включать low-latency глобально для всей медиатеки бессмысленно. Его стоит использовать для камер, интерактивных потоков и других источников, где дополнительные сотни миллисекунд действительно мешают.

Проблемы и способы диагностики

Надёжная диагностика MPV начинается не с поиска случайной магической строки, а с минимального воспроизводимого запуска. Команда mpv --no-config "файл" исключает пользовательский mpv.conf, привязки и большинство причин, связанных с кастомизацией. Если проблема исчезла, аппаратная часть и сам файл уже выглядят гораздо менее подозрительно.

Дальше параметры возвращают группами. Сначала аппаратное декодирование, затем видеовывод, синхронизацию, фильтры, шейдеры, скрипты. Это похоже на двоичный поиск: задача — найти минимальное отличие между рабочим и нерабочим состоянием. Такой подход быстрее полной переустановки и не уничтожает хорошие настройки.

Видео дёргается или пропускает кадры

Откройте статистику и посмотрите dropped frames, частоты и frame timings. Если загрузка рендера высока, временно включите profile=fast, отключите пользовательские шейдеры и интерполяцию. Если CPU занят декодированием, проверьте hwdec=auto и фактический декодер в overlay. Если с --no-config всё плавно, причина точно в пользовательской цепочке.

Не следует увеличивать сетевой кеш, когда воспроизводится локальный файл: это не влияет на производительность GPU. Точно так же бессмысленно менять hwdec, если статистика показывает стабильное декодирование, но огромные времена shader stage. Каждый показатель должен вести к конкретной части тракта.

MPV показывает чёрное, фиолетовое или искажённое изображение

Сначала запустите файл без конфигурации. Если картинка нормальная, отключите принудительный gpu-api, нестандартный vo, пользовательские shaders и hwdec. Подобные симптомы часто появляются на конкретном сочетании API и драйвера, поэтому возврат к автоматическому выбору — более содержательный тест, чем замена кодеков.

Если артефакт остаётся даже с --no-config, проверьте другой файл и другой кодек. Ошибка одного повреждённого источника не равна проблеме всего видеовывода. Для системной проблемы полезен журнал с повышенной подробностью, где видны выбранный GPU API, формат поверхности и ошибки инициализации.

OSC не появляется

Подвигайте мышью и нажмите Delete несколько раз, чтобы пройти состояния видимости. Проверьте, нет ли osc=no в конфигурации и не установлен ли сторонний OSC, который отключает штатный. Если используется необычная самостоятельно собранная версия, убедитесь в наличии Lua-поддержки.

Если панель есть, но невидима только при конкретном gpu-api, запустите --no-config и не принуждайте API. Случаи, где OSD ломается только при Vulkan, а с D3D11/OpenGL работает, указывают на путь рендера или драйвер, а не на настройку размера OSC.

Субтитры не загружаются автоматически

Проверьте, что файл субтитров находится в ожидаемом каталоге и имя совпадает с видео достаточно близко для текущего sub-auto. Для диагностики откройте субтитры вручную. Если вручную они работают, декодер субтитров исправен, проблема только в автоматическом поиске.

Не ставьте sub-auto=all как первую реакцию на один файл: в сериальном каталоге это может загрузить субтитры от всех эпизодов. Лучше привести имена к последовательной схеме или использовать более подходящий уровень сопоставления.

Субтитры идут раньше или позже

Для постоянного смещения используйте z/Z. Если к концу фильма ошибка становится больше, одна задержка не решит проблему. Тогда сравните длительность и частоту версий видео, для которых делались субтитры. Частая причина — субтитры рассчитаны на другой монтаж или другую частоту кадров.

Кириллица отображается неправильно

Если весь текст превращается в кракозябры, задайте правильный sub-codepage или перекодируйте файл в UTF-8. Если пропадают только отдельные символы, проверяйте шрифт. Эти два случая выглядят похоже только на первый взгляд и требуют разных исправлений.

Сайт не воспроизводится по URL

Проверьте, работает ли прямой медиаадрес и доступен ли yt-dlp. Страницы сайтов меняются чаще самого MPV, поэтому старый извлекатель может перестать находить поток. Если обычный сетевой HLS открывается, а страница сервиса нет, обновление видеодрайвера почти наверняка не относится к проблеме.

Уберите сложный ytdl-format и raw options на время теста. Жёсткое правило может требовать формат, которого больше нет у конкретного ролика. После успешного минимального запуска условия можно вернуть.

Сетевое видео периодически останавливается

Посмотрите состояние кеша. Если он регулярно опустошается, увеличьте cache-secs или допустимый размер, включите корректную паузу для дозаполнения. Но если соединение постоянно медленнее потока, более крупный кеш лишь отсрочит остановку. Тогда нужен меньший битрейт или более стабильный канал.

Звук есть, изображения нет

Проверьте, выбрана ли видеодорожка и не установлено ли vid=no. Затем тестируйте --no-config. Если проблема появляется только с аппаратным декодированием, отключите его. Если только с конкретным видеовыводом — вернитесь к автоматическому. Не начинайте со случайной установки codec pack: MPV использует собственную медиастековую сборку и такой пакет часто не влияет на его декодер.

Изображение есть, звука нет

Нажмите m, проверьте громкость и список Audio → Track. Убедитесь, что выбрано существующее устройство вывода. Если в контейнере несколько дорожек, переключитесь на другую. При ошибке конкретного аудиоформата журнал покажет, удалось ли открыть декодер и аудиоустройство.

Не работают горячие клавиши

Откройте экран Key bindings и проверьте активные привязки. Пользовательский input.conf или скрипт мог занять нужную комбинацию. Затем запустите без конфигурации: если штатная клавиша вернулась, конфликт находится в пользовательском вводе. На раскладках с отличающимися символами также важно понимать, какой key name получает MPV.

MPV каждый раз открывает файл не с начала

Проверьте save-position-on-quit и watch-later. Если продолжение не нужно, отключите автоматическое сохранение либо удалите конкретное сохранённое состояние штатным способом. Это не повреждение файла: позиция хранится отдельно.

После настройки HDR картинка стала слишком тёмной

Верните автоматический tone mapping и уберите фиксированные target peak и цветовые overrides. Проверьте, в каком режиме находится дисплей. Затем добавляйте ручные параметры по одному. Проблема HDR часто находится в несогласовании источника, MPV, композитора и экрана, поэтому одно правильное число яркости для всех мониторов не существует.

Скриншот не совпадает с тем, что видно в окне

Уточните используемую команду. s, S и Ctrl+s сохраняют разный состав. Для точного вида окна нужен режим window; для чистого исходного кадра — video или стандартный снимок без OSD. При HDR учитывайте формат, разрядность и цветовые теги.

Практические сценарии настройки

Универсальный плеер без лишней нагрузки

Для обычного просмотра стоит оставить автоматический видеовывод, включить hwdec=auto только если он действительно разгружает CPU, настроить языки и сохранение позиции. Не нужно начинать с ручного Vulkan, десятка shaders и интерполяции. Базовая конфигурация должна быть короткой и понятной, чтобы любой сбой можно было быстро связать с конкретной строкой.

hwdec=auto
alang=rus,eng
slang=rus,eng
save-position-on-quit=yes
screenshot-format=png

Слабый ноутбук или старый GPU

Первый кандидат — profile=fast, затем проверка hwdec=auto. Отключите interpolation, тяжёлые пользовательские shaders и избыточный deband. Если видео 4K выводится в маленьком окне, нет смысла тратить ресурсы на сложную цепочку, рассчитанную на большой экран. Следите за dropped frames, а не за формальным наличием качественных опций.

Качественный просмотр на мощном компьютере

Профиль high-quality — разумная отправная точка. После него можно оценить, нужен ли конкретному дисплею display-resample, interpolation и дополнительные шейдеры. Любое улучшение следует сравнивать на реальном масштабировании: если источник и экран совпадают по разрешению, преимущества upscale-алгоритма не проявятся.

Фильмы с несколькими переводами

Задайте alang и slang, но оставьте быстрый доступ к меню дорожек. Для комментариев, форсированных субтитров и необычных тегов ручной выбор всё равно понадобится. Если один сериал размечен последовательно, языковые предпочтения избавят от повторения одних и тех же действий в каждой серии.

Изучение языка

Используйте основную и вторичную субтитровые дорожки, A–B loop и изменение скорости. При необходимости поставьте скрипт предпросмотра или словарной интеграции, но держите его отдельно от штатной конфигурации. Для текстовых субтитров можно использовать функции выбора строк; графический PGS не предоставляет такой текст напрямую.

Проверка видео перед публикацией

Откройте статистику, проверьте разрешение, FPS, кодек, цветовые метаданные и dropped frames. Покадровым шагом оцените склейки, s/S сохраните контрольные кадры, а A–B loop используйте для повторного просмотра проблемного участка. MPV хорошо подходит для просмотра результата, но не заменяет анализатор контейнера там, где нужны все технические поля и валидаторы стандарта.

Просмотр сетевого потока

Начните с прямого адреса. Если это страница сайта, проверьте yt-dlp. Для нестабильной сети увеличьте кеш умеренно и оставьте cache-pause, чтобы плеер лучше переживал короткие провалы. Для интерактивной камеры, наоборот, большой буфер мешает; там уместен low-latency и более стабильный источник.

Покадровый выбор иллюстраций

Поставьте паузу, грубо перейдите к нужному фрагменту, затем используйте . и ,. Для изображения без надписей нажмите S, с субтитрами — s, для фиксации интерфейса и статистики — Ctrl+s. Задайте PNG и отдельный screenshot-directory, если кадров много.

Контейнеры, кодеки и реальные границы поддержки форматов

MPV опирается на FFmpeg и другие медиакомпоненты, поэтому открывает широкий набор распространённых контейнеров и кодеков: Matroska, MP4, WebM, MPEG-TS, аудиофайлы, изображения и многие потоковые форматы. На практике полезнее говорить не поддерживается ли расширение, а может ли текущая сборка демультиплексировать контейнер и декодировать дорожки внутри него. Один файл .mkv может содержать H.264, HEVC или AV1, разные аудиокодеки и несколько видов субтитров; расширение само по себе ничего не говорит о нагрузке и совместимости.

Если один файл с тем же расширением работает, а другой нет, нужно смотреть сведения о дорожках. Причиной может быть повреждённый индекс, редкий профиль кодека, необычная разрядность, аппаратно неподдерживаемый формат или ошибка самого контейнера. Установка случайного codec pack обычно не является первым решением для MPV: важнее увидеть сообщение декодера в журнале и проверить файл на штатной конфигурации.

То же относится к изображениям и аудио. MPV способен использовать изображение как видеоряд и воспроизводить файл только со звуком, но его интерфейс не превращается из-за этого в редактор фотографий или музыкальную библиотеку. Форматная гибкость нужна прежде всего для единого механизма воспроизведения и автоматизации.

OSD: сообщения поверх изображения

OSD отличается от OSC. OSC — интерактивная панель с кнопками и шкалой, а OSD — информационные надписи и полосы, которые MPV показывает после команд: новое значение громкости, позицию после перемотки, выбранную дорожку, статистику и другие состояния. Параметр osd-level задаёт общий уровень отображения, а osd-duration — длительность обычных сообщений в миллисекундах.

osd-on-seek определяет, что показывать во время перемотки: ничего, сообщение, полосу или их сочетание. Это удобно для разных сценариев. На телевизоре большая полоса позиции помогает ориентироваться с расстояния; при покадровой проверке она может закрывать нижнюю часть изображения, и тогда лучше оставить только короткое текстовое сообщение или убрать OSD для конкретной команды.

Шрифт, размер, границы, тени, выравнивание и поля OSD настраиваются независимо от субтитров. Не стоит пытаться уменьшить статистику только через общий osd-scale, если конкретный встроенный скрипт имеет собственные параметры оформления. OSC, stats и субтитры используют связанные, но не идентичные механизмы, поэтому нужное свойство выбирается по тому, какой элемент требуется изменить.

Как убрать мешающие сообщения

Для постоянного минималистичного режима можно уменьшить osd-level или отключить отдельную полосу. Но часто лучше управлять сообщениями на уровне привязки в input.conf: одна команда может выполняться с префиксом, подавляющим OSD, а другая — явно показывать результат. Например, незаметная коррекция панорамирования не обязана выводить крупный текст после каждого шага, тогда как переключение аудиодорожки полезно подтверждать названием выбранного трека.

Буфер обмена и быстрые операции с путями

На системах, где доступно свойство clipboard, MPV может получать текст из буфера и отдавать его скриптам и встроенным командам. Стандартная привязка Ctrl+v способна добавить скопированный путь или адрес в плейлист, если платформа поддерживает эту функцию. В меню Tools встречаются команды копирования пути, текста текущих субтитров и названия материала.

Копирование текста субтитров работает только там, где у плеера действительно есть текст. Графические дорожки DVD/PGS состоят из изображений, поэтому копировать субтитр не может magically превратить их в символы. Для такого источника потребуется OCR или сторонний скрипт с внешним распознаванием, и его возможности уже не следует приписывать штатному MPV.

Буфер обмена полезен и при отладке: можно быстро скопировать путь к проблемному файлу, вставить его в терминал и запустить с --no-config. Это уменьшает риск, что два теста случайно выполняются на разных файлах с похожими именами.

Журнал и вывод в терминал

При запуске из терминала MPV пишет статус воспроизведения и диагностические сообщения. Строка состояния показывает текущую позицию, длительность и A-V, а подробность можно увеличить параметрами журналирования. Для сложной проблемы полезнее сохранить лог в файл, чем переписывать одну строку ошибки: контекст инициализации показывает выбранный декодер, видеовывод, аудиоустройство, конфиги и причину fallback.

Лог особенно важен для ошибок, которые появляются только на одном компьютере. Сообщение не удалось открыть файл может означать неверный путь, недоступный сетевой ресурс, неподдерживаемый протокол или ошибку демультиплексора. По одному внешнему симптому эти случаи похожи, а журнал разделяет их по этапам.

При публикации журнала в открытом месте нужно помнить о приватности: в нём могут быть пути с именами пользователя, названия файлов, адреса потоков и параметры внешних инструментов. Перед передачей третьим лицам такие данные следует проверить и при необходимости удалить, не вырезая при этом саму техническую часть ошибки.

Командная строка как инструмент разовой проверки

Большинство параметров MPV имеют длинную форму --имя=значение. Это удобно для эксперимента: одну настройку можно применить к конкретному файлу, не меняя поведение остальных. Например, --profile=fast отвечает на вопрос, помогает ли облегчённый рендер, а --hwdec=no — исчезает ли проблема без аппаратного декодирования. После теста терминал закрывается, и постоянный конфиг остаётся прежним.

mpv --profile=fast "sample.mkv"
mpv --hwdec=no "sample.mkv"
mpv --video-sync=display-resample "sample.mkv"
mpv --osc=no "sample.mkv"

Нужно избегать длинной тестовой команды из двадцати опций. Если она сработала, будет непонятно, какая именно строка исправила проблему. Хороший диагностический запуск меняет одно предположение за раз и опирается на исходную точку --no-config.

Как поддерживать конфигурацию понятной

Файл настроек полезно делить комментариями на небольшие блоки: интерфейс, языки, видео, аудио, сеть, скриншоты, профили. Сложные экспериментальные строки лучше не оставлять без пояснения причины. Через несколько месяцев значение вроде принудительного gpu-api легко воспринимается как необходимое, хотя оно добавлялось для проверки одного драйверного сбоя.

Скрипты и их параметры следует держать в предназначенных каталогах, а не смешивать код расширения с основным mpv.conf. При обновлении скрипта это снижает риск потерять личные настройки. Если расширение больше не используется, лучше убрать и его файл, и связанные привязки: мёртвые команды в input.conf затрудняют понимание активной конфигурации.

Для переносимого набора настроек полезно сохранять только текстовые конфиги и проверенные скрипты, а не кеши и историю. Watch-later и history содержат состояние конкретной машины и пути к файлам; переносить их имеет смысл только если структура каталогов совпадает и пользователь действительно хочет продолжить старые позиции.

Что MPV не заменяет

У MPV нет полноценной медиатеки с каталогизацией коллекции, обложками, рейтингами и синхронизацией библиотеки как центральной функции. Плейлист решает очередь воспроизведения, но не превращается в менеджер тысяч фильмов. Для коллекции может понадобиться отдельный каталогизатор или оболочка.

MPV не является видеоредактором с таймлайном, многодорожечным монтажом, титрами и экспортом проекта. Фильтры применяются во время воспроизведения, A–B loop повторяет участок, а stream-record решает узкую задачу записи потока. Если требуется смонтировать ролик и получить новый мастер-файл, нужен редактор или транскодер.

Штатный интерфейс намеренно лаконичен. Пользователь, которому нужны постоянно видимые панели, дерево медиатеки и графические диалоги для каждого параметра, может предпочесть другой плеер или оболочку на libmpv. С другой стороны, минимальный GUI означает, что почти каждую важную функцию можно закрепить в конфиге и не проходить одинаковые диалоги снова.

Тонкая настройка требует понимания параметров. Это сильная сторона для опытного пользователя и одновременно барьер для новичка. Ошибка в одной строке способна изменить видеовывод для всех файлов, а большой набор сторонних скриптов создаёт конфликтующие клавиши. Поэтому дисциплина конфигурации для MPV важнее, чем для плеера с несколькими фиксированными переключателями.

Сравнение MPV с аналогами

ПрограммаЛучше подходит дляГлавное ограничение
MPVТочного управления воспроизведением, конфигураций, скриптов, GPU-рендеринга и автоматизацииМинимальный GUI требует привыкания и ручной настройки
VLC Media PlayerУниверсального воспроизведения через привычные меню, потоков и повседневных задач без подготовки конфиговГлубокие повторяемые настройки менее удобно описывать как компактный декларативный набор
MPC-BEКлассического оконного проигрывания на Windows с привычной панелью, фильтрами и подробными диалогамиОриентирован на Windows и менее удобен для кроссплатформенных конфигураций
MPC-HCЛёгкого просмотра на Windows с традиционным интерфейсом Media Player ClassicНет кроссплатформенного рабочего процесса MPV и его скриптовой модели
PotPlayerПользователей Windows, которым нужен насыщенный графический интерфейс и много настроек внутри менюБольшое число диалогов и привязка к Windows усложняют перенос одинаковой конфигурации
SMPlayerТем, кто хочет графическую оболочку с плейлистами и диалогами поверх мощного движка воспроизведенияЧасть поведения зависит от выбранного backend и настроек оболочки

Выбор зависит не от количества поддерживаемых кодеков, а от способа работы. MPV наиболее уместен, когда важно один раз описать поведение в конфигурации, управлять плеером клавиатурой или скриптами, точно видеть состояние рендера и переносить настройки между системами. VLC удобнее как самостоятельный универсальный GUI для человека, который не хочет редактировать конфиги. MPC-BE, MPC-HC и PotPlayer органичнее вписываются в традиционный Windows-сценарий. SMPlayer занимает промежуточную позицию: даёт графические панели, но часть возможностей определяется используемым движком.

Практический вывод

MPV лучше всего раскрывается как настраиваемый проигрыватель, где интерфейс не диктует рабочий процесс. Для обычного просмотра достаточно OSC и десятка базовых клавиш; для постоянных предпочтений служит mpv.conf; для собственного управления — input.conf; для расширений — скрипты; для интеграции — IPC и libmpv. Пользователь может остановиться на любом из этих уровней и не обязан превращать плеер в технический проект.

Оптимальная стратегия настройки — сохранить исходное рабочее поведение, добавить только необходимые параметры и проверять влияние каждой тяжёлой функции по статистике. hwdec=auto, профили fast и high-quality, выбор языков, watch-later, screenshot-настройки и несколько собственных клавиш закрывают большую часть практических задач. HDR, display-resample, interpolation, shaders и сложные условные профили имеет смысл подключать тогда, когда понятно, какую конкретную проблему они решают.

Если воспроизведение ломается, ключевой инструмент — минимальный запуск --no-config. Он отделяет проблему файла или системы от накопившейся кастомизации. После этого причины возвращаются по одной: декодирование, GPU-вывод, синхронизация, фильтры, скрипты. Такой метод соответствует самой архитектуре MPV и позволяет сохранить его главное преимущество — точный контроль без лишних постоянных элементов интерфейса.