LINUX.ORG.RU

mpv + vaapi Может кому пригодится.

 , , ,


3

3

Время от времени возникают вопросы об ускорении vaapi в mpv. Особенно не на intel карточках. Так вот, лёд тронулся. Почитать можно в этом треде https://github.com/mpv-player/mpv/issues/5711
Вкратце - в Мезу добавили всё что надо, ну и MPV с libva свежие нужны.
Проверял на обычном h264
Наконец-то оно заработало так же эффективно как 100 лет работает vdpau. Ну почти... там есть вопросы например по деинтерлейсу...
Полезно, если AMD дропнут поддержку vdpau.

По идее должно быть достаточно (при пустом config'е)
mpv --hwdec=vaapi <файло>

Однако мне пришлось так.
mpv --gpu-context=x11egl --hwdec=vaapi <файло>
Судя по логу оно и так пытается загрузить vaapi-egl, но без этой опции фейлится.

Mesa из Padoka, mpv 28 из PPA указанного на их оф. сайте. Остальное (ядро, libva, ffmpeg) - дефолт из Ubuntu 18.04 Правда, с дефолтным ядром возможно есть какая-то нештабильность, хотя может это частная проблема. Короче всё ещё YMMV но прогресс на лицо.

$ vainfo
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Mesa Gallium driver 18.2.0-devel - padoka PPA for AMD CAPE VERDE (DRM 2.50.0, 4.15.0-22-generic, LLVM 7.0.0)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileNone                   :	VAEntrypointVideoProc

★★☆☆☆

Последнее исправление: mos (всего исправлений: 1)
Ответ на: комментарий от nvl

vdpau да. vaapi нет. может в дровах оно и беспроблемно но видос еще чем-то играть надо..

mos ★★☆☆☆
() автор топика
Ответ на: комментарий от mos

У меня сто лет как в конфиге mpv стоит: hwdec=vaapi и vo=vaapi

nvl ★★★
()

Запилил это в конфиг свежей версии - неплохо, нагрузка на проц упала почти вдвое.

Bfgeshka ★★★★★
()
Ответ на: комментарий от Bfgeshka

Запилил это в конфиг свежей версии - неплохо, нагрузка на проц упала почти вдвое.

Что-то не правильно настроено. Нугрузки не должно быть (нагрузка должна быть на уровне аудиоплеера).

nvl ★★★
()
Ответ на: комментарий от mos

Ну по логике вещей если указать -vo=wayland то заработает. Нет? У меня старая амд, там vaapi нету, поэтому сам я проверить не могу.

morse ★★★★★
()
Ответ на: комментарий от mos

У меня NI, но vaapi реализовали только для GCN, предыдущие сидят на vdpau, и вряд ли это изменится.

morse ★★★★★
()

mpv --hwdec=vaapi <файло>

Сравнил воспроизведение 4K H264. Загрузка CPU 1-2% с vaapi против 50-70% без него. Добавил в конфиг :)

aquadon ★★★★★
()
Ответ на: комментарий от anonymous

Ну и vo=gl3 и похожее лучше всего картинку дают, сабы опять же. Иксовые размывают всё слишком, хоть и декодируют с меньшей нагрузкой и быстрее.

anonymous
()
Ответ на: комментарий от anonymous

лааааааал

не думал что и такой воин тут встретится)))

Quality reduction with hardware decoding

                        In theory, hardware decoding does not reduce video quality (at least for the codecs h264 and HEVC). However, due to restrictions in video
                        output APIs, as well as bugs in the actual hardware decoders, there can be some loss, or even blatantly incorrect results.

                        In some cases, RGB conversion is forced, which means the RGB conversion is performed by the hardware decoding API, instead of the shaders
                        used by --vo=gpu. This means certain colorspaces may not display correctly, and certain filtering (such as debanding) cannot  be  applied
                        in  an  ideal  way. This will also usually force the use of low quality chroma scalers instead of the one specified by --cscale. In other
                        cases, hardware decoding can also reduce the bit depth of the decoded image, which can introduce banding or  precision  loss  for  10-bit
                        files.

                        vdpau  is usually safe. If deinterlacing enabled (or the vdpaupp video filter is active in general), it forces RGB conversion. The latter
                        currently does not treat certain colorspaces like BT.2020 correctly (which is mostly a mpv-specific restriction). The vdpauprb video fil‐
                        ter retrieves image data without RGB conversion and is safe (but precludes use of vdpau postprocessing).

                        vaapi  is safe if the vaapi-egl backend is indicated in the logs. 

