# mpv (Русский)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Ссылки по теме

- MPlayer (Русский)

mpv — мультимедийный плеер, основанный на mplayer и mplayer2. Плеер поддерживает обширный набор видеоформатов, аудио- и видеокодеков и форматов субтитров. Всеобъемлющий (однако не исчерпывающий) список различий между mpv и вышеупомянутыми плеерами доступен тут.

## Установка

Установите пакет mpv из официальных репозиториев или mpv-gitAUR из AUR.

### Графические оболочки

mpv предоставляет элегантный интерфейс OSC, появляющийся при движении курсора. Однако, существуют также графические интерфейсы, рассчитанные на более обширную аудиторию:

- Baka MPlayer — мультимедийный плеер, основанный на libmpv. Qt 5.

  https://github.com/u8sand/Baka-MPlayer/ || baka-mplayer-gitAUR

- bomi — мощный и лёгкий универсальный мультимедиа проигрыватель. (Qt 5).bomi был ранее известен как CMPlayer.

  https://bomi-player.github.io/ || bomi-gitAUR, bomi-gitAUR

- Celluloid — простой интерфейс для mpv (GTK+ 3), бывший GNOME MPV.

  https://gnome-mpv.github.io/ || celluloid-gitAUR replaced by celluloid

- Deepin Movie — видеоплеер для рабочего окружения Deepin на основе mpv.

  https://www.deepin.org/en/original/deepin-movie/ || deepin-movie

- Kawaii-Player — аудио/видео и мультимедийный проигрыватель (на основе mpv) с возможностью трансляции с ПК на ПК (PC-to-PC), а также с функциями портативного медиасервера и сервера потокового вещания.

  https://github.com/kanishka-linux/kawaii-player || kawaii-playerAUR

- KittehPlayer — YouTube-подобный видеоплеер на основе Qt, QML и mpv.

  https://github.com/purringChaos/KittehPlayer || kittehplayer-gitAUR

- Media Player Classic Qute Theater — клон Media Player Classic, переписан на Qt и основан на mpv.

  https://gitlab.com/mpc-qt/mpc-qt || mpc-qtAUR, mpc-qt-gitAUR

- mpv — очень простой графический интерфейс для MPV. Может быть запущен с помощью `mpv --player-operation-mode=pseudo-gui`.

  https://mpv.io/ || mpv

- SMPlayer — мультимедийный плеер с дополнительным функционалом (CSS-темы, интеграция с YouTube и другое) (Qt 5). Может также использовать MPlayer в качестве альтернативы.

  https://www.smplayer.info/ || smplayer

- xt7-player-mpv — графическая оболочка на Qt/Gambas для MPV, обладающая богатым набором настраиваемых опций, включая фильтры и драйверы, поддержкой плагинов LADSPA, а также управлением библиотекой или плейлистом, YouTube, интернет-радио, подкасты, DVB-T и многое другое.

  https://github.com/kokoko3k/xt7-player-mpv || xt7-player-mpv-gitAUR

Примечание: Пакеты SMPlayer/bomi включают в себя также и сам mpv

## Настройка

Настройки mpv находятся в файлах `mpv.conf` (общие), `input.conf` (сочетания клавиш) и `lua-settings/osc.conf` (наэкранное меню). Полный список параметров доступен в mpv(1) или GitHub docs. Если не установлена переменная окружения `XDG_CONFIG_HOME`, будут использоваться файлы настроек пользователя, расположенные в каталоге `~/.config/mpv`. Системные файлы настроек располагаются в `/etc/mpv`.

### Пример файла input.conf

Скопировав следующее в `~/.config/mpv/input.conf`, можно добавить ряд полезных сочетаний клавиш в mpv, таких как поворот видео на 90 градусов, масштабирование и панорамирование.

    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

### mpv и управление PulseAudio/ALSA mixer'ом с версии 0.18.1

Данная опция применима только если вы используете pulseaudio с mpv (`-ao=pulse` или `ao=pulse` в `mpv.conf`) или если вы хотите управлять громкостью ALSA mixer с помощью mpv.

Добавьте следующее в `~/.config/mpv/input.conf`, чтобы изменять громкость приложения в PulseAudio / ALSA посредством клавиш в mpv (и наоборот):

    / add ao-volume -2
    SHIFT+* add ao-volume 2

Опционально измените клавиши громкости выше на любые другие.

## Скрипты

mpv поддерживает большое количество скриптов, которые расширяют его функциональность. В нем даже есть внутренние сочетания клавиш для Lua и Javascript (добавленные недавно).

Чтобы установить скрипты, поместите их в папку `~/.config/mpv/scripts/` (возможно, ее нужно будет сначала создать), после чего они будут автоматически загружены при запуске mpv (это поведение может быть изменено в настройках). Некоторые скрипты поставляются со своими собственными инструкциями по установке и настройке, обращайте на это внимание. Какие-то скрипты могут быть старыми, сломанными или уже не поддерживаться.

### Javascript

В связи с тем, что поддержка Javascript появилась относительно недавно, скриптов еще не очень много, но существует документация для всех, кто заинтересован создать свой.

### Lua

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

#### mpv-stats

mpv-stats (или просто stats) это Lua-скрипт, который выводит большое количество текущей статистики, показывающей состояние работы mpv в момент воспроизведения. Он очень полезен, чтобы убедиться, что ваше оборудование справляется с настройками, и для сравнения различных конфигураций. Т.к. он находится в активной разработке, вам может понадобиться установить mpv-gitAUR, чтобы использовать его.

