LINUX.ORG.RU

Как этим пользоваться, например в firefox и mpv?

 , ,


1

0

Разработчики из компании NVIDIA представили открытую библиотеку libvdpau 1.5 с реализацией поддержкой API VDPAU (Video Decode and Presentation) для Unix-подобных систем. Библиотека VDPAU даёт возможность задействовать механизмы аппаратного ускорения для обработки видео в форматах h264, h265, VC1, VP9 и AV1, и вынести на сторону GPU такие задачи, как пост-обработка, слияние (compositing), отображение и декодирование видео. Изначально в библиотеке поддерживались только GPU от компании NVIDIA, но впоследствии появилась поддержка открытых драйверов для карт AMD. Код libvdpau распространяется под лицензией MIT.

★★★

Ответ на: комментарий от serg002

в лисе пока жопа. Там промелькнул короткий момент пока VAAPI работало и опять все сдохло. AV1 прикручено через жопу (кастрированный кусок древнего ffmpeg 4.2 пропатченный и включенный в сорс лиса). VP8/VP9 работают через нативный ffmpeg но при условии отключения sandbox. ВРоде как все пилят - но 98,99 и скорее всего 100 лис работать не будет. МОжет быть в 101 или еще дальше.

Qui-Gon ★★★★★
()
Ответ на: комментарий от serg002

firefox аппаратное ускорение вроде сам должен включать под вяленым, а под иксами у него с ним всё сложно. Но это не точно.

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

а в firefox?

Отправиться в прошлое, разработать патчи, пропатчить, пользоваться. Сейчас Firefox двинулся немного в другую сторону, и с конкретно VDPAU ему уже не по пути. В принципе решаемо, но желающих нет.

i-rinat ★★★★★
()
Ответ на: комментарий от BityjPixel

Проблема не в иксах и не в вяленом, а в секьюрити. Новые драйвера хардверного ускорения требуют доступа к железу. А секьюрити с сэндбоксингом требуют все энкапсулировать и никакого доступа к железу не давать. Все работает на старых драйверах от интел - а вот со свежими драйверами все плохо. Решение предложенное Мартином - перетащить декодирование в отдельный RDD процесс. Но секьрасты и на этот процесс свой гондон нятянули - и соответственно все снова умерло.

Qui-Gon ★★★★★
()
Ответ на: комментарий от i-rinat

Сейчас там по ходу началась некая движуха с переосмыслением декодирования - не только хардверного. В текущем коде адский ад с определением поддерживаемых кодеков - ffmpeg казалось бы универсальная штуковина но он хардкодом проброшен на VP8/VP9 а все остальное декодируется через всякую гадость. Вот за три дня борьбы вроде как удалось заставить свою сборку лиса декодировать AV1 через ffmpeg а не через уродливый падучий встроенный ffvpx. Но понятно такое не предложишь в основной код ибо я просто выгрыз все долбанные проверялки типа «а двайте временно отключим эту фичу потому что она мешает джону какашкину тестировать его хрень». ДЖон то видимо уже оттестировал свою хрень - судя по тому чо выгрызание этого куска кода никаких неприятных последствий не имеет - но вот убрать это походу забыли.

А новые наработки по более логичному определению имеющихся кодеков и выбору наиболее подхадящего без хардкодов в самой мозилле пока на стадии WIP. До такой степени WIP что даже патчи эти не накладываются.

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

через ffmpeg а не через уродливый падучий встроенный ffvpx

ffvpx это тот же ffmpeg, в котором оставили только VP8, VP9 и AV1. К тому же есть настройка «media.ffvpx.enabled» в about:config. Её выключение не помогало, что ли?

В любом случае, это решаемые проблемы. А вот упор на вырезание доступа к сокету иксов отовсюду, откуда только можно, ставит использование VDPAU под очень большой вопрос, потому что там для адекватного получения готовых кадров иксы таки нужны.

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

Для начала, нужна видеокарта с поддержкой аппаратного декодирования AV1. Согласно мануалу, это VDPAU feature set K. Открываем таблицу и смотрим, подходит ли имеющаяся у тебя видеокарта (или, если ты собираешься только покупать, выбираешь по этой таблице).

Затем, нужен драйвер, в котором есть поддержка декодирования AV1. Это драйвер 510.xx, самая последняя на данный момент ветка драйверов, релиз которого состоялся в конце января 2022 года. Актуальная версия драйвера на данный момент - 510.60.02.

Затем, нужен собственно libvdpau 1.5 с поддержкой AV1.

А дальше - всё по мануалке 2009 года: https://www.opennet.ru/tips/2173_mplayer_video_acceleration_nvidia_vdpau.shtml

ZenitharChampion ★★★★★
()
Ответ на: комментарий от i-rinat

Ну он не просто обрезанный - там версия 4.2 с какими-то конечно патчами но явно ниже текущей стабильной 4.4.1

А штука как раз в том что при отключении ffvpx настройкой то нагромождение кода отказывается хардверно декодировать AV1. Только VP8/VP9. Хотя сам ffmpeg вполне себе декодирует AV1 скажем в том же MPV.

Qui-Gon ★★★★★
()
Ответ на: комментарий от BityjPixel

Чтоб работал mpv кроме --hwdec=vdpau еще нужно указать --vo=vdpau. Иначе видно в top что загрузка процессора остается высокой.

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

при отключении ffvpx настройкой то нагромождение кода отказывается хардверно декодировать AV1

У FFmpeg опять API/ABI поменялось, наверное. Они его часто шатают туда-сюда.

У меня нет железа, которое поддерживало бы декодирование AV1, так что я всё равно не в курсе, что там творится.

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

Ну они еще 5 ffmpeg выпустили в котором API сломали совсем. Под лиса его вроде как затащили что он хотя-бы собирается - не знаю уж как работает. А куча софта даже не собирается.

Правда подтянув ffpmeg 4.4.1 (даже уже пре-релиз 4.4.2 собрал) кое как запустил его под лисом с кривым патчем найденным на багзилле. AV1 заработал - но лис продолжает падать при воспроизведении AV1. Падает непредсазуемо и непонтяно почему, в логах и крэш репортах ничего вменяемого. Может час проработать может два может полдня а может и за 1 минуту крэш выдать. Так что походу пока лучшее решение - аддоны блокирующие av1. Благо пока еще интернет глобально не перевели на этого богомерзкого уродца и практически все сервисы оставляют возможность выдачи контента в православных vp8-vp9 форматах.

Qui-Gon ★★★★★
()
Ответ на: комментарий от hobbit

мамкины нытики, в 4.0(2018) завезли новое api кодирования\декодирования и сказали, что через некоторое время выкинем старое api, 2022 пришел, все кто хотел давно на новое переехали

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