当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 24 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-14 17:35 

注册: 2008-04-03 12:46
帖子: 131
地址: http://wdstudio.blogbus.com/
送出感谢: 0 次
接收感谢: 0 次
恩,我这里的内容是到处搜刮的,自己在选用适合自己的用就好

首先准备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

这样x264就算是编译,安装好了

接下来准备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


然后是 libopencore-amr
有两个方法安装
在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


ubuntu 9.10就方便多了
代码:
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了
先下载vaapi并且安装
http://www.splitted-desktop.com/~gbeauchesne/libva/
然后把显卡驱动链接到vaapi的文件夹
代码:
/usr/X11R6/lib/modules/dri
ls

ATI 会得到
代码:
fglrx_dri.so

Intel 会得到
代码:
psb_drv_video.so

Nvidia 我就不清楚了 ,不过应该是一样的一个.so文件
其实N卡根本不需要vaapi,毕竟已经有vdpau了
代码:
sudo ln -s /usr/X11R6/lib/modules/dri/fglrx_dri.so /usr/lib/va/drivers/


然后安装xvba-video - XvBA backend for VA API
http://www.splitted-desktop.com/~gbeauchesne/xvba-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

可是mplayer 调用的是 libdirectfb-1.0.so.0
那就把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


接下来安装libmad0
代码:
sudo aptitude install libmad0


我们已经有了libx264了
代码:
ls /usr/lib | grep libx264

得到
代码:
libx264.a
libx264.so
libx264.so.67

可是mplayer调用的是libx264.so.65
所以在建立链接
代码:
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

得到
引用:
checkout-patch-build.sh mplayer-vaapi NEWS patches README.txt

然后安装mplayer 编译环境和 libdrm-dev
代码:
sudo apt-get build-dep mplayer libdrm-dev


准备编译mplayer在这之前我们需要修改一下checkout-patch-build.sh,在这个文件中默认./configure时使用的参数是
代码:
--enable-vaapi
--disable-vdpau

如果你和我一样还需要其他参数的话就要修改了
比如我的
引用:
#!/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

我加入了4个其他参数
如果不需要修改就无视掉这一段
接下来执行就可以了
引用:
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包

到这里就全部结束了
我正在上传我的deb包
效果图一个问题http://forum.ubuntu.org.cn/viewtopic.php?f=74&t=257015

国内的朋友用这个地址下载包吧,虽然不确实各位能不能用
http://cid-08202cb1f4f23167.skydrive.live.com/browse.aspx/Linux?uc=1
国外的朋友用
http://www.mediafire.com/?t2xulzmkttk


_________________
请大家来我的BLOG坐坐
Ubuntu Notes
MSN : wdstudio@live.cn


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-15 12:08 

注册: 2007-09-11 10:12
帖子: 92
地址: Jianchuan
送出感谢: 1
接收感谢: 0 次
楼主辛苦。
:em11 :em11 :em11


_________________
********
人穷志短
马瘦毛长
********


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-15 14:31 
头像

注册: 2010-01-03 12:38
帖子: 1486
地址: 你他妈找死啊
送出感谢: 0 次
接收感谢: 0 次
看着 小鸟额心里发颤


_________________
    我希望我的心上人也能理解这一点,这一切的开始并不是为了什么价值、责任、过去或是未来,这一切甚至不是为了现在,这一切只是源于passion。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-15 16:35 
头像

注册: 2009-09-30 19:59
帖子: 149
送出感谢: 0 次
接收感谢: 0 次
:em11
太感谢lz了
我用的是4850,可以硬解的把?
等lz的deb包了


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-15 16:46 

注册: 2008-01-09 22:41
帖子: 18311
送出感谢: 0 次
接收感谢: 6
n卡来支持lz了

希望lz继续努力,共勉了


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-15 23:37 

注册: 2008-04-03 12:46
帖子: 131
地址: http://wdstudio.blogbus.com/
送出感谢: 0 次
接收感谢: 0 次
ericcantone 写道:
:em11
太感谢lz了
我用的是4850,可以硬解的把?
等lz的deb包了

已经传好了
国内的朋友用这个地址下载包吧,虽然不确实各位能不能用
http://cid-08202cb1f4f23167.skydrive.li ... Linux?uc=1
国外的朋友用
http://www.mediafire.com/?t2xulzmkttk
不过我还是建议各位自己编译试一下,毕竟我编译的时候还有考虑到我系统的环境
不过大家可以试一试我的吧,当然前提是安装那些必要的软件


_________________
请大家来我的BLOG坐坐
Ubuntu Notes
MSN : wdstudio@live.cn


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-15 23:38 

注册: 2008-04-03 12:46
帖子: 131
地址: http://wdstudio.blogbus.com/
送出感谢: 0 次
接收感谢: 0 次
ericcantone 写道:
:em11
太感谢lz了
我用的是4850,可以硬解的把?
等lz的deb包了