#### mpv-webm

mpv-webm (или просто webm) это очень простой в использовании Lua-скрипт, который позволяет создавать webm ролики во время просмотра видео. Он многофункционален и не имеет никаких дополнительных зависимостей (полностью полагается на mpv).

## Советы и рекомендации

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

В отличие от mplayer и mplayer2, mpv имеет встроенную поддержку VA-API и VDPAU. Чтобы указать способ декодирования, запустите mpv с опцией `--hwdec='метод'`. Полный список всех доступных методов вы найдете в man-странице mpv(1), поискав описание опции `--hwdec=<api>`. Чтобы не указывать метод при каждом запуске mpv, добавьте опцию `hwdec='метод'` в ваш файл настроек.

Когда используется аппаратное декодирование, видеовывод (параметр `--vo='драйвер'`) должен быть равен `opengl` или `opengl-hq` (или `vdpau`, если указан `hwdec=vdpau`).

Если аппаратное декодирование недоступно, mpv автоматически переключится на программное декодирование.

Аппаратное декодирование включено по умолчанию для кодеков h264, vc1, wmv3, hevc, mpeg2video and vp9. Однако, можно указать кодеки вручную (например, `--hwdec-codecs=h264,mpeg2video`) или включить аппаратное декодирование для всех кодеков (`--hwdec-codecs=all`).

Совет:

- `hwdec=vaapi` должен использоваться с `profile=opengl` [1], если возможно (`opengl-hq` иногда приводит к сильным скачкам загрузки процессора при воспроизведении видео).
- Использование `vo=vaapi` с недавних пор не рекомендуется [2].

Подробную информацию вы можете найти на страницах options.rst и vo.rst.

### Высокое качество воспроизведения

Профиль `opengl-hq` это набор настроек, обеспечивающий высокое качество видео. Он использует видеодрайвер OpenGL и включает различные опции, избранные разработчиками mpv. Чтобы использовать его, укажите его в файле конфигурации.

    ~/.config/mpv/mpv.conf

    profile=opengl-hq

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

Если он приводит к низкой производительности, вы можете легко его отключить.

    ~/.config/mpv/mpv.conf

    profile=opengl-hq
    deband=no

Профиль `opengl-hq` по умолчанию использует фильтр масштабирования `spline36`, обеспечивая быстродействие и среднее качество видео. Для наилучшего качества стоит использовать `ewa_lanczossharp`, если ваше оборудование достаточно мощное.

    ~/.config/mpv/mpv.conf

    profile=opengl-hq
    scale=ewa_lanczossharp
    cscale=ewa_lanczossharp

### Воспроизведение с предыдущего места

Стандартной комбинацией клавиш для выхода из mpv с сохранением текущей позиции является `Shift+q`. Это можно изменить, добавив строку `quit_watch_later` в файл настроек сочетаний клавиш.

Чтобы всегда сохранять текущую позицию при выходе, запустите mpv с опцией `--save-position-on-quit` или добавьте `save-position-on-quit` в файл конфигурации.

### Звук слишком тихий

Установите параметр `softvol-max=значение` в вашем файле настроек на желаемый уровень, например `softvol-max=600`. Дополнительно (или вместо этого), вы можете воспользоваться компрессором аудиосигнала с `af=acompressor`.

### Быстрое переключение между соотношениями сторон

Начиная с версии 0.8.0, вы можете переключаться между соотношениями сторон, используя `Shift+a`.

Альтернативно, добавьте следующую строку в ваш файл `input.conf`:

    F2 cycle_values video-aspect "16:9" "16:10" "4:3" "2.35:1" "-1"

Теперь вы cможете переключаться между перечисленными соотношениями сторон по нажатию `F2`.

### Отрисовка на корневом окне

Запустите mpv с опцией `--wid=0 файл.mp4`. Таким образом mpv будет отрисован в фоне экрана (окне с идентификатором 0).

### Использование как плагин браузера

С помощью mozpluggerAUR mpv можно использовать для воспроизведения видео в поддерживаемых браузерах. Инструкции по настройке смотрите на странице Browser plugins#MozPlugger. Плагин в связке с пользовательским скриптом ViewTube позволяет использовать mpv для просмотра видео на различных сайтах, заменяя интегрированный в сайт плеер.

### Использование mpv для проигрывания музыки

Разработка скриптов Lua в mpv по состоянию на 30 ноября 2014 не имеет формальной документации, но есть примеры в TOOLS/lua из репозитория mpv. А в этой статье (англ.) представлен скрипт music.lua, в котором показано, как при помощи скриптов добавить функциональность в mpv, которая делает его удобнее в качестве проигрывателя музыки.

### Просмотр стримов

Смотрите Livestreamer.

## Устранение проблем

### Начальная отладка

Если у вас возникают проблемы с воспроизведением в mpv (или он совсем не работает), то первые три вещи, которые вы должны сделать, это:

1. Запустите mpv из командной строки. Там появится сообщение об ошибке.
   `$ mpv video.mkv`
2. Проанализируйте файл журнала mpv. В нем может быть тяжело разобраться, но если что-то сломалось, там вы сможете это увидеть.
   `$ mpv --log-file=./log video.mkv`
3. Запустите 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`, чтобы оставить композитинг включенным в полноэкранном режиме, так как повторное включение композитинга после выхода из полноэкранного режима может приводить к зависанию в течение определенного периода времени.

### Невозможно изменить громкость

Вращайте колесико мыши над значком громкости.

Categories:

- Video (Русский)
- Audio (Русский)
- Streaming (Русский)