Аппаратное видеоускорение на картах ATI и INTEL

Практически все знают про разработку NVidia - VDPAU (Video Decode and Presentation API for Unix) - реализация библиотеки для использования аппаратных средств работы с видео с X Window System (Linux, FreeBSD, Solaris). Она является альтернативой разработке Microsoft DxVA (DirectX Video Acceleration) API для Windows. Но не все знают о том, что существует также библиотека реализующая аппаратную обработку видео для видеокарт AMD(ATI) и Intel - XvBA (X-Video Bitstream Acceleration).

XvBA является следующем расширением Xv (X video extension). Это достаточно новая разработка по сравнению с VDPAU NVidia, поэтому список программ, которые поддерживают данную технологию ещё очень мал. XvBA работает через VA API (Video Acceleration API) - с ноября 2009 года. Поэтому реализация в программах будет выполняться именно через эту библиотеку.

Заявлена поддержка в программах FFmpeg, VLC и Mplayer. Кстати говоря, как и для VDPAU, для XvBA требуются проприетарные драйвера ati-drivers и соответствующая видеокарта(*). На момент написания заметки, пакеты ffmpeg-0.6 и vlc-1.1.4 имеют USE-флаг vaapi, включение которого позволяет начать использовать данную библиотеку. Что же касается Mplayer, то поддержка этой библиотеки не включена в основную ветку и реализуется отдельным патчем. Подробнее стоит смотреть на http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/. К счастью, для Gentoo существует оверлей gentoo-quebec (добавляем стандартным образом через layman). Потом всё просто: USE="vaapi" emerge -av =media-video/mplayer-1.0_rc4_p20091124-r2 (именно такая версия программы на момент написания).
Запускать нам предлагают следующей командой: mplayer -vo vaapi:xv -ao vaapi. Соответственно, в smplayer выбираем соответствующее устройство вывода.

Для Intel будет полезна заметка http://www.forum.free-x.de/wbb/index.php?page=Thread&threadID=242.
(*) Согласно Feature Matrix for Free Radeon Drivers есть начальная реализация аппаратного видеоускорения через проект Gallium для адаптеров на чипе r300 (ATI R300/R400/R500). Но при этом mplayer vaapi требует ati-drivers.

Я не пробовал произвести данную процедуру, поскольку уже давно на свободных драйверах xf86-video-ati. Но по заявлениям, снижает нагрузку на процессор на 20%-30%. Я пользуюсь xv и пока что не жалуюсь на просмотр HD Video. Правда были проблемы, но они решились установкой -nocache в mplayer/smplayer. Ну ещё можно учесть не слишком слабый процессор AMD Athlon II x4.

Надеюсь данная заметка кому-нибудь пригодиться. Уж больно не просто обстоят дела с настройкой видео и 3D в линукс.

Ashl1 написал(а): Запускать

Ashl1 написал(а):
Запускать нам предлагают следующей командой: mplayer -vo vaapi:xv -va vaapi. Соответственно, в smplayer выбираем соответствующее устройство вывода.

Если запускать через smplayer, указав ему в настройка устройство вывода vaapi и в доп опция -va vaapi, то mplayer крашится >_<

Лог maplyer в студию.

tuupic написал(а):
Если запускать через smplayer, указав ему в настройка устройство вывода vaapi и в доп опция -va vaapi, то mplayer крашится >_<

Лог mplayer в студию.

Новый оверлей для mplayer vaapi

Кстати говоря. Есть другой оверлей: xhub. В нём версия поновее:
media-video/mplayer-1.0_rc4_p20100213-r50
Взято из: http://bugs.gentoo.org/308871

Ashl1 написал(а): Кстати

Ashl1 написал(а):
Кстати говоря. Есть другой оверлей: xhub. В нём версия поновее:
media-video/mplayer-1.0_rc4_p20100213-r50
Взято из: http://bugs.gentoo.org/308871

а чем 9999 не устраивает? ))) только так и живу с ffmpeg и mplayer )) # emerge -av @live-rebuild и все 9999 обновились без проблем )))

Я про версии с поддержкой

Я про версии с поддержкой vaapi. media-video/mplayer-9999 из официального portage не имеет use-флага vaapi.
Здесь смысл именно в этом

Нету лога, крашится сразу же

Нету лога, крашится сразу же при запуске.
Притом, если запускать не через smplayer а самого по себе, то всё работает.

А вообще, vaapi поддерживается ещё в vlc. И vlc в дереве есть. Его и использую сейчас

