- Видеоплеер MPV
- Установка MPV с графическим интерфейсом
- MPV и H.265 на проприетарном драйвере Nvidia
- Установка плеером по умолчанию
- Основные сочетания клавиш (по умолчанию)
- Ссылки
- mpv player — а как смотреть кино
- История
- Преимущества
- Установка
- Готовые пакеты
- Ubuntu
- CentOS
- Windows
- Android
- Сборка из исходников
- Просмотр фильма
- Использование CPU
- Использование GPU
- GUI для mpv
- Baka
- gnome-mpv
- SMPlayer
- Выводы
Видеоплеер MPV
Проектом MPV ведётся разработка нового открытого видеоплеера, построенного на основе ответвления от кодовой базы MPlayer2. Код проекта распространяется под лицензией GPLv3. «Из коробки» поддерживает аппаратное ускорение видео с помощью vdpau и vaapi.
Установка MPV с графическим интерфейсом
Из ppa-репозитория можно установить версию с графическим интерфейсом. Для установки достаточно добавить ppa в список репозиториев:
sudo add-apt-repository ppa:mc3man/mpv-tests
И установить из него плеер:
sudo apt-get update && sudo apt-get install mpv
Проигрывание видео из командной сроки осуществляется командой:
При отсуствии файла конфигурации — создайте его:
Далее приведите его к виду, соотвествующему вашей видеокарте.
#Запоминание позиции при выходе save-position-on-quit=yes #Запуск проигрывания в полноэкранном режиме fullscreen=yes #Выбор оптимального декодера hwdec=vdpau #Исправление проблемы с Windows-кодировкой субтитров subcp=enca:ru:utf8
#Запоминание позиции при выходе save-position-on-quit=yes #Запуск проигрывания в полноэкранном режиме fullscreen=yes #Выбор оптимального декодера hwdec=vaapi #Исправление проблемы с Windows-кодировкой субтитров subcp=enca:ru:utf8
MPV и H.265 на проприетарном драйвере Nvidia
Так как на момент последнего редактирования этого пункта (9 мая 2017 года) vdpau даже на самых новых видеокартах не умеет работать с профилями H.265, отличными от HEVC_MAIN, то для проигрывания таких файлов при помощи видеокарты можно использовать cuda-декодер. Для этого можно запускать mpv так
Или даже прописать в конфиг
Установка плеером по умолчанию
Для установки MPV плеером по умолчанию нужно перейти в Параметры системы → Сведения о системе → Приложения по умолчанию, а затем указать для Видео плеер MPV.
Основные сочетания клавиш (по умолчанию)
Ctrl + ← Ctrl + → — Предыдущие/следующие субтитры. Подлежит некоторым ограничениям и иногда может не работать.
. — Шаг вперед. Однократное нажатие приостановит воспроизведение. Последующие нажатия будут проигрывать по одному следующему кадру.
, — Шаг назад. Однократное нажатие приостановит воспроизведение. Последующие нажатия будут проигрывать по одному предыдущему кадру.
Q — Как q , но сохраняет текущую позицию. При повторном открытии файла воспроизведение по возможности будет начато с того места, где была нажата Q .
OSD — Всплывающая индикация, поверх видео, закрывающая небольшую часть экрана и выполняющая какие-либо функции, например отображающая информацию или даже позволяющая как-то взаимодействовать с программой. Не стоит путать её с Notify OSD — программой, разработанной Canonical для вывода каких-то информативных сообщений от приложений.
O — Переключает состояние OSD между нормальным и отображением прошедшего времени и общей продолжительности.
Ссылки
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2018 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
mpv player — а как смотреть кино
И вопрос «а как смотреть кино» для него давно уже закрыт.
Но прогресс не стоит на месте, появляется новый софт, новые подходы к обработке изображений, старые библиотеки получают обновления. Поэтому предлагаю взглянуть на один opensource проект, который получил широкое распространение в узких кругах:-)
Встречайте, mpv media player.
История
История mpv player начинается с 2012 года, когда группа энтузиастов решила делать свой вариант проигрывателя медиафайлов. Но начали делать не с нуля, а «форкнули» великий и могучий MPlayer, который на тот момент был стандартом «de facto» для просмотра видюшек в мире бесплатного софта. Иными словами взяли исходные коды MPlayer и на основе их начали строить свое приложение. В мире открытого софта это обычная практика и ничего зазорного в этом нет. Главное соблюсти все формальности с лицензионными соглашениями.
Mpv активно развивается. Следующая команда показывает нам, что за 2 неполных месяца с начала года было сделано 248 commit’ов, что косвенно указывает на активную разработку. Самая свежая стабильная версия датируется 14/02/2018.
git clone https://github.com/mpv-player/mpv.git git log --since="2018-01-01" | egrep "Author:" | wc -l
MPlayer уже давно не выпускал обновлений (последняя стабильная версия датируется 16/02/2016). В девелоперской ветке идут какие-то движения, но не так активно, как хотелось бы:
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer svn log --limit 100 | egrep 2018 | wc -l 8 commit'ов
Преимущества
Основным преимуществом mpv для меня являются:
- поддержка всевозможных видеоформатов (все кодеки берутся из FFmpeg);
- нет необходимости устанавливать приложение (скачал файл и сразу пользуйся);
- поддержка видеоускорителей;
- работа с Vaporsynth ( об этом позже);
- поддержка Linux и Windows;
- поддержка пользовательских скриптов (интерфейс, видеофильтры, статистика);
Ну и как бонус, внушающий доверия и придающий весомости и серьезности всему проекту это библиотеки. Mpv по сути является framework’ом поэтому пользователю предоставляется не только возможность скачать player и смотреть фильмы, но и воспользовавшись библиотеками написать свой media player (кстати, многие так и поступили). а потом продать его.
Установка
Установка MPV ничем не отличается от установки других медиаплейеров. Можно устанавливать готовые пакеты (Linux, Windows), а можно и собрать из исходников.
Готовые пакеты
Ubuntu
Установка в Ubuntu не вызывает никаких вопросов. Последовательность действий стандартная: добавили репо, проапдейтили, установили пакет.
sudo add-apt-repository ppa:mc3man/mpv-tests sudo apt-get update sudo apt-get install mpv
CentOS
Те же действия и в CentOS:
yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm yum update yum install vlc smplayer ffmpeg mpv
Windows
MPV под Windows распространяется в виде исполняемого файла и нескольких вспомогательных библиотек. Установщика как такового нет. Ничего инсталлировать не нужно. Скачиваем необходимую сборку с этой страницы: https://mpv.srsfckn.biz/. И сразу же можно смотреть кино:
Просто запустите mpv.exe и в появившееся окно перетащите мышкой файл с фильмом.
Android
Mpv имеет свой порт под Android. Скачать приложение можно с Play Market:
Сборка из исходников
Тут самое интересное 🙂 MPV зависит от нескольких пакетов, например FFmpeg и libass. Прежде чем собрать MPV придется сначала собрать и установить в системе зависимости. А потом зависимости зависимостей и так далее. Это же Linux 🙂 Чтобы не возиться с этим можно скачать из сети сборочный скрипт, который сам все это сделает (ну почти все).
Но до скрипта, необходимо установить NVidia драйверы и SDK. Это только в том случае если вы хотите просматривать фильмы с использованием gpu.
Качаем самый свежий SDK для вашей платформы:
И затем запускаем инсталлятор, который все сделает сам:
Качаем скрипт с github, о котором я говорил выше и который поможет нам со сборкой mpv из исходников:
git clone https://github.com/mpv-player/mpv-build.git
Скрипт сам «подтянет» необходимые зависимости, но что-то придется установить самостоятельно:
sudo apt-get install autoconf automake libfribidi-dev libasound2-dev libegl1-mesa-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libgl1-mesa-dev libtool libx11-dev libxext-dev libxinerama-dev libxrandr-dev libxv-dev pkg-config python x11proto-core-dev nasm yasm libxss-dev
Переходим в папку mpv-build
И запускаем процесс сборки на 4-х ядрах:
Во время сборки скрипт выкачивает самые свежие версии библиотек, собирает их, а затем статически (что значит «статически» можно прочитать здесь) собирает mpv используя эти библиотеки.
Во время сборки mpv из исходников на экране появится вот такое summary, ваша задача, чтобы здесь не было красных строк (просто нужно доустановить пакеты). Дело в том, что mpv соберется и с красными строками, но какой-то функционал будет утерян.
Результатом работы скрипта будет один файл: mpv. Находится он здесь:
Размер файла внушительный, потому что все кодеки были «влинкованы» в player:
25868848 Feb 15 11:19 mpv/build/mpv
Просмотр фильма
Теперь самое интересное — а как смотреть кино?
Использование CPU
Для просмотра фильма с помощью mpv в командной строке достаточно набрать:
Но я рекомендую записывать log файл, чтобы в случае проблем можно было найти причину ошибки:
./mpv ~/sample4kvideo.mp4 --log-file mpv.log
Если запускать mpv с настройками по умолчанию (без использования дополнительных ключей), то раскодированием видеопотока будет заниматься процессор. Если процессор маломощный то он может не справиться с decoding’ом и движение в кадре будет дерганным, появятся дропы «drops». Не справляясь с нахлынувшей на него информацией процессор начнет пропускать кадры. Например, в следующем примере видно, как Intel i-7 не может обработать все кадры 4k video и начал «drop»-ать. Вот, например, вывод команды mpv в консольке:
$ ./mpv ~/sample4kvideo.mp4 --log-file mpv.log [osd/libass] can't find selected font provider AV: 00:00:24 / 00:01:47 (23%) A-V: 0.421 Dropped: 8 Audio/Video desynchronisation detected! Possible reasons include too slow hardware, temporary CPU spikes, broken drivers, and broken files. Audio position will not match to the video (see A-V status field). AV: 00:00:33 / 00:01:47 (31%) A-V: 0.403 Dropped: 22 Audio/Video desynchronisation detected! Possible reasons include too slow hardware, temporary CPU spikes, broken drivers, and broken files. Audio position will not match to the video (see A-V status field). AV: 00:00:34 / 00:01:47 (31%) A-V: 0.573 Dropped: 28
Записанный log файл показывает, что для раскодирования фидео был выбран центоальный CPU и строка «Using software decoding» прямо указывает на это:
[ 0.149][v][vd] Using software decoding. [ 0.149][v][vd] Detected 8 logical cores. [ 0.149][v][vd] Requesting 9 threads for decoding. [ 0.151][v][vd] Selected codec: h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10)
Использование GPU
Mpv позволяет задействовать мощности графического ускорителя для просмотра фильма. Всю работу по раскодированию видео потока берет на себя графическое ядро. На системах со слабым центральным процессором (CPU) помощь gpu может оказаться существенной, особенно при просмотре 4K видео. Фактически можно избавиться от «drop»-ов, как в случае с использованием CPU.
В mpv за поддержку gpu отвечает ключ «hwdec». При «—hwdec=auto» mpv сам найдет оптимальный способ запуска на графическом ускорителе:
./mpv --hwdec=auto --vo=opengl ~/sample4kvideo.mp4 --log-file mpv.log
В output никаких «drop»-ов. А в логе строчка » Using hardware decoding (nvdec)» явно указывает на то, что мы задействовали нашу видеокарту дле раскодирования видеопотока:
[ 0.287][i][vd] Using hardware decoding (nvdec). [ 0.287][v][vd] Decoder format: 3840x2160 cuda[nv12] bt.709/bt.709/bt.1886/limited/auto CL=mpeg2/4/h264 (auto 0.000000/0.000000/0.000000) [ 0.287][v][vf] [in] 3840x2160 cuda[nv12] bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
Помимо просмотра лог файла есть еще один способ, что был задействован gpu. Для этого во время просмотра фильма запустите «nvidia-smi» с ключиком dmon. В колонке «dec» будет указан % нагрузки на gpu при раскодировании video:
GUI для mpv
На базе библиотеки mpv построено ряд media player’ов с привычной графичской оболочкой. Так что если вас не прельщает запуск player’а из консоли с кучей параметров, то есть привычный метод с GUI (окошечки, кменюшечки и кнопочки) 🙂
Baka
Простенький player с минимальным набором регулируемых опций. Подойдет начинающим пользователям. Инсталляционные пакеты для Linux и Windows можно найти здесь:
http://bakamplayer.u8sand.net/installation.php
gnome-mpv
Такой же лаконичный, как и предыдущий. Минимум настроек. Зато входит в стандартный репозитарий Ubuntu.
sudo apt-get update sudo apt-get install gnome-mpv
SMPlayer
По сравнению с предыдущими плеерами на базе библиотеки mpv этот просто монстр. Позволяет настраивать, как внешний (шкурки), так и продвинутые опции видеодекодера. Есть сборки для Linux и Windows:
Выводы
В этой статье мы познакомились с mpv player’ом — бесплатной программой для проигрывания видео и аудио контента. Рассмотрели способы установки под Linux и Windows. Собрали mpv player из исходников. Рассмотрели способ просмотра видео с помощью графического ускорителя.
Что не вошло в этот обзор:
- использование скриптов для настройки интерфейса и свойств видеодекодера;
- настройка продвинутых параметров mpv для графического ускорителя;
- расширенные опции при сборке из исходников;
- связка с Vaporsynth.