Ubuntu环境下安装FFMPEG+SDL
2016-06-22 18:02
357 查看
最近在学习FFMPEG的相关知识,在学习使用FFMPEG之前,系统环境得安装FFMPEG,对于视频相关的操作一般也需要安装SDL播放器。在我在Ubuntu12.04环境下安装FFMPEG的时候,百度一搜就各种资料。各种介绍什么安装FFMPEG之前要安装依赖库或者依赖平台,但是说为什么要依赖的介绍却很少,对了解的人来说可能一看就懂,但对我这种初入们的看起来就有点不解了。所以记录下我的搭建过程,希望对类似搭建环境得人有帮助。
1、软件卸载
如果你之前安装过ffmpeg或者x264或者因安装新的软件,而系统中支持此软件的依赖文件版本太低,都可以使用命令
sudo apt-get remove ffmpeg x264 yasm(此命令卸载了系统的ffmpeg、x264、yasm软件)。
进行软件卸载(要使用root权限)。
2、安装依赖包
当我们用ffmpeg去转码一些格式文件时,比如H264视频编码、mp3音频编码,会提示unknown encoder类似的字样,这是因为ffmpeg自身不带这种第三方编码库,需要我们自己去安装。对于不支持的情况,我们可以在ffmpeg源码中找到表现,在allcodecs.c文件中的
void avcodec_register_all(void)函数中有如下代码部分:
代码表示需要第三方库支持(external libraries),在途中我们可以看到MP3和H264这些编码器,ffmpeg都没有,需要我们自己安装。
通过以上我们要认识到一点ffmpeg不是支持所有的编解码功能,有些需要我们自己编译安装。
因为我使用到h264的编码,所以我需要在安装ffmpeg之前先安装x264的库。而在安装x264的时候,需要安装yasm软件,因为x264需要使用yasm来针对CPU架构进行优化,提高性能。
yasm安装:
sudo apt-get install yasm
或者使用wget命令去yasm源码路径去安装方法为
软件包版本号可根据需要选择。
x264安装
x264的安装我是从以下网址选择需要的版本安装的。
ftp://ftp.videolan.org/pub/x264/snapshots/
下的包为 last_x264.tar.bz2
然后执行如下操作
在编译为指定--prefix的时候,默认生成的库在/usr/local/lib目录下。
有关ffmpeg对X264编码部分的支持我们已经安装完毕。接下来我们准备安装ffmpeg。
在安装ffmpeg之前,我们得先安装SDL软件库,因为ffmpeg中的ffplay可执行程序依赖SDL软件包。
SDL安装如下:
去SDL官网下载最新源码,比如 SDL-x.x.x.tar.gz
然后解压
tar -zxvf SDL-x.x.x.tar.gz
cd SDL-x.x.x
./configure --prefix=/usr/local (指定/usr/local为安装目录)
make
sudo make install
另外,如果在configure阶段想根据需求配置更多选项,可通过./configure --help来enable或者disable选项。
FFMPEG安装
解下来就是安装ffmpeg软件包了。
ffmpeg软件包可以去官网直接下载tar.bz2包或者在系统中通过git命令去源码路径下载。
简单的三部操作如下:
tar -xjvf ffmpeg-x.x.x.tar.bz2
cd ffmpeg-x.x.x
./configure --prefix=/usr/local/ffmpeg --enable-gpl--enable-libx264 --enable-nonfree --enable-libfaac --enable-version3
make
sudo make install
红色部分是我们使能ffmpeg支持h264的编码。
编译安装完以后,ffmpeg安装到配置时指定的/usr/local/ffmpeg目录
bin目录为可执行文件目录
lib目录为动态链接库目录
include是编程时用到的头文件
share目录应该是共享目录,这个理解不是太清楚。
到这里ffmpeg基本安装完毕了剩下的就是程序执行过程中对lib库依赖的问题了。
下面内容说的很好,我就直接引用了,但是我一般在编译的时候喜欢通过-L,-I来指定头文件和库路径。如有不对地方欢迎大家指正。
bz2
1、软件卸载
如果你之前安装过ffmpeg或者x264或者因安装新的软件,而系统中支持此软件的依赖文件版本太低,都可以使用命令
sudo apt-get remove ffmpeg x264 yasm(此命令卸载了系统的ffmpeg、x264、yasm软件)。
进行软件卸载(要使用root权限)。
2、安装依赖包
当我们用ffmpeg去转码一些格式文件时,比如H264视频编码、mp3音频编码,会提示unknown encoder类似的字样,这是因为ffmpeg自身不带这种第三方编码库,需要我们自己去安装。对于不支持的情况,我们可以在ffmpeg源码中找到表现,在allcodecs.c文件中的
void avcodec_register_all(void)函数中有如下代码部分:
代码表示需要第三方库支持(external libraries),在途中我们可以看到MP3和H264这些编码器,ffmpeg都没有,需要我们自己安装。
通过以上我们要认识到一点ffmpeg不是支持所有的编解码功能,有些需要我们自己编译安装。
因为我使用到h264的编码,所以我需要在安装ffmpeg之前先安装x264的库。而在安装x264的时候,需要安装yasm软件,因为x264需要使用yasm来针对CPU架构进行优化,提高性能。
yasm安装:
sudo apt-get install yasm
或者使用wget命令去yasm源码路径去安装方法为
软件包版本号可根据需要选择。
x264安装
x264的安装我是从以下网址选择需要的版本安装的。
ftp://ftp.videolan.org/pub/x264/snapshots/
下的包为 last_x264.tar.bz2
然后执行如下操作
在编译为指定--prefix的时候,默认生成的库在/usr/local/lib目录下。
有关ffmpeg对X264编码部分的支持我们已经安装完毕。接下来我们准备安装ffmpeg。
在安装ffmpeg之前,我们得先安装SDL软件库,因为ffmpeg中的ffplay可执行程序依赖SDL软件包。
SDL安装如下:
去SDL官网下载最新源码,比如 SDL-x.x.x.tar.gz
然后解压
tar -zxvf SDL-x.x.x.tar.gz
cd SDL-x.x.x
./configure --prefix=/usr/local (指定/usr/local为安装目录)
make
sudo make install
另外,如果在configure阶段想根据需求配置更多选项,可通过./configure --help来enable或者disable选项。
FFMPEG安装
解下来就是安装ffmpeg软件包了。
ffmpeg软件包可以去官网直接下载tar.bz2包或者在系统中通过git命令去源码路径下载。
简单的三部操作如下:
tar -xjvf ffmpeg-x.x.x.tar.bz2
cd ffmpeg-x.x.x
./configure --prefix=/usr/local/ffmpeg --enable-gpl--enable-libx264 --enable-nonfree --enable-libfaac --enable-version3
make
sudo make install
红色部分是我们使能ffmpeg支持h264的编码。
编译安装完以后,ffmpeg安装到配置时指定的/usr/local/ffmpeg目录
bin目录为可执行文件目录
lib目录为动态链接库目录
include是编程时用到的头文件
share目录应该是共享目录,这个理解不是太清楚。
到这里ffmpeg基本安装完毕了剩下的就是程序执行过程中对lib库依赖的问题了。
下面内容说的很好,我就直接引用了,但是我一般在编译的时候喜欢通过-L,-I来指定头文件和库路径。如有不对地方欢迎大家指正。
bz2
相关文章推荐
- Ubuntu 默认壁纸历代记
- Ubuntu Remix Cinnamon 20.04 评测:Ubuntu 与 Cinnamon 的完美融合
- 关于Ubuntu 11.10启动提示waiting for the network configuration的问题
- 在 Ubuntu 桌面中使用文件和文件夹
- ubuntu下chrome无法同步问题解决
- Ubuntu Linux使用体验
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 使用 GNOME 优化工具自定义 Linux 桌面的 10 种方法
- 以Ubuntu 9.04为例 将工作环境迁移到 Linux
- VirtualBox虚拟机XP与宿主机Ubuntu互访共享文件夹
- 从USB安装Ubuntu Server 10.04.3 图文详解
- Ubuntu 15.04 正式版发布下载
- Linux-Ubuntu 10.04安装Cadence-ic610 方法总结图解
- Ubuntu 12.04和Windows 7双系统安装图解
- Ubuntu /home下中文目录如何修改成英文?
- Managed Media Aggregation using Rtsp and Rtp
- 开机出现:grub rescue的修复方法
- Ubuntu连接Android真机调试
- 你应该选择 Ubuntu 还是 Fedora?
- 100 个最佳 Ubuntu 应用(中)