这个是针对Ubuntu 10.04 AMD64的安装ffmpeg,mplayer,x264全教程,包括VDPAU
Ubuntu 10.10AMD64也是可以的。

目前mplayer仍然使用svn,编译mplayer时要把ffmpeg的代码拷贝进去。!
libxvidcore4-dev 这个包在10.10里面是libxvidcore-dev 这个名字

普通版
我的工作根目录为~/src
确定之前没有安装过ffmpeg,mplayer,x264,有则卸载。

代码:
sudo apt-get --purge remove ffmpeg mplayer x264

安装依赖包
1.偷懒法
这里输出了文件是为了记录所安装的依赖包,以便日后删除。

代码:
sudo apt-get build dep ffmpeg mplayer x264 >>aptlog.log

2.仔细法

代码:
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.x264

代码:
git clone git://git.videolan.org/x264.git

2.ffmpeg

代码:
git clone git://git.videolan.org/ffmpeg.git

3.libnut(AMD64特殊需求)

代码:
svn checkout svn://svn.mplayerhq.hu/nut/src/trunk libnut

4.mplayer

代码:
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而异。

代码:
make -j 2

2.编译libnut(注意,它一定要在ffmpeg之前编译,否则ffmpeg会报错,当然只要不加--enable-libnut就行了)
切换到工作根目录,后输入

代码:
cd libnut
gedit config.mak

代码:
CFLAGS += -Os -fomit-frame-pointer -g -Wall

改成

代码:
CFLAGS += -Os -fomit-frame-pointer -Wall -fPIC

保存
编译

代码:
make libnut
make prefix=/usr install-libnut

3.编译ffmpeg
切换到工作根目录,后输入

代码:
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,分别选中它们,在新利得菜单->软件包->锁定软件包

VDPAU版

注意Nvidia显卡用户请使用非开源驱动。请要先安装ibvdpau1可以安装nvidia-cg-toolkit并检测/usr/include/vdpau下是否有两个.h文件,因为nvidia的驱动有vdpau的so文件

目前(Linux-3.4.11)xen的dom0下不可用
有双核的或以上的可以在make后加-j 2参数,提高效率。(3核用-j 3,类推)。这里”j"后的空格可加可不加,还有数字大于核心数也没问题,就是不要太大了,应CPU而异。

我的工作根目录为~/src
确定之前没有安装过ffmpeg,mplayer,有则卸载。

代码:
sudo apt-get --purge remove ffmpeg mplayer x264

安装依赖包
1.偷懒法
这里输出了文件是为了记录所安装的依赖包,以便日后删除。

代码:
sudo apt-get build dep ffmpeg mplayer  >>aptlog.log

2.仔细法

代码:
sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaad-dev libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore-dev libschroedinger-dev libspeex-dev libgsm1-dev libgtk2.0-dev autoconf

在现在的NVIDIA驱动中,VDPAU头文件不再包含,需要编译或安装libvdpau-dev,方法如下:

代码:
git clone git://anongit.freedesktop.org/~aplattner/libvdpau
cd libvdpau
./autogen.sh
./configure --prefix=/usr
make

主体软件
1.ffmpeg

代码:
git clone git://git.videolan.org/ffmpeg.git

2.libnut(不要也行,编译ffmpeg时去掉--enable-libnut)

代码:
svn checkout svn://svn.mplayerhq.hu/nut/src/trunk libnut

3.mplayer

代码:
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer

把它们都下载在工作根目录下
开始编译
1.编译libnut(注意,它一定要在ffmpeg之前编译,否则ffmpeg在AMD64系统下会报错,幷不是VDPAU所必需)
切换到工作根目录,后输入

代码:
cd libnut
gedit config.mak

代码:
CFLAGS += -Os -fomit-frame-pointer -g -Wall

改成

代码:
CFLAGS += -Os -fomit-frame-pointer -g -Wall -fPIC

