mpv (Русский)
mpv — мультимедийный плеер, основанный на MPlayer и ныне неподдерживаемом mplayer2. Плеер поддерживает обширный набор видеоформатов, аудио- и видеокодеков и форматов субтитров. Всеобъемлющий (однако не исчерпывающий) список различий между mpv и вышеупомянутыми плеерами доступен здесь.
Установка
Установите пакет mpv из официальных репозиториев или mpv-gitAUR из AUR.
Графические оболочки
Смотрите List of applications/Multimedia#mpv-based.
Настройка
mpv поставляется с хорошими универсальными настройками по умолчанию, которые должны хорошо работать на компьютерах со слабыми/старыми видеокартами. Однако если у вас компьютер с более современной видеокартой, то mpv позволяет вам сделать много настроек для достижения лучшего качества видео (ограниченного только мощностью вашей видеокарты). Для этого нужно создать несколько конфигурационных файлов (по умолчанию они не существуют).
/etc/mpv/
, пользовательский — ~/.config/mpv/
(если переменная окружения XDG_CONFIG_HOME
не определена). Пользовательские настройки имеют приоритет над общесистемными, а параметры командной строки имеют приоритет над файлами настроек. Рекомендуется настройка под конкретного пользователя, поскольку это может потребовать некоторых проб и ошибок.Чтобы помочь вам начать работу, mpv предоставляет примеры конфигурационных файлов с настройками по умолчанию. Скопируйте их, чтобы использовать в качестве отправной точки:
$ cp -r /usr/share/doc/mpv/ ~/.config/
Основные настройки mpv находятся в файле mpv.conf
, сочетания клавиш — в input.conf
. Полистайте оба файла, чтобы получить представление о том, как они работают и какие варианты доступны.
Основные настройки
Добавляются в файл ~/.config/mpv/mpv.conf
.
Настройка субтитров
Включить нечёткий поиск:
sub-auto=fuzzy
Сделать субтитры полужирными для повышения читабельности:
sub-bold=yes
Настройки для более высокого качества
Это загружает опции OpenGL высокого качества при использовании vo=gpu
в качестве видеовыхода (по умолчанию). У большинства пользователей они работают без проблем, но они не включены по умолчанию, чтобы не создавать проблем для тех немногих пользователей, у которых они не работают:
profile=gpu-hq
Профиль gpu-hq
по умолчанию использует фильтр масштабирования spline36
для среднего качества и скорости. Для получения видео наилучшего качества в руководстве указано, что стоит использовать ewa_lanczossharp
, если ваше оборудование может работать с ним.
profile=gpu-hq scale=ewa_lanczossharp cscale=ewa_lanczossharp
Последние три опции немного сложнее. Первая опция делает так, что если аудио и видео рассинхронизируются, то вместо того, чтобы отбрасывать кадры видео, он передискретизирует аудио (небольшое изменение высоты звука часто менее заметно, чем отброшенные кадры). В mpv wiki есть подробная статья об этом под названием Display Synchronization. Оставшиеся две опции, по сути, делают движение более плавным на вашем дисплее, изменяя способ отображения кадров так, чтобы частота кадров источника лучше сочеталась с частотой обновления вашего дисплея (не путать с техникой SVP, которая фактически преобразует видео в 60 кадров в секунду). В mpv wiki есть подробная статья об этом под названием Interpolation, хотя она также широко известна как smoothmotion.
profile=gpu-hq scale=ewa_lanczossharp cscale=ewa_lanczossharp video-sync=display-resample interpolation tscale=oversample
video-sync=display-resample
может привести к ускорению видео.После этого можно сделать ещё много чего, но всё становится сложнее, требует более мощных видеокарт и находится в постоянном развитии. В качестве краткого обзора можно загрузить специальные шейдеры, которые выполняют экзотические техники масштабирования и повышения резкости, включая некоторые, которые используют глубинные нейронные сети, обученные на изображениях (как для реального мира, так и для анимированного контента). Чтобы узнать больше об этом, загляните в mpv wiki, особенно в раздел пользовательских шейдеров.
Существует также множество других вариантов, которые могут оказаться полезны. Стоит взглянуть на mpv(1). Также полезно запустить mpv из командной строки, чтобы проверить сообщения об ошибках в конфигурации.
Пользовательские профили
Можно создавать профили, которые по сути являются просто «группами опций», с помощью которых вы можете:
- Быстро переключаться между различными конфигурациями без необходимости переписывать файл.
- Создавать специальные профили для специального содержимого.
- объединять профили, чтобы из более простых профилей можно было создавать более сложные.
Создать профиль очень просто. Область в верхней части файла mpv.conf
называется верхним уровнем (top level), и все опции, которые вы туда запишете, вступят в силу после запуска mpv. Однако, как только вы определите профиль, написав его имя в квадратных скобках, все опции, которые вы напишете ниже него (пока вы не определите новый профиль), будут считаться частью этого профиля. Пример:
profile=myprofile2 #Верхний уровень, загрузка профиля myprofile2 ontop=yes #Поверх всех окон [myprofile1] #Простой профиль, верхний уровень заканчивается здесь profile-desc="a profile" #Опциональное описание профиля fs=yes #Запуск в полноэкранном режиме [myprofile2] #Другой простой профиль profile=gpu-hq #Загрузка встроенного в mpv профиля log-file=~~/log #Куда записывать журналы, ~~/ преобразуется ~/.config/mpv
В области верхнего уровня есть только две строки, а под ними определены два отдельных профиля. Когда mpv запускается, он видит первую строку, загружает опции из профиля myprofile2
(что означает, что он загружает опции из профиля gpu-hq
и опцию log-file=~~/log
), после этого он загружает опцию ontop=yes
и завершает запуск. Обратите внимание, что myprofile1 никогда не загружается, потому что он никогда не вызывается в области верхнего уровня.
Можно выбрать используемый профиль, запустив mpv из командной строки с опцией:
$ mpv --profile=myprofile1 video.mkv
и он будет игнорировать все опции, кроме описанных в профиле myprofile1
.
Сочетания клавиш
Сочетания клавиш задаются просто; смотрите примеры в /usr/share/doc/mpv/input.conf
и соответствующий раздел в руководстве.
Добавьте следующие примеры в ~/.config/mpv/input.conf
:
shift+s screenshot each-frame Shift+UP seek 600 Shift+DOWN seek -600 = cycle video-unscaled - cycle-values window-scale 2 3 1 .5 WHEEL_UP add volume 5 WHEEL_DOWN add volume -5 WHEEL_LEFT ignore WHEEL_RIGHT ignore Alt+RIGHT add video-rotate 90 Alt+LEFT add video-rotate -90 Alt+- add video-zoom -0.25 Alt+= add video-zoom 0.25 Alt+j add video-pan-x -0.05 Alt+l add video-pan-x 0.05 Alt+i add video-pan-y 0.05 Alt+k add video-pan-y -0.05 Alt+BS set video-zoom 0; set video-pan-x 0; set video-pan-y 0
Чтобы попытаться повторить сочетания клавиш из MPC-HC в mpv, смотрите [1].
Дополнительные файлы конфигурации
Кроме того, можно создать ещё несколько конфигурационных файлов и каталогов, среди которых:
-
~/.config/mpv/script-opts/osc.conf
управляет наэкранным меню (On Screen Controller). -
~/.config/mpv/scripts/имя-скрипта.lua
для скриптов Lua. Пример можно посмотреть здесь.
Смотрите https://mpv.io/manual/master/#files для более подробной информации.
Скрипты
mpv поддерживает большое количество скриптов, которые расширяют его функциональность. В нем даже есть внутренние сочетания клавиш для Lua и Javascript (добавленные недавно).
Чтобы установить скрипты, поместите их в папку ~/.config/mpv/scripts/
(возможно, ее нужно будет сначала создать), после чего они будут автоматически загружены при запуске mpv (это поведение может быть изменено в настройках). Некоторые скрипты поставляются со своими собственными инструкциями по установке и настройке, обращайте на это внимание. Какие-то скрипты могут быть старыми, сломанными или уже не поддерживаться.
JavaScript
JavaScript (ES5 через MuJS) поддерживается в качестве языка скриптов mpv с 2014 года. В связи с тем, что поддержка Javascript появилась относительно недавно, скриптов еще не очень много, но существует документация для всех, кто заинтересован создать свой.
Чтобы начать работу, поместите скрипт с расширением .js
в каталог scripts
, например:
~/.config/mpv/scripts/fullscreen-off-on-pause.js
function onPauseChange (prop, enabled) { if (enabled) { mp.set_property('fullscreen', 'no') } } mp.observe_property('pause', 'bool', onPauseChange)
Подробности, например об использовании require
для загрузки модулей CommonJS, можно почитать в документации.
Поддержка JavaScript есть как в пакете mpv, так и в некоторых пакетах из AUR, например mpv-fullAUR и mpv-full-gitAUR.
Lua
Скриптов на Lua для mpv достаточно много. Если хотите написать свой, соответствующая документация может быть найдена здесь. Также есть примеры в TOOLS/lua.
mpv-ytdlAutoFormat
mpv-ytdlautoformat — это Lua-скрипт для автоматического изменения ytdl-format для Youtube, Twitch или выбранных вами доменов на 480p или другое качество по вашему выбору.
mpv-stats
mpv-stats (или просто stats) это Lua-скрипт, который выводит большое количество текущей статистики, показывающей состояние работы mpv в момент воспроизведения. Он очень полезен, чтобы убедиться, что ваше оборудование справляется с настройками, и для сравнения различных конфигураций.
С версии v0.28.0 скрипт встроен в mpv и доступен по нажатию клавиши i
или I
(по умолчанию).
mpv-webm
mpv-webm (или просто webm) это очень простой в использовании Lua-скрипт, который позволяет создавать webm ролики во время просмотра видео. Он многофункционален и не имеет никаких дополнительных зависимостей (полностью полагается на mpv).
C
mpv-mpris
Плагин mpv-mpris позволяет другим приложениям интегрироваться с mpv через протокол MPRIS. Например, с установленным mpv-mpris kdeconnect может автоматически приостанавливать воспроизведение видео в mpv при поступлении телефонного звонка. Другой пример — кнопки (воспроизведение/пауза и т.д.) на аудиоустройствах bluetooth.
Для использования плагина установите пакет mpv-mpris.
Vapoursynth
Vapoursynth — это альтернатива AviSynth, которая может быть использована в Linux и позволяет манипулировать видео с помощью скриптов python. Python-скрипты Vapoursynth могут быть использованы в качестве видеофильтров для mpv.
Чтобы использовать фильтры vapoursynth, установите пакет vapoursynth (или vapoursynth-gitAUR) и скомпилируйте mpv с флагом сборки --enable-vapoursynth
.
Это проще сделать, сначала установив Vapoursynth, а затем установив (или переустановив, если он уже установлен) mpv-gitAUR. Конфигурационный скрипт для mpv-gitAUR автоматически определит Vapoursynth (если он уже установлен) и скомпилирует mpv с поддержкой Vapoursynth без необходимости вручную изменять какие-либо настройки (это также упрощает обновление mpv).
SVP 4 Linux (SmoothVideoProject)
SmoothVideoProject SVP — это программа, которая в первую очередь известна тем, что конвертирует видео в 60 кадров в секунду. Она бесплатная (но не свободная) и полнофункциональная для 64-разрядного Linux (версии для Windows и OS X платные, 32-разрядный Linux не поддерживается).
У неё есть три основные функции, и каждую из них можно отключить/включить по своему усмотрению.
- Интерполяция движения (видео на youtube) — алгоритм, который преобразует видео в 60 кадров в секунду. Это создает несколько спорный «эффект мыльной оперы», который одни любят, а другие ненавидят. К сожалению, алгоритм не идеален и иногда вносит странные артефакты. Алгоритм можно настроить (с помощью ползунка) как на производительность, так и на качество. Также есть настройки уменьшения артефактов, которые интерполируют реальные кадры с генерируемыми кадрами, уменьшая заметность артефактов. Определение частоты кадров можно установить в автоматическом или ручном режиме (ручной режим, похоже, решает проблемы производительности для некоторых пользователей).
- Подсветка чёрных полос (видео на youtube) — если изображение имеет соотношение сторон, которое приводит к появлению чёрных полос на вашем экране, то SVP подсветит чёрные полосы «светом», генерируемым на основе содержимого экрана. Эта функция имеет настройки, но значения по умолчанию довольно близки к оптимальным.
- Управление LED-подсветкой (видео на youtube) — Возможность управления светодиодной подсветкой, подключенной к телевизору.
После компиляции mpv с поддержкой Vapoursynth установите svpAUR, откройте программу SVP, чтобы она оценила производительность вашей системы (желательно закрыть другие программы, чтобы она получила точные данные), и, наконец, добавьте следующий профиль mpv в ваш mpv.conf[2]:
mpv.conf
[svp] input-ipc-server=/tmp/mpvsocket # Получение данных от SVP hr-seek-framedrop=no # Исправление рассинхронизации аудио resume-playback=no # Несовместимо с SVP # В некоторых случаях может устранить подвисания, в других случаях, возможно, вызывает их. Попробуйте в случае проблем. #opengl-early-flush=yes
Для использования программа SVP должна быть запущена в фоновом режиме. Теперь для запуска mpv либо используйте команду:
$ mpv --profile=svp video.mkv
Либо пропишите profile=svp
в верхний уровень настроек mpv.
Если вы хотите использовать аппаратное декодирование, то вы должны использовать copy-back декодер, поскольку обычные декодеры не совместимы с Vapoursynth (выберите опцию hwdec
, которая заканчивается на -copy
). Например:
hwdec=auto-copy hwdec-codecs=all
В любом случае, аппаратное декодирование не рекомендуется разработчиками mpv и вряд ли даст существенную разницу в производительности.
Советы и рекомендации
Аппаратное декодирование
Смотрите статью Аппаратное ускорение видео.
Аппаратное декодирование видео включается через опцию --hwdec=API
. Список всех поддерживаемых API и другие необходимые опции смотрите в соответствующем разделе руководства.
Чтобы была доступна программная обработка видеофильтрами, выберите API с именем, оканчивающимся на -copy
.
Для Wayland используйте опцию --gpu-context=wayland
. Список других доступных GPU API смотрите в руководстве.
Для решения проблем, связанных с аппаратным декодированием, может потребоваться настройка logging level. Например, --msg-level=vd=v,vo=v,vo/gpu/vaapi-egl=trace
включает следующее:
- Подробные (verbose) сообщения от модулей видеодекодера (
vd
) и видеовывода (vo
). - Ещё более подробные (trace) сообщения для модуля, отвечающего за декодирование видео. Здесь, после однократного запуска mpv без каких-либо настроек уровней журнала, эмпирически было определено, что интересующий нас модуль —
vo/gpu/vaapi-egl
.
Воспроизведение с предыдущего места
Стандартной комбинацией клавиш для выхода из mpv с сохранением текущей позиции является Shift+q
. Это можно изменить, добавив строку quit_watch_later
в файл настроек сочетаний клавиш.
Чтобы всегда сохранять текущую позицию при выходе, запустите mpv с опцией --save-position-on-quit
или добавьте save-position-on-quit
в файл конфигурации.
Звук слишком тихий
Установите параметр volume-max=значение
в вашем файле настроек на желаемый уровень, например volume-max=150
, что более чем в два раза громче. Слишком сильное увеличение громкости может привести к клиппингу. Дополнительно (или вместо этого), вы можете воспользоваться компрессором аудиосигнала с af=acompressor
.
Выбор аудиовывода
Следующая команда покажет список доступных устройств для вывода аудио:
$ mpv --audio-device=help
Добавьте нужное устройство в ~/.config/mpv/mpv.conf
, например:
audio-device=alsa/hdmi:CARD=NVidia,DEV=1
HD Audio passthrough
Чтобы включить прямую передачу (passthrough) HD аудиокодеков, таких как TrueHD и DTS-MA, на AV-ресивер, добавьте следующее в ~/.config/mpv/mpv.conf
audio-spdif=ac3,eac3,dts-hd,truehd
Более высокое качество звука при просмотре ускоренного контента
Если вы регулярно просматриваете ускоренный контент, используйте следующий фильтр для улучшения качества звука:
af=scaletempo2
Нормализация громкости
Разные источники могут иметь разную или непостоянную громкость, поэтому может потребоваться настройка автоматической нормализации громкости. Например:
~/.config/mpv/input.conf
n cycle_values af loudnorm=I=-30 loudnorm=I=-15 anull
Это настраивает клавишу n
на переключение настроек аудиофильтра (af) по указанным значениям:
-
loudnorm=I=-30
: настройка громкости с I=-30, мягкая громкость, может подойти для фоновой музыки -
loudnorm=I=-15
: более громкий звук, может подойти для просматриваемого видео -
anull
: отключение аудиофильтра
af=loudnorm=I=-30
в основной файл настроек.Фильтрация звука в mpv обеспечивается бэкендом FFmpeg. Смотрите Wikipedia:EBU R 128 и ffmpeg loudnorm filter для подробностей.
Смотрите также [3] и [4], где упоминаются различные опции.
Воспроизведение DVD
mpv не поддерживает меню DVD. Чтобы запустить основной поток с самым длинным заголовком видео DVD, используйте команду:
$ mpv dvd://
Необязательный спецификатор title — это число (начиная с 0), которое позволяет выбрать видеопоток на DVD:
$ mpv dvd://[title]
DVD, которые были скопированы на локальную файловую систему (например, с помощью dvdbackup), можно использовать, указав путь к локальной копии: --dvd-device=ПУТЬ
.
Можно использовать такой ярлык для просмотра DVD с локальной файловой системы:
[Desktop Entry] Type=Application Name=mpv Media Player DVD Name[ru]=DVD-проигрыватель mpv GenericName=Multimedia player Comment=Play movies and songs Comment[ru]=Воспроизвести фильмы и музыку Icon=mpv Exec=mpv dvd:// --player-operation-mode=pseudo-gui --force-window --idle --dvd-device=%f Terminal=false Categories=AudioVideo;Audio;Video;Player;TV; # (MimeType и X-KDE-Protocols опущены, смотрите оригинальный файл mpv.desktop)
Если заменить строку Exec на
Exec=mpv dvd://0 dvd://1 dvd://2 dvd://3 dvd://4 dvd://5 dvd://6 dvd://7 dvd://8 dvd://9 --player-operation-mode=pseudo-gui --force-window --idle --dvd-device=%f
то плеер mpv поместит в плейлист DVD title с 0 по 9, что позволяет пользователю воспроизводить их последовательно или переходить по ним вперёд и назад с помощью графического интерфейса mpv.
Установите libdvdcss для исправления следующей ошибки:
[dvdnav] Error getting next block from DVD 1 (Error reading from DVD.)
Быстрое переключение соотношений сторон
Используйте сочетание клавиш Shift+a
.
Игнорирование соотношения сторон
Используйте опцию --keepaspect=no
или добавьте keepaspect=no
в файл настроек.
Отрисовка на корневом окне
Запустите mpv с опцией --wid=0 файл.mp4
. Таким образом mpv будет отрисован в фоне экрана (окне с идентификатором 0).
Всегда отображать окно приложения
Чтобы окно отображалось даже при воспроизведении аудио при запуске mpv через командную строку, используйте опцию --force-window
. Чтобы сделать это постоянным, добавьте force-window=yes
в файл настроек.
Отключение вывода видео
Используйте --vid=no
или псевдоним --no-video
.
Восстановление старого OSC
С версии 0.21.0 в mpv экранные элементы управления заменены на нижнюю панель. Если вы хотите вернуть старое экранное управление, вы можете отредактировать настройки mpv как описано здесь.
Использование как плагин браузера
С помощью mozpluggerAUR mpv можно использовать для воспроизведения видео в поддерживаемых браузерах. Инструкции по настройке смотрите на странице Browser plugins#MozPlugger. Плагин в связке с пользовательским скриптом ViewTube позволяет использовать mpv для просмотра видео на различных сайтах, заменяя интегрированный в сайт плеер.
Для HTTP-стриминга может понадобиться указать корректный user agent, например user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0"
.
Другие способы просмотра видео описаны в статье Browser plugins#Multimedia playback.
Использование mpv для проигрывания музыки
В этой статье (англ.) представлен скрипт music.lua, в котором показано, как при помощи скриптов добавить функциональность в mpv, которая делает его удобнее в качестве проигрывателя музыки.
Просмотр стримов Twitch.tv через mpv
Если установлен youtube-dl, mpv сможет напрямую показывать стримы Twitch.
Другой вариант — Streamlink#Twitch.
Ещё один вариант, основанный на Livestreamer — этот Lua-скрипт: https://gist.github.com/ChrisK2/8701184fe3ea7701c9cc
youtube-dl и выбор формата
Значение --ytdl-format
по умолчанию — bestvideo+bestaudio/best
. Для видео youtube с разрешением 4K это может означать, что ваше устройство будет пытаться программно декодировать 4K VP9 видео, даже если подключенный монитор имеет гораздо меньшее разрешение.
Установка правильных селекторов формата youtube-dl поможет исправить эту ситуацию. В следующем примере будут рассматриваться только видео с вертикальным разрешением 1080 пикселей или меньше.
ytdl-format="bestvideo[height<=?1080]+bestaudio/best"
Если вы хотите полностью избежать определённого кодека из-за невозможности его аппаратного декодирования, вы можете добавить это в селектор форматов. Например, мы можем дополнительно выбрать игнорирование VP9 следующим образом:
ytdl-format="bestvideo[height<=?1080][vcodec!=vp9]+bestaudio/best"
Если вы предпочитаете открытые кодеки наилучшего качества (VP9 и Opus), используйте:
ytdl-format="((bestvideo[vcodec^=vp9]/bestvideo)+(bestaudio[acodec=opus]/bestaudio[acodec=vorbis]/bestaudio[acodec=aac]/bestaudio))/best"
Поиск аудио с youtube-dl
Добавьте следующую функцию в .bashrc
, и с помощью команды yta поисковый запрос
вы сможете воспроизвести первый результат поиска на YouTube:
function yta() { mpv --ytdl-format=bestaudio ytdl://ytsearch:"$*" }
Воспроизводимые скриншоты
Опция шаблона имени файла может включать точный временной код (HH:MM:SS.mmm) кадра скриншота. Содержательное имя файла позволяет легко определить происхождение скриншота. Оно задаётся следующим образом:
~/.config/mpv/mpv.conf
screenshot-template="%F - [%P]v%#01n"
В результате будут получаться имена в формате имя - [HH:MM:SS.mmm]vномер.jpg
, например:
Gunsmith Cats/ ├── Gunsmith Cats - 01 - [00:00:50.217]v1.jpg ├── Gunsmith Cats - 01 - [00:22:55.874]v1.jpg ├── Gunsmith Cats - 02 - [00:12:09.729]v1.jpg ├── Gunsmith Cats - 02 - [00:12:09.729]v2.jpg ├── Gunsmith Cats - 02 - [00:15:05.778]v1.jpg └── Gunsmith Cats - 03 - [00:03:20.001]v1.jpg
Бонусом является хорошая сортировка, поскольку в алфавитном порядке таймкод сортируется с учётом номера эпизода.
Создание одного скриншота
Чтобы создать один скриншот по указанному времени (HH:MM:SS
):
$ mpv --no-audio --start=00:01:30 --frames=1 /путь/к/видео/файлу --o=/путь/к/скриншоту.png
Вывод в терминал (libcaca)
Поддержка libcaca была отключена из-за уязвимостей (смотрите FS#70962). Если она вам нужна, установите mpv-cacaAUR.
Решение проблем
Начальная отладка
Если у вас возникают проблемы с воспроизведением в mpv (или он совсем не работает), то первые три вещи, которые вы должны сделать, это:
- Запустите mpv из командной строки (флаг -v включит более подробный вывод). Там может оказаться информативное сообщение об ошибке.
$ mpv -v video.mkv
- Проанализируйте файл журнала mpv. В нём может быть тяжело разобраться, но если что-то сломалось, там вы сможете это увидеть.
$ mpv -v --log-file=./log video.mkv
- Запустите mpv со стандартными настройками. Если воспроизведение заработает, то проблема где-то в вашем файле конфигурации (возможно, ваше оборудование недостаточно мощное для таких настроек).
$ mpv --no-config video.mkv
Если mpv запускается, но не работает достаточно хорошо, то четвертая вещь, на которую стоит обратить внимание - установить скрипт mpv-stats и использовать его для отладки работы плеера.
Исправление отрывистого воспроизведения и разрыва кадров
По умолчанию mpv использует настройки вывода OpenGL на аппаратном обеспечении, которое их поддерживает. В таких случаях, как попытка воспроизведения видео на 4K-дисплее с использованием карты Intel HD4XXX или аналогичной, вы обнаружите, что воспроизведение видео отрывистое, вплоть до того, что местами может останавливаться совсем, и с разрывами кадров при использовании любых параметров opengl. Если у вас возникают какие-либо из этих проблем, использование видеовывода XV (XVideo) может помочь:
~/.config/mpv/mpv.conf
vo=xv
Это VO устарело и вызовет проблемы в последних версиях mpv. В частности, наэкранное меню может выглядеть размытым.
Можно увеличить производительность воспроизведения еще больше (особенно на более слабом оборудовании), но в большинстве случаев это значительно снижает качество видео.
Следующие параметры можно попробовать, чтобы улучшить производительность воспроизведения:
~/.config/mpv/mpv.conf
vd-lavc-fast vd-lavc-skiploopfilter=<skipvalue> vd-lavc-skipframe=<skipvalue> vd-lavc-framedrop=<skipvalue> vd-lavc-threads=<threads>
Проблемы с композитными менеджерами
Композитные оконные менеджеры, такие как KWin или Mutter, могут вызвать проблемы в плавности воспроизведения. В таких случаях можно установить x11-bypass-compositor=yes
, чтобы mpv также отключил композитинг окон при воспроизведении в оконном режиме (если поддерживается композитным менеджером).
При использовании KWin и аппаратного декодирования вы также можете установить x11-bypass-compositor=no
, чтобы оставить композитинг включенным в полноэкранном режиме, так как повторное включение композитинга после выхода из полноэкранного режима может приводить к зависанию в течение определенного периода времени.
Невозможно изменить громкость
Вращайте колесико мыши над значком громкости.
Чёрный экран в GNOME (Wayland)
mpv может не приостановить настройки энергосбережения GNOME при использовании Wayland, что приводит к отключению монитора во время воспроизведения видео. Обходным решением является добавление gnome-session-inhibit
в начало строки Exec=
в mpv.desktop
.
Для блокировки хранителя экрана только во время воспроизведения можно использовать mpv lua скрипт, основанный на gnome-session-inhibit
.
Для flatpak-приложения io.mpv.Mpv
используйте этот mpv lua скрипт.
Использование mpv с композитором
Если вы используете композитор (например, в KDE Plasma 5) и обнаружили, что композитинг отключен (например, в Plasma из-за этого вы не можете увидеть миниатюры окон в стандартном переключателе приложений), когда mpv воспроизводит видео, попробуйте x11-bypass-compositor=no
Игнорируется тема курсора в GNOME Wayland
На Wayland клиенты могут отображать разные темы курсора, поскольку для них нет универсальной настройки. Для темы курсора приложения Qt обычно принимают значение, установленное в переменной окружения XCURSOR_THEME
. Однако в случае с mpv отображаемая тема курсора должна быть той, которая установлена в ~/.icons/default/index.theme
. Поскольку GNOME не обновляет этот файл при изменении темы курсора с помощью GNOME Tweaks, вам придётся сделать это вручную. Дополнительную информацию смотрите в разделе Темы курсора#Спецификация XDG.