Kaffeine-1.2.2 +Аппаратное ускорение

Kaffeine interface images

Часть первая - сборка kaffeine

Удалось решить проблему аппаратного ускорения видео в  KAFFEINE 1.2.2  по скольку приходится адаптироваться к 
выбранным операционным системам видеокарта nvidia и стало быть интересно VDPAU.

Не секрет что по умолчанию kaffeine использует движок xine, который из стандартных репозиториев не поддерживает аппаратного ускорения. Многие пользователи пытались решить эту проблему заменой движка на VLC или MPLAYER. Самое интересное что сами по себе эти приложения, особенно форк mplayer mplayer2, прекрасно работают используя vdpau или vaapi но прикрутить к ним спутниковые каналы является вопросом.

Весь смысл - это замена движка xine представленного в штатном виде библиотеками libxine1 на libxine2 более известную как xine-lib-1.2 собственно которая заточена под аппаратное ускорение видео.

Для подобных вещей гарантировано подойдут дистрибутивы ubuntu 12.04.1 LTS и выше. Итак, ставим набор необходимых для сборки пакетов:

sudo apt-get -y install autoconf automake build-essential git libass-dev libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libx11-dev libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev libav-tools

создаём директорию для сборки

mkdir kaffeine

переходим в неё

cd kaffeine

 

качаем сырцы из репозитория нашего дистрибутива (ни чего постороннего)

 

apt-get source kaffeine
ls

Cмотрим название получившегося каталога для сборки. У меня kaffeine-1.2.2 и переходим:

 

cd kaffeine-1.2.2

 

далее самое интересное, нам нужно исправить два файлика: в /debian/control меняем в сборочных зависимостях (build depends) libxine1-dev на libxine2-dev и в установочных зависимостях ${xine-ffmpegDepends}, ${xine-xDepends}, на libxine2, libxine2-all-plugins, libxine2-bin, libxine2-console, 
libxine2-ffmpeg, libxine2-misc-plugins, libxine2-plugins, libxine2-x, в файле /debian/changelog меняем версию kaffeine c 1.2.2-2 например на 1.2.2-4 что бы не делать потом лишних телодвижений блокируя версию пакета против обновления.
Устанавливаем сборочные зависимости

 

 

apt-get build-dep kaffeine

 

 

но мы исправили сырцы , соответственно изменим и сборочные пакеты

 

 

apt-get purge libxine-dev
apt-get install libxine2-dev

 

 

проверяем всё ли установили

 

 

dpkg-checkbuilddeps

 

 

если что то не установилось доустанавливаем и собственно сборка:

 

 

dpkg-buildpackage -rfakeroot -D

 

 

Тащим пакет kaffeine в домашнюю папку или куда вам надо и ставим через

 

 

dpkg -i kaffeine....(ваша версия пакета)

 

 

dpkg выдаст ошибку о неудовлетворённых зависимостях по этому

 

 

apt-get -f install

 

Возможные проблемы...! Если медиаплеер kaffeine был ранее установлен из репозитория необходимо тщательно вычистить его по всей системе а 
особенно в домашней папке по пути /home/username/.kde/share/apps/kaffeine/xine-config иначе VDPAU может не завестись.
Нагрузка на процессор в штатном kaffeine до 80% в собранном на lib-xine-1.2 не превышает 3%

Часть вторая  - сборка кодеков

Подготвливаем папки для сырцов, делаем все из под root'а:

mkdir ~/ffmpeg_sources

cd ~/ffmpeg_sources

Устанавливаем YASM:

cd ~/ffmpeg_sources 

wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz

tar xzvf yasm-1.2.0.tar.gz

cd yasm-1.2.0

./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"

make

make install

make distclean . ~/.profile

x264 H.264 видеодекодер:

cd ~/ffmpeg_sources

git clone --depth 1 git://git.videolan.org/x264.git

cd x264

./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static

make

make install

make distclean 

fdk-aac AACаудиодекодер:

cd ~/ffmpeg_sources

git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git

cd fdk-aac

autoreconf -fiv

./configure --prefix="$HOME/ffmpeg_build" --disable-shared

make

make install

make distclean

Можно установить командой:

sudo apt-get install libmp3lame-dev

Ubuntu 12.04 можно установить так:

sudo apt-get install nasm

cd ~/ffmpeg_sources

wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz

tar xzvf lame-3.99.5.tar.gz cd lame-3.99.5

./configure --prefix="$HOME/ffmpeg_build" --enable-nasm --disable-shared

make

make install

make distclean 

Opus audio декодер. В Ubuntu 13.04 и Mint 15 пользователи могут установить пакет libopus-dev который есть в репозиториях.

cd ~/ffmpeg_sources

wget http://downloads.xiph.org/releases/opus/opus-1.0.3.tar.gz

tar xzvf opus-1.0.3.tar.gz

cd opus-1.0.3

./configure --prefix="$HOME/ffmpeg_build" --disable-shared

make

make install

make distclean

libvpx VP8/VP9 декодер.  В Ubuntu 13.04 и Mint 15 пользователи могут установить пакет libvpx-dev который есть в репозиториях.

cd ~/ffmpeg_source

git clone --depth 1 http://git.chromium.org/webm/libvpx.git

cd libvpx

./configure --prefix="$HOME/ffmpeg_build" --disable-examples

make

make install

make clean

Ставим ffmpeg:

cd ~/ffmpeg_sources

git clone --depth 1 git://source.ffmpeg.org/ffmpeg

cd ffmpeg

PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"

export PKG_CONFIG_PATH

./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --extra-libs="-ldl" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab

make

make install

make distclean

hash -r

Проверяем установку ffmpeg:

 ffmpeg 2>&1 | head -n1

ffmpeg version git-2013-12-20-d055a13 Copyright (c) 2000-2013 the FFmpeg developers

Установка кодеков закончена, осталось перенести все находящиеся в папке /root/bin  в /usr/local/bin.

Источник

Оцените блог: 
Средняя: 2.7 (202 оценки)