Ubuntu 编译安装ffmpeg,mplayer,x264全教程支持VDPAU(高清硬解)
目前mplayer仍然使用svn,编译mplayer时要把ffmpeg的代码拷贝进去。!
libxvidcore4-dev 这个包在10.10里面是libxvidcore-dev 这个名字
普通版
我的工作根目录为~/src
确定之前没有安装过ffmpeg,mplayer,x264,有则卸载。
安装依赖包
1.偷懒法
这里输出了文件是为了记录所安装的依赖包,以便日后删除。
2.仔细法
下载需要的源代码包
1.x264
2.ffmpeg
3.libnut(AMD64特殊需求)
4.mplayer
把它们都下载在工作根目录下
开始编译
1.编译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就行了)
切换到工作根目录,后输入
gedit config.mak
把
改成
保存
编译
make prefix=/usr install-libnut
3.编译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
有问题就一路回车
4.编译mplayer
需要复制一份ffmpeg的代码到其目录下(不是工作根目录),文件名要叫 ffmpeg 而不是ffmpeg-0.8之类的!不要使用软链接!
编译它就比较简单了。
切换到工作根目录
./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
最后为了防止系统将自己的老旧包(新的也一样)替换调我们辛辛苦苦编译的包,
在新利得中分别搜索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,有则卸载。
安装依赖包
1.偷懒法
这里输出了文件是为了记录所安装的依赖包,以便日后删除。
2.仔细法
在现在的NVIDIA驱动中,VDPAU头文件不再包含,需要编译或安装libvdpau-dev,方法如下:
cd libvdpau
./autogen.sh
./configure --prefix=/usr
make
主体软件
1.ffmpeg
2.libnut(不要也行,编译ffmpeg时去掉--enable-libnut)
3.mplayer
把它们都下载在工作根目录下
开始编译
1.编译libnut(注意,它一定要在ffmpeg之前编译,否则ffmpeg在AMD64系统下会报错,幷不是VDPAU所必需)
切换到工作根目录,后输入
gedit config.mak
把
改成
保存
编译
make prefix=/usr install-libnut
2.编译ffmpeg
这里有两个方法,标准打包与定制方法
i)标准
复制附件中的ff_mplayer.tar.gz下的debian文件到ffmpeg的源代码下
切换到工作根目录,后输入
cd ffmpeg-0.8
fakeroot debian/rules binary
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)定制
切换到工作根目录,后输入
./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
打包
有问题就一路回车
3.编译mplayer
需要复制一份ffmpeg的代码到其目录下(不是工作根目录),文件名要叫 ffmpeg 而不是ffmpeg-0.8之类的!不要使用软链接!
i)标准
解压复制附件中的 mp_debian.tar.gz 下的debian文件到ffmpeg的源代码下
切换到工作根目录,后输入
fakeroot debian/rules binary
安装工作根目录下的 mplayer 或 mplayer-nogui 即可。
ii)定制
编译它就比较简单了。
切换到工作根目录
./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
这里屏蔽了一些滤镜和音频输出,其实不屏蔽也行,只是我为了好看还有那些是不常用的。
打包
最后为了防止系统将自己的老旧包(新的也一样)替换调我们辛辛苦苦编译的包,
在新利得中分别搜索ffmpeg,mplayer,分别选中它们,在新利得菜单->软件包->锁定软件包。
还有如果没打make命令编译,打包时会自动编译。
注意:如果直接使用mplayer播放时,不仅要指定
,还要指定解码器
具体请看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(高清硬解)相关推荐
- [工作记事] Ubuntu 编译安装PHP以及gd库使得支持jepg
安装依赖 sudo apt install libxml2 libxml2-dev sudo apt install libssl-dev sudo apt install libgtk2.0-dev ...
- 树莓派编译安装FFmpeg(添加H.264硬件编解码器支持)
说明 FFmpeg是一套开源的音视频编解码库,有非常强大的功能,包括视频采集功能.视频格式转换等.众所周知视频编解码是一个非常消耗系统资源的过程,而树莓派自带了H.264的硬件编解码器,因此本文将详解 ...
- Ubuntu上安装ffmpeg
简易安装方式 安装 sudo apt-get install ffmpeg 版本查看 ffmpeg -v ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright ...
- 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 ...
- 【流媒体服务器的搭建】2. 源码编译安装ffmpeg
前言 centos 7 ffmpeg 编译时,打开H264功能时,必须已安装H264(参考这里).否则遇错:ERROR: libx264 not found. 官网 http://ffmpeg.org ...
- centos 编译安装 mysql_CentOS7编译安装MySQL5.7.24的教程详解
安装依赖 (1)cmake是新版MySQL的编译工具 sudo yum install gcc gcc-c++ pcre pcre-devel openssl openssl-devel sudo y ...
- linux安装nginx1.21.1全教程(含安装包)
linux在线安装nginx1.21.1全教程(含安装包) 大家好,我是酷酷的韩金群~ 1.检查是否已安装nginx find -name nginx 如果系统已安装nginx,那么卸载: yum r ...
- Ubuntu编译安装CMake
通过编译安装的方式,可以方便地安装指定版本的CMake,并能够卸载或升级,不会因为apt安装cmake而导致卸载cmake时影响到其他包 文章目录 下载 方法一:官网下载 方法二:gitee下载 安装 ...
- 初学Java的安装和环境配置全教程
初学Java的安装和环境配置全教程 欢迎! 这是你第一次来安装和使用Java.你最应该下载哪个来安装,安装后Java环境变量的配置(配置问题会导致多种Java运行问题)等等.这篇博客将为初学者提供Ja ...
最新文章
- Nature子刊:利用转细菌基因植物修复土壤有毒污染物!
- 无盘服务器镜像包缓存设多少,【转】谈谈深度无盘缓存工具设置技巧
- webpack——概念的引入
- C++调用MATLAB函数
- Spring AOP方法分析
- scholarscope不显示影响因子_Cancer Cell | 冯嘉怡博士等揭示精氨酸甲基转移酶抑制剂可通过影响RNA剪接发挥抑癌效果...
- Apache Flink 在蔚来汽车的应用
- html5svg在线编辑器,新技术应用——HTML5内联SVG
- Filco圣手二代双模蓝牙机械键盘|科大讯飞鼠标连接Mac方法
- Uva 10158 War
- amd编码器 hevc_支持 AMD VCE H.264 编码器在Bandicam录制视频 - Bandicam(班迪录屏)
- python实现23种设计模式
- nodejs addon binding osg
- Python入门如何给自己写一个文字小游戏?一只小白的Python游戏
- C++代码秀(你干嘛!!!哎呦!!!)
- 【BZOJ5197】Gambling Guide (最短路,期望)
- 度小满数据开发面试真题1
- 黑马程序员_MongoDB笔记
- CTSC/APIO2018游记
- POE直流供电后段整流电路(含网络变压器供电)示意图