Попробуйте снова.

Нужно правильно выбрать устройства. Правильный путь - указать их в настройках самого SMplayer: Основные -> Видео и Основные -> Звук.
В Видео выбираем:
Устройство вывода: определено пользователем: vaapi:xv
В Звуке выбираем:
Устройство вывода: определено пользователем: vaapi

Скажите, пожалуйста, свою версию SMPlayer и MPlayer.
Думаю, логи всё же можно собрать. Для этого выберите в Настройках -> Дополнительно -> Отчёты:
1. Отчёт вывода SMplayer
2. Сохранять отчёт SMPlayer в файл
3. Отчёт вывода MPlayer
4. Автосохранение отчёта MPlayer в файл - укажите путь к файлу!

Плюс ко всему, запустите SMplayer из консоли и посмотрите вывод, который он туда пишет.

Интересно, с какого перепугу,

Интересно, с какого перепугу, вдруг -va vaapi у вас стало устройством вывода звука.
Да и не надо считать всех собеседников идиотами.
Методом тыка, научился ронять mplayer и без smplayer`а. Отладчик показал что сегфолт происходит внутри drm`ного модуля intel при использовании видеофильтров.

1. Очепятка 2. Извините, что

1. Очепятка
2. Извините, что Вас обидел. Просто чуть больше описанных действий не повредят, я думаю?
3. Ясно. У меня ATI, поэтому я не наблюдал таких проблем.

Почему?

tuupic написал(а):
А вообще, vaapi поддерживается ещё в vlc. И vlc в дереве есть.

Никто не скажет, почему media-video/mplayer с приблудой vaapi нет
в основном дереве?
Подключил овеплей xhub, пробовал установить патченый mplayer - "404 - not found".
Буду, значить, media-video/vlc пробовать.

Потому что vaapi нет в

Потому что vaapi нет в официальном mplayer. Насколько мне это описали, то потому что патчи не правятся, поэтому не могут быть включены в официальный mplayer.
because the person patching for it submitted their patches, got a review, got told to fix some things, never did...
as far as i am aware anyway.

Да, с оверлея xhub не устанавливается. Написал ему письмо.
И проблемы с оверлеем gentoo-quebec. Надеюсь, что разрешаться: http://bugs.gentoo.org/show_bug.cgi?id=346551

Цитата: Правда были проблемы,

Цитата:
Правда были проблемы, но они решились установкой -nocache в mplayer/smplayer

Кстати, да. Я тоже был немало удивлен, что именно отключение кеширования позволило мне смотреть видео 1920x1080 без малейших тормозов на моем P4, в то время как с включенной опцией притормаживали даже 1280x720...

Нейтральность - высшее достижение сознания!

а мне нет

как не странно щас вот запустил файл с разрешением 1920*1080 в опциях smplayer поставил -nocache не помогло периодически притормаживается процессор intel Q6600 4 ядра, зато vlc воспроизводит на ура

Вообще, опцию -nocache

Вообще, опцию -nocache рекомендует сам mplayer. Когда видео тормозит он выводит дополнительную информацию по решению данных проблем.
А вообще, да. Не стоит забывать, что у VLC, Mplayer и Kaffeine разные движки.

Ashl1 написал(а): Не стоит

Ashl1 написал(а):
Не стоит забывать, что у VLC, Mplayer и Kaffeine разные движки.

у них разные фротэнды, а вот бэкэнд один - библиотеки ffmpeg ;)

Поясните, пожалуйста, сей момент.

Так так так. У меня чувствуется пробел в знаниях. Где можно подробнее почитать об этом? Или сможете пояснить подробнее?
Потому что я всегда был в уверенности, что Mplayer имеет свой движок, Kaffeine - Xine, именно поэтому в нём не поддерживаются субтитры ASS/SSA, VLC - свой. Но все они могут при этом работать и через ffmpeg. То есть я говорю о прослойке между FFMpeg и выводом на экран, что каждый плеер сам реализует.
Поясните, пожалуйста, сей момент.

vmustik написал(а): как не

vmustik написал(а):
как не странно щас вот запустил файл с разрешением 1920*1080 в опциях smplayer поставил -nocache не помогло периодически притормаживается процессор intel Q6600 4 ядра

1. не забыл отключить loop?
2. указал количество потоков декодирования?

нет

а можно поподробнее как это сделать?

vmustik написал(а): а можно

vmustik написал(а):
а можно поподробнее как это сделать?

man mplayer... он на русском, т.ч. без проблем читается целиком ;)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".