Re: Ubuntu x64版编译安装ffmpeg,mplayer,x264全教程[原创]支持VDPAU(高清硬解)
发表于 : 2011-08-10 20:08
我想起来了,ppa当年没有amd64版本,结果就自己探索了。
致力于Ubuntu中文推广
http://forum.ubuntu.org.cn/
ATI的用户,只能找厂家,去退货了。jervis0211 写了:ati被你无情的忽略了
你应该自己建一个PPA。lxr1234 写了:我想起来了,ppa当年没有amd64版本,结果就自己探索了。
lxr1234 写了:这个是针对Ubuntu 10.04 AMD64的安装ffmpeg,mplayer,x264全教程,包括VDPAU
Ubuntu 10.10AMD64也是可以的。
更新历史
20/7/2011 --完善了打包过程。
16/7/2011--一次小的修改。
28/1/2011--添加一点内容。
24/1/2011--该了一下排版,修改了一下内容。
17/1/2011--一次小的修改,改一下排版。
11/1/2011--一次小的修改,改一下排版。
12/12/2010--一次小的修改,改正一个笔误。
21/11/2010 --大的修改,条理化,VDPAU和普通版分开。
5/8/2010 --一次小修改,增加了冲突包警示。
16/8/2010 --一次小修改
VDPAU版在二楼。
目前mplayer仍然使用svn,编译mplayer时要把ffmpeg的代码拷贝进去。!
感谢诸位的提醒,因为我学业问题,无法保送,有可能不会再有定时的修改了。
libxvidcore4-dev 这个包在10.10里面是libxvidcore-dev 这个名字,谢谢55楼的提醒。
感谢71 楼 ReiFFEXzyx
73 楼 nyfair
这里有些问题:
1.73 楼 的nyfair阁下认为“x264已经把libavformat和swscale吃进来很久了,先编译ffmpeg再编译x264比较好“,先编译ffmpeg是因为我希望能调用x264。
2..73 楼 的nyfair阁下说明了mplayer分裂
普通版
我的工作根目录为~/src
确定之前没有安装过ffmpeg,mplayer,x264,有则卸载。安装依赖包代码: 全选
sudo apt-get --purge remove ffmpeg mplayer x264
1.偷懒法
这里输出了文件是为了记录所安装的依赖包,以便日后删除。2.仔细法代码: 全选
sudo apt-get build dep ffmpeg mplayer x264 >>aptlog.log
下载需要的源代码包代码: 全选
sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaad-dev libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore4-dev libschroedinger-dev libspeex-dev libgsm1-dev libgtk2.0-dev
1.x2642.ffmpeg代码: 全选
git clone git://git.videolan.org/x264.git
3.libnut(AMD64特殊需求)代码: 全选
git clone git://git.videolan.org/ffmpeg.git
4.mplayer代码: 全选
svn checkout svn://svn.mplayerhq.hu/nut/src/trunk libnut
把它们都下载在工作根目录下代码: 全选
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
开始编译
1.编译x264
切换到工作根目录,后输入有问题就一路回车代码: 全选
cd x264 ./configure --enable-shared make sudo checkinstall --fstrans=no --install=yes --pkgname=x264 --pkgversion "3:0.git`date +%Y%m%d`-0.0ubuntu1" sudo ldconfig
有双核的或以上的可以在make后加-j 2参数,提高效率。(3核用-j 3,类推)。这里”j"后的空格可加可不加,还有数字大于核心数也没问题,就是不要太大了,应CPU而异。2.编译libnut(注意,它一定要在ffmpeg之前编译,否则ffmpeg会报错,当然只要不加--enable-libnut就行了)代码: 全选
make -j 2
切换到工作根目录,后输入把代码: 全选
cd libnut gedit config.mak
改成代码: 全选
CFLAGS += -Os -fomit-frame-pointer -g -Wall
保存代码: 全选
CFLAGS += -Os -fomit-frame-pointer -Wall -fPIC
编译3.编译ffmpeg代码: 全选
make libnut make prefix=/usr install-libnut
切换到工作根目录,后输入代码: 全选
cd ffmpeg ./configure-enable-gpl --enable-shared --enable-postproc --enable-nonfree --enable-x11grab --enable-bzlib --enable-libfaac --enable-libmp3lame --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libxvid --enable-zlib --disable-ffplay --disable-debug --disable-indev=oss --disable-outdev=oss --enable-libvpx
有问题就一路回车代码: 全选
sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg --pkgversion "0.8
4.编译mplayer
需要复制一份ffmpeg的代码到其目录下(不是工作根目录),文件名要叫 ffmpeg 而不是ffmpeg-0.8之类的!不要使用软链接!
编译它就比较简单了。
切换到工作根目录代码: 全选
cd mplayer ./configure --disable-jack --disable-fbdev --disable-svga --disable-aa --disable-ossaudio --disable-esd --yasm=/usr/bin/yasm --disable-caca --disable-dga2 --disable-dga1 --disable-v4l2 --disable-directfb
最后为了防止系统将自己的老旧包(新的也一样)替换调我们辛辛苦苦编译的包,代码: 全选
sudo checkinstall --fstrans=no --install=yes --pkgname=mplayer --pkgversion "1.0rc4"
在新利得中分别搜索ffmpeg,mplayer,x264,分别选中它们,在新利得菜单->软件包->锁定软件包
问下 lz的这个做法是硬解还是软解?枫叶饭团 写了:自己编译感觉比apt来得安逸些,就是费时了一点
增加哪个ppa的源 求源euroford 写了:没有必要搞的这么复杂吧,增加一个PPA,全部搞定啊。
确实,不过不一定行,还有新旧版本问题。这是老旧帖子了枫叶饭团 写了:自己编译感觉比apt来得安逸些,就是费时了一点
帮忙看一下我的帖子:http://forum.ubuntu.com.cn/viewtopic.ph ... p2466587lxr1234 写了:确实,不过不一定行,还有新旧版本问题。这是老旧帖子了枫叶饭团 写了:自己编译感觉比apt来得安逸些,就是费时了一点
debian是不发声,fedora好像还行(我只记得14不行)