首先准备x264
代码: 全选
sudo apt-get install build-essential checkinstall gpac libgpac-dev git-core yasm
代码: 全选
$ cd $HOME
$ git clone git://git.videolan.org/x264.git
$ cd x264
$ ./configure --prefix=/usr --enable-shared
$ make
$ sudo checkinstall --fstrans=no --install=yes --pakdir "$HOME/Desktop" \
--maintainer "$USER" --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`-0.0ubuntu1" \
--backup=no --deldoc=yes --deldesc=yes --delspec=yes --gzman --default
$ make distclean
接下来准备live555
代码: 全选
$ cd $HOME
$ wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz
$ tar xvf live555-latest.tar.gz
$ cd live
$ ./genMakefiles linux
$ make
$ sudo cp -r $HOME/live /usr/lib
有两个方法安装
在ubuntu 9.04要从medibuntu安装
代码: 全选
$ cd $HOME
$ wget http://transact.dl.sourceforge.net/project/opencore-amr/opencore-amr/0.1.2/opencore-amr-0.1.2.tar.gz
$ tar xvf opencore-amr-0.1.2.tar.gz
$ cd opencore-amr-0.1.2/
$ ./configure --prefix=/usr
$ make
$ sudo checkinstall --fstrans=no --install=yes --pakdir "$HOME/Desktop" \
--maintainer "$USER" --pkgname="libopencore-amr" --pkgversion="0.1.2" \
--backup=no --deldoc=yes --deldesc=yes --delspec=yes --gzman --default
$ make distclean
代码: 全选
sudo aptitude install libopencore-amr
代码: 全选
$ cd $HOME
$ wget http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20071007.tar.bz2
$ sudo mkdir -pv /usr/lib/codecs
$ tar xjvf all-20071007.tar.bz2
$ sudo cp -v $HOME/all-20071007/* /usr/lib/codecs
先下载vaapi并且安装
http://www.splitted-desktop.com/~gbeauchesne/libva/
然后把显卡驱动链接到vaapi的文件夹
代码: 全选
/usr/X11R6/lib/modules/dri
ls
代码: 全选
fglrx_dri.so
代码: 全选
psb_drv_video.so
其实N卡根本不需要vaapi,毕竟已经有vdpau了
代码: 全选
sudo ln -s /usr/X11R6/lib/modules/dri/fglrx_dri.so /usr/lib/va/drivers/
http://www.splitted-desktop.com/~gbeauc ... vba-video/
然后安装libdirectfb-1.2-0
代码: 全选
sudo aptitude install libdirectfb-1.2-0
代码: 全选
ls /usr/lib | grep libdirect
代码: 全选
directfb-1.2-0
libdirect-1.2.so.0
libdirect-1.2.so.0.7.0
libdirect.a
libdirectfb-1.2.so.0
libdirectfb-1.2.so.0.7.0
libdirectfb.a
libdirectfb.so
libdirect.so
那就把libdirectfb-1.2.so.0链接到libdirectfb-1.0.so.0
代码: 全选
sudo ln -s /usr/lib/libdirectfb-1.2.so.0 /usr/lib/libdirectfb-1.0.so.0
代码: 全选
sudo aptitude install libmad0
代码: 全选
ls /usr/lib | grep libx264
代码: 全选
libx264.a
libx264.so
libx264.so.67
所以在建立链接
代码: 全选
sudo ln -s /usr/lib/libx264.so.67 /usr/lib/libx264.so.65
接下来下载mplayer-vaapi源码
代码: 全选
wget http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-latest-FULL.tar.bz2
代码: 全选
cd /path to your mplayer-vaapi-latest-FULL.tar.bz2
代码: 全选
tar xjvf http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-latest-FULL.tar.bz2
代码: 全选
cd mplayer-vaapi-20100114
得到ls
然后安装mplayer 编译环境和 libdrm-devcheckout-patch-build.sh mplayer-vaapi NEWS patches README.txt
代码: 全选
sudo apt-get build-dep mplayer libdrm-dev
代码: 全选
--enable-vaapi
--disable-vdpau
比如我的
我加入了4个其他参数#!/bin/sh
svn_host=svn://svn.mplayerhq.hu
mplayer_rev=30302
ffmpeg_rev=21211
dvdnav_rev=1188
dir=mplayer-vaapi
last_step=build
enable_vaapi="--enable-vaapi"
enable_vdpau="--disable-vdpau"
enable_gui="--enable-gui"
enable_freetype="--enable-freetype"
enable_fontconfig="--enable-fontconfig"
enable_zh="--language=zh_CN"
if [ $# -gt 0 ]; then
arg="$1"
case $arg in
extract|prepare|configure|build|checkout|patch)
last_step=$arg
shift
;;
esac
fi
case $last_step in
checkout)
last_step=extract
;;
patch)
last_step=prepare
;;
esac
ncpus=`getconf _NPROCESSORS_ONLN`
if [ $ncpus -gt 1 ]; then
ncpus=`expr $ncpus + $ncpus / 2`
fi
DEFAULT_NCPUS=$ncpus
ncpus=${BUILD_NCPUS:-${DEFAULT_NCPUS}}
if [ $ncpus -lt 1 ]; then
ncpus=1
fi
if ! [ -f /usr/include/va/va.h ]; then
echo "ERROR: you need VA API headers for this project" > /dev/stderr
exit 1
fi
get_svn_revision() {
LC_ALL=C svn info $1 | sed -n 's/Revision: \([0-9]*\)/\1/p' 2>/dev/null
}
update_svn_tree() {
local rev="$1"
shift 1
for dir in ${1+"$@"}; do
if [ `get_svn_revision $dir` -ne $rev ]; then
echo "Updating $dir"
svn update --ignore-externals -r $rev $dir >/dev/null
fi
done
}
ffmpeg_externs="libpostproc libavformat libavcodec libavutil"
dvdnav_externs="libdvdread4 libdvdnav"
if test -d "$dir"; then
cd $dir
has_local_changes=0
for d in "" $ffmpeg_externs $dvdnav_externs; do
if svn status --ignore-externals|grep -vq ^X; then
has_local_changes=1
fi
done
if [ $has_local_changes != 0 ]; then
echo "ERROR: $dir/ already exists and has local changes, please remove it first" > /dev/stderr
exit 1
fi
update_svn_tree $mplayer_rev .
update_svn_tree $ffmpeg_rev $ffmpeg_externs
update_svn_tree $dvdnav_rev $dvdnav_externs
else
svn co --ignore-externals -r $mplayer_rev $svn_host/mplayer/trunk $dir
cd $dir
svn co -r $ffmpeg_rev $svn_host/ffmpeg/trunk/libpostproc
svn co -r $ffmpeg_rev $svn_host/ffmpeg/trunk/libavformat
svn co -r $ffmpeg_rev $svn_host/ffmpeg/trunk/libavcodec
svn co -r $ffmpeg_rev $svn_host/ffmpeg/trunk/libavutil
svn co -r $dvdnav_rev $svn_host/dvdnav/trunk/libdvdread/src libdvdread4
svn co -r $dvdnav_rev $svn_host/dvdnav/trunk/libdvdnav/src libdvdnav
fi
if [ "$last_step" = "extract" ]; then
exit 0
fi
patch -p1 < ../patches/mplayer-vaapi.patch || exit 1
patch -p1 < ../patches/mplayer-vaapi-gma500-workaround.patch || exit 1
patch -p1 < ../patches/mplayer-vdpau.patch || exit 1
if [ "$last_step" = "prepare" ]; then
exit 0
fi
./configure $enable_vaapi $enable_vdpau $enable_gui $enable_freetype $enable_fontconfig $enable_zh ${1+"$@"}
if [ "$last_step" = "configure" ]; then
exit 0
fi
make -j$ncpus
if [ "$last_step" = "build" ]; then
exit 0
fi
exit 0
如果不需要修改就无视掉这一段
接下来执行就可以了
等待中sh ./checkout-patch-build.sh
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
等待完成,先别急着安装,先测试一下
代码: 全选
cd mplayer-vaapi
./mplayer -fs -vo vaapi:gl -va vaapi /path to test file
代码: 全选
sudo checkinstall -D --install=yes --fstrans=no --pakdir "$HOME/Desktop" \
--pkgname mplayer --backup=no --deldoc=yes --deldesc=yes --delspec=yes --default \
--pkgversion "3:1.0~svn-`grep "#define VERSION" version.h | cut -d"-" -f2`"
到这里就全部结束了
我正在上传我的deb包
效果图一个问题viewtopic.php?f=74&t=257015
国内的朋友用这个地址下载包吧,虽然不确实各位能不能用
http://cid-08202cb1f4f23167.skydrive.li ... Linux?uc=1
国外的朋友用
http://www.mediafire.com/?t2xulzmkttk