LINUX.ORG.RU

Видеоплеер с аппаратным ускорением для Raspberry Pi3/4

 ,


0

2

Приветствую. В каком из существующих видеоплееров есть поддержка аппаратного декодирования видео для Raspberry Pi 3 и 4 (при использовании драйвера KMS)? Интересует именно поддержка в апстриме, без сторонних патчей.

Вот документация на Pi4 model B:

https://datasheets.raspberrypi.com/rpi4/raspberry-pi-4-datasheet.pdf

Заявлена поддержка:

H.264 hardware decode (up to 1080p60)

Следовательно, устанавливай raspberry pi os + mpv + yt-dlp. И грабь караваны в 1080p60. Только добавьте в ~/.config/mpv/mpv.conf опции:

ytdl-format=«bestvideo[ext=mp4][height<=?1080]+bestaudio/best»

sfedosenko
()
Последнее исправление: sfedosenko (всего исправлений: 1)

С vc4 на пи3 не всё так просто. Даже так, всё сложно. Есть два видеодрайвера, пропиретарный и свободный (кажется он то и есть kms).

На пропиретарном можно задействовать ихнюю реализацию openMAX, omxplayer, аппаратный h264 в ffmpeg на декодирование и главное энкодирование и вроде бы даже его же для vlc/mplayer. Но там есть большой нюанс: видео декодируется, отдаётся с видеокарты приложению... И дальше должно быть пропихнуто на монитор одним ядром цпу через Х11 и софтовую реализацию видеодрайвера. Очень медленно, 0,3 мегапикселя это предел при приличных 20-30фпс. Исключение omxplayer, он ничего не пропихивает и выводит картинку напрямую из видеокарты на монитор прямо поверх буфера ОС (и совершенно независимо от неё)(и кстати из за этого у него очень высокое качество и ровно ноль тиринга, фризов или битых кадров).

А свободный драйвер vc4 не умеет задействовать openmax и никаких видеоускорений там нет. Т.е. чисто формально можно задействовать «ускорение видео через opengl(-es)» в любом плеере, но оно ничего не ускоряет.

С vc6 на пи4 всё по другому и я ещё не разобрался. Вроде бы как openmax уже не работает или работает не полностью, но вместо него есть какое то другое ускорение декодирования и энкодирования, но опять же - потом всё надо пропихнуть через Х11, цпу и софтовую часть видеодрайвера и это всё ещё медленно. Штатный vlc без всяких плясок выдаёт приемлимый результат до 720р, но существует мнение что ничего лучшего уже не выжать.

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

Там ещё проблема в том, что часть ускорения и драйверов работала только под 32 бита, а под 64 были баги, и на них забили, и вовсе отключили ускорение. (Проблема была в том, что стек видеокарты 32-битный, емнип).

Так было год назад, и с тех пор вышел 64битный дистрибутив Raspberry Pi OS, но что там сейчас происходит не знаю.

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

Я сравнил на Ubuntu Sway воспроизведение 720p видео в MPV и VLC. Как я понимаю - они оба не ускоряют его аппаратно, но в VLC нагрузка на процессор на 10-12% ниже. 1080p уже превращается в слайдшоу

Sunderland93 ★★★★★
() автор топика

Fresh stable (Oracle Linux + свежий софт)

в левом верхнем терминале - ssh на другой край света к Raspberry Pi 4 (4Gb) с юсб дисками, которая кеширует в озу 24 камеры по 2-3Мп, по событиям сливает кеш на диск и при этом научилась таки отображать еще 8 камер не сильно просаживая цпу (кто помнит - на прошлых скринах это была некоторая боль)

под капотом именно на отображение - vlc, она работает с декодером рпи3/рпи4 весьма шустро но vlc очень такое себе в общем плане, пока есть возможность использовать omx или mpv - используй их, ffplay вроде как то-же уже умеет в ускорение
и да, расбиан нужен 11 - под 10 всё совсем плохо (если это не омх)

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

Я сравнил на Ubuntu Sway

Производитель устройства создал отдельный дистрибутив, где работать должно из коробки все.

Но вы сударь, как известно стало, не хотите использовать raspberry pi os. И делаете вы сие очень даже напрасно.

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

Если речь про vc6, то очень вероятно что как раз оба ускоряются, просто косяки начинаются позже, при прокачке распакованных кадров через графику. Кстати, попробуйте одно и то же видео в одном и том же плеере уменьшить в 2/4 раза. Если оно внезапно пойдёт плавно - вот оно бутылочное горлышко, в прокачке битмапов. Если всё будет по прежнему - значит упирается в декодирование, а значит декодер не подхвачен.

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

Не всё и не из коробки там работает. А у вайланда, кстати, очень даже неплохие шансы именно на малинах проявить все свои преимущества. Тут нужно тестировать все варианты.

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

Из зарубежных сообщений 1080p\30 кадров - тянет.

Очевидно, автор тестирует свой дистрибутив, ubuntu sway remix, на rpi4. Соответственно, хочет аппаратное ускорение видео. Мотив благородный и достойный уважения!

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

Если речь именно про ускорение видео - да конечно, и даже в 60фпс, но только если все ускорения задействованы и нет проблемы с выводом кадров. А если речь про десктоп и окна - говорю же, там куча нюансов и в 1080p*30 как то прям совсем не верится, даже если вайланд в 4 раза быстрей чем Х11.

kirill_rrr ★★★★★
()