Можно ли mpv указать использовать аппаратное декодирование видео?

Обсудить вопросы и проблемы с видео

Модератор: Модераторы разделов

Ответить
MiK13
Сообщения: 1180
ОС: Linux Debian

Можно ли mpv указать использовать аппаратное декодирование видео?

Сообщение MiK13 »

Если видеофайлы - результат записи на то, что раньше считалось фотоаппаратами. Формат 4K, то есть 3840x2160.
При проигрывании с помощью mpv программа top показывает, что mpv потребляет около 200% CPU (иногда больше, иногда меньше, часто в районе 180%). При проигрывании того же файла через vlc top показывает примерно 15%
Причём, это подтверждает и xfce4-cpugraph-plugin, установленный на верхней панели.
В случае использования mpv он показывает такую загрузку:
mpv.gif
mpv.gif (269 байт) 2114 просмотров
В случае использования vlc он показывает такую загрузку:[
vlc.gif
vlc.gif (233 байт) 2114 просмотров
Как я понимаю, это свидетельствует, что vlc для воспроизведения активно использует возможности видеоадаптера
Хотелось бы, чтобы и mpv мог их использовать.
Можно ли это сделать?
vlc, конечно, очень хорошая программа, но мне удобнее использовать mpv.

Система Debian 11, процессор AMD Ryzen 5 3600, видеоадаптер NVIDIA GeForce GTX 1650
Спасибо сказали:
Аватара пользователя
Zer0
Сообщения: 479
ОС: Void, Slackware

Re: Можно ли mpv указать использовать аппаратное декодирование видео?

Сообщение Zer0 »

Если верить, написанному на странице слакбилда mpv - то можно, если собрать его с соответствующими опциями.
Из офицального ЧАВО mpv: https://github.com/mpv-player/mpv/wiki/FAQ#Hardware_decoding_doesnt_work_it_should_be_enabled_by_default_right
Hardware decoding doesn't work? it should be enabled by default right? писал(а): use --hwdec=auto or --hwdec=auto-safe or --hwdec=auto-copy or --hwdec=auto-copy-safe instead of anything else
make sure all hwdec backends are compiled in
make sure the file you're playing can be hardware decoded at all (this is for example not the case with 10-bit h264 video)
some codecs need to be explicitly enabled with --hwdec-codecs=...

Hardware decoding is not enabled by default, because it is typically an additional source of errors. It is worth using only if your CPU is too slow to decode a specific video.
Memento mori ... сделай бэкап.
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Можно ли mpv указать использовать аппаратное декодирование видео?

Сообщение MiK13 »

Zer0 писал:
17.12.2022 23:23
Если верить, написанному на странице слакбилда mpv - то можно, если собрать его с соответствующими опциями.
Как-то не хочется разбираться и возиться со сборкой mpv... Но, может быть когда-нибудь и займусь
Zer0 писал:
17.12.2022 23:23
Из офицального ЧАВО mpv: https://github.com/mpv-player/mpv/wiki/FAQ#Hardware_decoding_doesnt_work_it_should_be_enabled_by_default_right
Hardware decoding doesn't work? it should be enabled by default right? писал(а): use --hwdec=auto or --hwdec=auto-safe or --hwdec=auto-copy or --hwdec=auto-copy-safe instead of anything else
...
Hardware decoding is not enabled by default, because it is typically an additional source of errors. It is worth using only if your CPU is too slow to decode a specific video.
Никакая из этих опций (--hwdec=auto or --hwdec=auto-safe or --hwdec=auto-copy or --hwdec=auto-copy-safe) эффекта не дала. top показывает, что mpv потребляет в районе 270% CPU. В то время, как vlc -- 22…25%
Как я понимаю, mpv в системе был собран без поддержки аппаратного декодирования.

А немного другие (более высокие значения) загрузки CPU объясняется тем, что тут я проверял на другом компьютере:
Debian 10, процессор AMD FX(tm)-6300, видеоадаптер GeForce GTX 950
Но есть различия и в картинке. Вот фрагменты (кропы) одного и того же файла в примерно одном месте:
При использовании mpv:
mpvc.jpg
При использовании vlc:
vlcc.jpg
У vlc картинка более "контрастная". С чем это связано, пока не знаю. Но в mpv очень легко можно регулировать яркость и контрастность (а так же насыщенность и гамму). Можно ли это делать в vlc, не знаю.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Можно ли mpv указать использовать аппаратное декодирование видео?

Сообщение Bizdelnick »

Если драйвер nvidia (проприетарный), попробуйте --hwdec=vdpau --vo=vdpau.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Можно ли mpv указать использовать аппаратное декодирование видео?

Сообщение MiK13 »

Bizdelnick писал:
18.12.2022 01:32
Если драйвер nvidia (проприетарный), попробуйте --hwdec=vdpau --vo=vdpau.
Попробовал, ничего не даёт.
Правда, на этом компьютере в драйвере не уверен.
Но на Ryzen 5 3600 пробовал разные варианты с подобными параметрами из man mpv.
А с драйвером на нём я так и не понял. Писал в другой ветке.
Вроде бы он заменился на проприетарный после установки cuda-toolkit. Но при этом на обоих мониторах стало разрешение 1024x768.
После установки ещё некоторых пакетов и после ребута разрешение стало нормальным (но мониторы поменялись местами) но верхняя панель стала невидимой. Сделать видимой не удавалось. А потом ещё и firefox стал невидимым -- то после запуска в нём не было никаких открытых страниц. а другого я не видел (ни на одном столе по Alt-Tab он не появлялся)
Но после ребута появился. И панель восстановилась.
В общем сейчас вроде стало нормально.

P.S. Опции --hwdec=vdpau --vo=vdpau я проверял поодиночке. "завтра" проверю вместе.
Спасибо сказали:
kvv-vp
Сообщения: 61

Re: Можно ли mpv указать использовать аппаратное декодирование видео?

Сообщение kvv-vp »

Vlc использует свои кодеки, а mpv системные. Возможно , дело в этом. Если mpv подсунуть кодек vlc?
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Можно ли mpv указать использовать аппаратное декодирование видео?

Сообщение MiK13 »

kvv-vp писал(а):
18.12.2022 05:15
Vlc использует свои кодеки, а mpv системные. Возможно , дело в этом. Если mpv подсунуть кодек vlc?
Только как?
Спасибо сказали:
foma123
Сообщения: 125

Re: Можно ли mpv указать использовать аппаратное декодирование видео?

Сообщение foma123 »

Гляньте здесь, может что полезного найдете, по своей проблеме. Там много чего, глаза разбегаются )).
https://github.com/mpv-player/mpv/wiki/User-Scripts
Спасибо сказали:
Ответить