话说我的是785G HD4200的集显


_________________
请大家来我的BLOG坐坐
Ubuntu Notes
MSN : wdstudio@live.cn


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-16 0:35 

注册: 2008-09-25 19:58
帖子: 294
送出感谢: 0 次
接收感谢: 1
mark,就是不知道板载3300能不能用


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-16 1:12 

注册: 2008-04-03 12:46
帖子: 131
地址: http://wdstudio.blogbus.com/
送出感谢: 0 次
接收感谢: 0 次
lsl330 写道:
mark,就是不知道板载3300能不能用


3300我还真不清楚..不过应该不可以我记得是UVD2的显卡才可以的

而且是从4XXX 开始UVD2的

3XXX系统应该是UVD的


_________________
请大家来我的BLOG坐坐
Ubuntu Notes
MSN : wdstudio@live.cn


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-16 12:59 
头像

注册: 2008-07-14 10:15
帖子: 704
送出感谢: 0 次
接收感谢: 0 次
我等菜鸟还是等官方的更新吧 :em06 :em06


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-20 13:24 

注册: 2010-02-20 13:21
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
終於可以了,感謝幫忙。發現幾個問題,解非1080p的檔案時色調常常偏藍,1080時有時有馬賽克狀的雜訊。暫停再播放有時xorg會當掉。
另外本人用的是ati HD3650 驅動是10.02。9.11不行。


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-22 18:43 

注册: 2008-04-03 12:46
帖子: 131
地址: http://wdstudio.blogbus.com/
送出感谢: 0 次
接收感谢: 0 次
lucasp0927 写道:
終於可以了,感謝幫忙。發現幾個問題,解非1080p的檔案時色調常常偏藍,1080時有時有馬賽克狀的雜訊。暫停再播放有時xorg會當掉。
另外本人用的是ati HD3650 驅動是10.02。9.11不行。


难道阁下安装我的方法成功了?
蓝的问题我在另外一个帖子有提到 .. 那是没办法的 ..
不知道阁下有没有试过MKV封装的动画 .. 效果极佳
话说3650不适UVD第一代吗 ..


_________________
请大家来我的BLOG坐坐
Ubuntu Notes
MSN : wdstudio@live.cn


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-22 20:51 

注册: 2010-02-20 13:21
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
wudaown 写道:
lucasp0927 写道:
終於可以了,感謝幫忙。發現幾個問題,解非1080p的檔案時色調常常偏藍,1080時有時有馬賽克狀的雜訊。暫停再播放有時xorg會當掉。
另外本人用的是ati HD3650 驅動是10.02。9.11不行。


难道阁下安装我的方法成功了?
蓝的问题我在另外一个帖子有提到 .. 那是没办法的 ..
不知道阁下有没有试过MKV封装的动画 .. 效果极佳
话说3650不适UVD第一代吗 ..


可是我看 /var/log/Xorg.0.log 有UDV2耶。硬解時不論格式,在畫面沒有變化的地方(例如背景)過了一段時間總是會出現色調偏差的情形,不知道是什麼問題。不過除此之外播放非常順暢。畫面撕裂情況也比以前好很多。


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-22 21:01 
头像

注册: 2009-11-17 12:29
帖子: 883
送出感谢: 0 次
接收感谢: 0 次
9.11是明确说不行的
9.10 9.12可行 更新的- -各位如果不怕Xorg HANG掉就去试吧

UVD2 除了一个RS是UVD,HD开头的都是UVD2,AMD为了让大家买新产品而做的。。。

LZ辛苦 其实OPEN AMR和X264与编译关系不大

另外你67的X264?那不是SVN中的 现在X264是84. 而且还没编译的Mplayer哪来要链接65的X264...

另外BD我记得是要HANG掉的


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 我也来折腾 vaapi硬解
帖子发表于 : 2010-02-28 12:52 

注册: 2008-04-03 12:46
帖子: 131
地址: http://wdstudio.blogbus.com/
送出感谢: 0 次
接收感谢: 0 次
zhu527812567 写道:
9.11是明确说不行的
9.10 9.12可行 更新的- -各位如果不怕Xorg HANG掉就去试吧

UVD2 除了一个RS是UVD,HD开头的都是UVD2,AMD为了让大家买新产品而做的。。。

LZ辛苦 其实OPEN AMR和X264与编译关系不大

另外你67的X264?那不是SVN中的 现在X264是84. 而且还没编译的Mplayer哪来要链接65的X264...

另外BD我记得是要HANG掉的


各种各样的问题很多 .. 我也头晕了 .. 话说我以前的3650怎么没UVD2呢 . .汗


_________________
请大家来我的BLOG坐坐
Ubuntu Notes
MSN : wdstudio@live.cn


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 24 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Bing [Bot] 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译