保存
编译

代码:
make libnut
make prefix=/usr install-libnut

2.编译ffmpeg
这里有两个方法,标准打包与定制方法
i)标准
复制附件中的ff_mplayer.tar.gz下的debian文件到ffmpeg的源代码下
切换到工作根目录,后输入

代码:
mv ffmpeg ffmpeg-0.8
cd ffmpeg-0.8
fakeroot debian/rules binary
代码:
mv ffmpeg ffmpeg-0.8
tar zcvf  ffmpeg-0.8.tar.gz  ffmpeg-0.8/ --exclude-vcs
cd ffmpeg-0.8
dh_make -f ../ ffmpeg-0.8.tar.gz
fakeroot debian/rules binary

ii)定制
切换到工作根目录,后输入

代码:
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
代码:
make -j 2

打包

代码:
tar zcvf ffmpeg
代码:
sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg --pkgversion "0.8"

有问题就一路回车

3.编译mplayer
需要复制一份ffmpeg的代码到其目录下(不是工作根目录),文件名要叫 ffmpeg 而不是ffmpeg-0.8之类的!不要使用软链接!
i)标准
解压复制附件中的 mp_debian.tar.gz 下的debian文件到ffmpeg的源代码下
切换到工作根目录,后输入

代码:
cd mplayer
fakeroot debian/rules binary

安装工作根目录下的 mplayer 或 mplayer-nogui 即可。

ii)定制
编译它就比较简单了。
切换到工作根目录

代码:
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 --enable-vdpau
代码:
make -j 2

这里屏蔽了一些滤镜和音频输出,其实不屏蔽也行,只是我为了好看还有那些是不常用的。
打包

代码:
sudo checkinstall --fstrans=no --install=yes --pkgname=mplayer --pkgversion "1.0rc4"

最后为了防止系统将自己的老旧包(新的也一样)替换调我们辛辛苦苦编译的包,
在新利得中分别搜索ffmpeg,mplayer,分别选中它们,在新利得菜单->软件包->锁定软件包。
还有如果没打make命令编译,打包时会自动编译。
注意:如果直接使用mplayer播放时,不仅要指定

代码:
-vo vdpau

,还要指定解码器

代码:
-vc ffh264vdpau

具体请看mplayer的man page,大概在2819行那里。
知识补充
H.264才是一种视频的编码格式,x264只是一个开源的H.264编码器(encoder),不是一种视频的编码格式。
libnut是nut容器的支持可,nut容器是开源的,不过很少有见到使用。
看看效果,图片是调整过分辨率的,我的屏幕是1080P的。成功后如果是VDPAU可处理的格式(如MPEG-1、MPEG-2、MPEG-4 AVC(H.264)、VC-1和WMV3/WMV9)mplayer的CPU占用律是不会超过5%(和显卡有关)
如果ffmpeg检测不到alsa,mplayer检测不到pulse audio,就安装libasound2-dev 和 libpulse-dev 。
对于jack 我做一点说明,因为mplayer的jack部分代码没有做到线程安全,所以有的时候mplayer会卡在,是因为mplayer的jack client 死了,这时只有重新开始(stop)就行了,也可增大jackd的buffer.另外这个问题也会带来花屏,也只能重新开始(stop)解决,可能要几次才行。

