Видео плеер mpv
2023-03-21
linuxОчень классный и минималистичный, а также кастомизируемый видеоплеер
Скачаваем
sudo pacman -S mpv
Можно запустить тест который будет показывать за что отвечает та или иная клавиша если вы её нажмете в mpv. Просто запустите mpv с данными параметрами
mpv --input-test --force-window --idle
# Минимально базовая настройка
-
Сохранять позицию воспроизведение при выходе
В
mpv.conf
прописываем# Сохранить позицию воспроизведение при выходе # Сохранять в директорию save-position-on-quit watch-later-directory=~/.config/mpv/watch_later
-
Управление громкостью колёсиком мыши
В
input.conf
прописываемAXIS_UP add volume 3 AXIS_DOWN add volume -3
# Разное
-
Показать статистику видео
Нажмите i чтобы она на секунду появилась или нажмите Shift + i чтобы включить на постоянку
# Запускать видео из браузера в mpv
ff2mpv - это полезное расширение для (Firefox, Chromium, Brave и т.д), позволяет легко запускать видео из браузера в mpv
Устанавливаем расширение на ваш браузер
Клонируем репо и выполняем конечную установку для вашего браузера
git clone https://github.com/woodruffw/ff2mpv
cd ff2mpv
./install.sh firefox
или ./install.sh chromium
Готово! Расширение теперь работает
# Просмотр онлайн торренты с озвучкой и оформленными субтитрами вместе через mpv
Цель этого метода:
Сделать так чтобы можно было просматривать онлайн торренты с 100gb+ с полным комфортом (если ваш инет это позволяет). Также плюсом этого метода заключается в том что нет необходимости качать видеофрагменты на диск. Качать можно только Сабы и Озвучку на диск, что является жирным плюсом
ВАЖНО: в
mpv.conf
должно быть прописано
# Автоматически подхватывать папку с аудио дорожкой при совпадении с названием видеоматериала-
audio-file-auto=fuzzy
# Автоматически подхватывать папку с субтитрами при совпадении с названием видеоматериала
sub-auto=fuzzy
Этапы:
- Первое что нужно сделать это скачать lua скрипт показанный в этом разделе
- Далее идём на любой трекер, находим BDRemux или Blue-Ray раздачу с высоким разрешением, с отдельными дорожками и сабами
- Качаем только отдельно субтитры и озвучку
- И копируем magnet ссылку
- После открываем терминал и вводим схоже с показанным
Вводим
mpv "magnet URL" -audio-file-paths="Путь к скачанной папке с озвучкой" -sub-file-paths="Путь к скачанной папке с субтитрами"
Как видно из этого output’а терминала (+) - значит что аудиодорожка и субтитры были добавлены
Если аудиодорожка не добавляется, попробуйте перекачать торрент с внешними дорожками и сабами
# Специальные оформленные шрифты
До
После
Они обычно вот так поставляются в торрент раздачах
Создаёте папку fonts (соблюдая регистр)
mkdir ~/.config/mpv/fonts
И закидываем всё из папки раздачи Fonts в ~/.config/mpv/fonts
. Проверяем,
всё должно сработать как показано на скринах До и После
К сожалению в mpv пока что нет похожей реализации как -audio-file-paths и -sub-file-paths
НО есть возможность с этим lua скриптом и версий mpv которая поддерживает опцию sub-fonts-dir (поддерживается только одна директория), если запустить на обычной версии mpv вылезает ошибка о несовместимости
[sub_fonts_dir_auto] This version of mpv does not support the sub-fonts-dir option
Возможно скоро появится такая опция
# Самые полезные Lua скрипты для mpv
Эти скрипты очень продвинут наш плеер, делая его более функциональным
Создайте папку scripts
cd ~/.config/mpv
mkdir scripts
В папку scripts мы будем помещать наши скачанные lua скрипты
После установки скрипта, проверьте его работоспособность в терминале
Введите mpv [путь к видео] и жмите enter, и чекайте терминал
# mpv_thumbnail_script.lua
mpv_thumbnail_script самый полезный, он отображает миниатюры на видео дорожке при перемещении курсора
Установка:
Скачиваем эти два файла и кидаем их в scripts
mpv_thumbnail_script_client_osc.lua
mpv_thumbnail_script_server.lua
Также необходимо в mpv.conf
перевести пункт osc (ибо как на пикриле скрипт
будет жаловаться)
osc=no
# Ускорение процесса
Если у вас мощный проц и он многопоточный, то мы можем сделать наш скрипт ещё быстрее.
Сделайте 2 mpv_thumbnail_script_server
но с цифрой в конце
Так мы увеличим скорость обработки миниатюр в видео
Готово!
# fuzzydir.lua
fuzzydir это рекурсивный поиск путей звуковых дорожек и субтитров вместо ручного их прописывания путей для каждой папки
Если вам надоело постоянно указывать директорию внешних аудиодорожек и субтитров
внутри которой присутствует множество разных, в конфиг файле mpv.conf
это
можно указать данными опциями
audio-file-paths="Sounds/AniLibria:Sounds/Crunchyroll:Sounds/Студийная Банда"
sub-file-paths="Subtitles/Anime Chap [ENG]:Subtitles/Crunchyroll:Subtitles/RikuSempaiStuff:Subtitles/YakuSub Studio"
Однако так лишь загромождает конфиг файл, и вводить это утомительно.
С данным скриптом закинутым в папку scripts можно просто добавить /**
в конце
audio-file-paths="Sounds/**"
sub-file-paths="Subtitles/**"
И всё что в папке Sounds рекурсивно будет добавлено в ваш плеер
# mpv-webtorrent-hook
mpv-webtorrent-hook позволяет
таскать URL magnet прямо в mpv и воспроизводить их, плюсом также можно таскать
.torrent
файл прямо в mpv и воспроизводить его не скачивая. Внешние сабы и
озвучка не подхватываются этим скриптом, только встроенные сабы и озвучка.
Поэтому аниме не посмотреть
Установка
Качаем необходимые пакеты
yay -S webtorrent-cli xidel
sudo pacman -S jq
Клонируем репо в папку scripts
cd scripts
git clone https://github.com/noctuid/mpv-webtorrent-hook.git
Запускаю mpv
Копирую и таскаю URL magnet (или .torrent) прЯмо в окно mpv, после чего выполняем действия показанные выше
И всё работает ^_^
Некоторые замечания:
- Бывает что при повторе mpv вылетает, хз с чем это связано но после ребута всё норм стало (либо не скачаны пакеты)
- Также в этом скрипте можно добавить свои опции создав конфиг файл, для подробностями сюда
# Смена директории кэша торрент файлов
Кэш автоматом будет удалятся когда плеер с webtorrent’ом открыт поэтому волноваться не стоит
Создаём конфиг файл и вставляем (я вписал свой hdd диск и всё в порядке)
nvim ~/.config/mpv/script-opts/webtorrent-hook.conf
# change download directory
download_directory=/media/webtorrentcache
# sponsorblock.lua
sponsorblock всеми любимое расширение для браузеров по блокировке спонсор блоков теперь в mpv, только вот работает оно только только при новом воспроизведении
Клонируем репозиторий sponsorblock, вытаскиваем папку sponsorblock_shared и скрипт sponsorblock.lua переместив их в папку scripts
SponsorBlock работает как через терминал mpv <URL>
так и простым перетаскиванием
видео напрямую открыв mpv
# youtube-quality.lua
mpv-youtube-quality выбирать
качество youtube через mpv на ctrl+f
Установка:
- Закидываем скрипт youtube-quality.lua
внутрь
~/.config/mpv/scripts/
- Редактируя скрипт заменяем на 164 строке с youtube-dl на yt-dlp по `совету от данного реддитора чтобы скрипт работал.
# autoload.lua
autoload позволяет запускать вместо одного медиафайла а разом несколько на очереди в текущей папке
Поддерживает:
- Аудио
- Видео
- Картинки (фиг знает зачем)
В данном конфиге я убрал автозагрузку изображений отредактировав скрипт закоментировав данные строки
# playlistmanager.lua
playlistmanager позволяет управлять плейлистом, воспроизводя треки из списка. Очень удобен при дополнительном использовании с mpv-webtorrent-hook
Просто копируем lua конфиг в scripts
Редактируем input.conf
и вставляем для активации менеджера
# Бинды для playlistmanager.lua
TAB script-binding showplaylist
Нажимает TAB и управляем стрелками
# reload.lua
reload Полезно когда онлайн-видео застряло во время буферизации или замедленного источника CDN, перезагрузка часто помогает. Этот скрипт обеспечивает автоматическую перезагрузку видео, у которых не было прогресса буфера для некоторого времени, сохраняя текущую позицию времени. Он также добавляет бинд Ctrl + r для перезагрузки видео вручную.
# pause-indicator.lua
pause-indicator Дайт всплывающий индикатор паузы и воспроизведения по середине, как в ютубе