Главная > Linux > Mplayer и VDPAU: потерянный кодек

Mplayer и VDPAU: потерянный кодек

Буквально месяца два назад обновил драйвер на мою новенькую видеокарту GeForce 8400 с поддержкой VDPAU (декодирование видео средствами GPU). После этого решил проверить эту новую функцию на HD видео, которое очень сильно тормозит при моем текущем старом Celeron 2000.

Выбрал видео «потолще», запустил – загрузка процессора 100%, тормоза неимоверные. Обновил MPlayer с поддержкой VDPAU, обновил фронтед для него – SMPlayer, обновил драйвер до последней версии и обновил библиотеки ffmpeg. Для Ubuntu это всё брал на PPA (у меня Ubuntu 9.10):

$ cat /etc/apt/sources.list
...
deb http://ppa.launchpad.net/brandonsnider/ppa/ubuntu/ jaunty main
deb http://ppa.launchpad.net/rvm/testing/ubuntu jaunty main
deb http://ppa.launchpad.net/nvidia-vdpau/ppa/ubuntu karmic main
...

Затем я запустил видео, следуя инструкциям c ubuntuforums.org и launchpad.net:

$ mplayer -vo vdpau -vc ffmpeg12vdpau,ffh264vdpau,ffwmv3vdpau,ffvc1vdpau, /path/to/file

Каково же было моё удивление после того, как тормозящее ранее HD видео проигрывалось без единого заскока. Проверка загруженности процессора показала, что он загружен на смешные 10%. То есть получилось так, что производительность увеличилась в целых десять раз.

Порадовался я такому положению дел и благополучно забыл за ненадобностью. Через месяц понадобилось проиграть HD видео и я опять вспомнил, но не тут-то было. Злополучный MPlayer выдавал только звук и ошибку видеокодека:

==========================================================================
Forced video codec: ffh264vdpau
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Cannot find codec 'h264_vdpau' in libavcodec...
VDecoder init failed :(
Cannot find codec matching selected -vo and video format 0x31637661.
Read DOCS/HTML/en/codecs.html!
==========================================================================

Google молчал как партизан, знакомые убунтоводы тоже. Переустановка библиотек, плеера, дров – не помогало абсолютно ничего. Я уже было отчаялся найти решение проблемы, но оно таки внезапно появилось.

Когда я устанавливал очередной софт, случайно наткнулся на пакет kubuntu-restricted-extras, который рекомендует установить некоторые проприетарные пакеты для проигрывания DVD и mp3. Для этого в рекомендуемых пакетах были библиотеки ffmpeg (libavformat, libavdevice и т.д.), но со словом unstripped в названии. Судя по описанию, это были неограниченные версии обычных библиотек. Терять не чего, решил поставить. И, как вы уже догадались, после замены обычных библиотек на эти, MPlayer опять начал показывать HD видео используя VDPAU.

Коротко: решить проблему с потерянным vdpau-кодеком в MPlayer можно заменив пакет libavcodec на libavcodec-unstripped

Внимание! После обновления от 20.08.2009 пакета ffmpeg до версии 4:0.5+svn20090706-1ubuntu1 пакет libavcodec-unstripped был удален из дистрибутива и поддержка VDPAU была добавлена в обычный libavcodec52 (исправлена ошибка #511544).

VN:F [1.8.4_1055]
Rating: 9.0/10 (4 votes cast)
Mplayer и VDPAU: потерянный кодек9.0104
  • Print
  • PDF
  • Google Bookmarks
  • Twitter
  • Digg
  • del.icio.us
  • Reddit
  • Facebook
  • Identi.ca
  • Slashdot
  • StumbleUpon
Categories: Linux Tags: , ,
  1. Пока что нет комментариев.
  1. Пока что нет уведомлений.