Ubuntu 编译安装ffmpeg,mplayer,x264全教程支持VDPAU(高清硬解)相关推荐

  1. [工作记事] Ubuntu 编译安装PHP以及gd库使得支持jepg

    安装依赖 sudo apt install libxml2 libxml2-dev sudo apt install libssl-dev sudo apt install libgtk2.0-dev ...

  2. 树莓派编译安装FFmpeg(添加H.264硬件编解码器支持)

    说明 FFmpeg是一套开源的音视频编解码库,有非常强大的功能,包括视频采集功能.视频格式转换等.众所周知视频编解码是一个非常消耗系统资源的过程,而树莓派自带了H.264的硬件编解码器,因此本文将详解 ...

  3. Ubuntu上安装ffmpeg

    简易安装方式 安装 sudo apt-get install ffmpeg 版本查看 ffmpeg -v ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright ...

  4. centos llvm安装_在CentOS上编译安装llvm-3.8.1详细教程

    在CentOS上编译安装llvm-3.8.1详细教程 2020/1/11  18:12 1682次 注:CentOS版本是6.8,6.x版本的操作类似 安装需求: [list] [*]Cmake: 3 ...

  5. 【流媒体服务器的搭建】2. 源码编译安装ffmpeg

    前言 centos 7 ffmpeg 编译时,打开H264功能时,必须已安装H264(参考这里).否则遇错:ERROR: libx264 not found. 官网 http://ffmpeg.org ...

  6. centos 编译安装 mysql_CentOS7编译安装MySQL5.7.24的教程详解

    安装依赖 (1)cmake是新版MySQL的编译工具 sudo yum install gcc gcc-c++ pcre pcre-devel openssl openssl-devel sudo y ...

  7. linux安装nginx1.21.1全教程(含安装包)

    linux在线安装nginx1.21.1全教程(含安装包) 大家好,我是酷酷的韩金群~ 1.检查是否已安装nginx find -name nginx 如果系统已安装nginx,那么卸载: yum r ...

  8. Ubuntu编译安装CMake

    通过编译安装的方式,可以方便地安装指定版本的CMake,并能够卸载或升级,不会因为apt安装cmake而导致卸载cmake时影响到其他包 文章目录 下载 方法一:官网下载 方法二:gitee下载 安装 ...

  9. 初学Java的安装和环境配置全教程

    初学Java的安装和环境配置全教程 欢迎! 这是你第一次来安装和使用Java.你最应该下载哪个来安装,安装后Java环境变量的配置(配置问题会导致多种Java运行问题)等等.这篇博客将为初学者提供Ja ...

最新文章

  1. Nature子刊:利用转细菌基因植物修复土壤有毒污染物!
  2. 无盘服务器镜像包缓存设多少,【转】谈谈深度无盘缓存工具设置技巧
  3. webpack——概念的引入
  4. C++调用MATLAB函数
  5. Spring AOP方法分析
  6. scholarscope不显示影响因子_Cancer Cell | 冯嘉怡博士等揭示精氨酸甲基转移酶抑制剂可通过影响RNA剪接发挥抑癌效果...
  7. Apache Flink 在蔚来汽车的应用
  8. html5svg在线编辑器,新技术应用——HTML5内联SVG
  9. Filco圣手二代双模蓝牙机械键盘|科大讯飞鼠标连接Mac方法
  10. Uva 10158 War
  11. amd编码器 hevc_支持 AMD VCE H.264 编码器在Bandicam录制视频 - Bandicam(班迪录屏)
  12. python实现23种设计模式
  13. nodejs addon binding osg
  14. Python入门如何给自己写一个文字小游戏?一只小白的Python游戏
  15. C++代码秀(你干嘛!!!哎呦!!!)
  16. 【BZOJ5197】Gambling Guide (最短路,期望)
  17. 度小满数据开发面试真题1
  18. 黑马程序员_MongoDB笔记
  19. CTSC/APIO2018游记
  20. POE直流供电后段整流电路(含网络变压器供电)示意图

热门文章

  1. 杭电--N!(大数)
  2. EyeQ Ultra 芯片 面向自动驾驶
  3. LINQ to SQL语句 收藏系列
  4. opencv看图像同导致 python_OpenCV-Python速查:从载入图片到人脸识别
  5. 3D开发-AR.js 自定义Marker
  6. 404 Note Found 队 Alpha8
  7. E20180715-hm
  8. python 基础复习
  9. jiba中文分词原理
  10. 算法入门经典-第七章 例题7-2 八皇后问题