mos ★★☆☆☆
() автор топика
Ответ на: комментарий от anonymous

Иди прогрей процессор перед просмотром, а то качество будет не то.

anonymous
()
Ответ на: лааааааал от mos

Да что ты мне рассказываешь, я 15 лет линуксом каждый день пользуюсь и про баги знаю всё. Но у венды ровно те же проблемы.

anonymous
()
Ответ на: комментарий от anonymous

ооооооо. какое совпадение.)))) я тоже 15 почти. с 2004. только тогда ни о каком ускорении никто слыхом не слыхивал))) эксперт по багам))) разве что xvmc и то хз

mos ★★☆☆☆
() автор топика
Ответ на: комментарий от mos

И что? Даже в твоей цитате написано что работает с ограничениями и никто тебе не даст никаких гарантий. Это конечно хорошо когда ты смотришь только видео которое всегда работает, на практике это не так. Иди проспись короче.

anonymous
()
Ответ на: комментарий от anonymous

там написано что vaapi и vdpau может «навредить» только параноикам псевдо-экспертам.

mos ★★☆☆☆
() автор топика
Ответ на: комментарий от mos

Там написано, что, цитирую: «vaapi и vdpau потенциально навредит всем кроме сферически лимитированных пониёбов в вакууме и нужно об этом помнить всегда».

anonymous
()
Ответ на: комментарий от mos

Ты знаешь что такое debanding кстати?

anonymous
()
Ответ на: комментарий от anonymous

Найс мантры владельца видеозатычки из 2005 года.

anonymous
()

Так вот, лёд тронулся.

cломали что ли? у кого-то были какие-то проблемы? на интеле? фантастика.

t184256 ★★★★★
()

Полезно, если AMD дропнут поддержку vdpau.

Не очень понятно, зачем юзать vaapi на AMD, если там работает vdpau? Ведь vaapi нестабильный до сих пор (судя по топику, найдено очередное, 1001 решение проблемы лагов воспроизведения видео в линуксе)? Я правда не знаю, амд видяхи не имею.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Ведь vaapi нестабильный

Там из-за этой нестабильности есть возможность работать под Wayland, например. При этом VDPAU стабильно настолько, что там даже список рассылки умер. (Что обидно, так как ответа на вопрос я так и не получил. Всё ещё жду.)

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от i-rinat

Зато работал, работает и даже будет еще работать тк его даже коечему продвинутому успели обучить.
А с ваапи постоянно головняки.

mos ★★☆☆☆
() автор топика
Ответ на: комментарий от Deleted

Ты сам процитировал почему

mos ★★☆☆☆
() автор топика
Ответ на: комментарий от anonymous

Спасибо за информацию,я присмотрюсь. Пока ничего не заметил.

aquadon ★★★★★
()

Зачем нужно аппаратное ускорение видео, если с ним SmoothVideoProject не поддерживается? SVP для своих глазок же нужнее, чем работа, от которой освобождается процессор, не? Процессор железный а глазки свои, им высокий fps комфортнее.

anonymous
()
Ответ на: комментарий от mos

Любое кинцо (про накодировать ты верно подметил, оно от часто-редко натыканых кейфреймов зависит) он так рвёт если сикбаром скакать.

deep-purple ★★★★★
()
Ответ на: комментарий от anonymous

Тебе нужно смотреть 4к на субноутбуке?

т.е. когда смотришь 4к с медиаприставки, она пусть поджаривается. ОК, анон. Всегда считал что устройства встраиваемого класса должны оснащаться коре ай 9 и охлаждением на жидком металле лол.

mos ★★☆☆☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.