目前自己使用的ubuntu下ffmpeg编译安装的最终版本(14.04/16.04环境下都可以)
sudo apt-get install autoconf automake build-essential libass-dev libfreetype6-dev libtheora-dev libtool libvorbis-dev pkg-config texinfo zlib1g-dev unzip cmake yasm libx264-dev libmp3lame-dev libopus-dev libsdl1.2-dev libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev libfaac* libopenjpeg * libv4l-dev libvpx-dev libssl-dev
这里的libfaac* libopenjpeg*
以我的理解是可以改为libfaac-dev libopenjpeg-dev
的,但我还没有去试验,下次遇到的话在试验一下。
2.正常的从官网下载ffmpeg源码,这是官网下载地址:(https://ffmpeg.org/download.html)
3. 解压进入目录文件
4. 配置Makefile编译选项
./configure --prefix=/usr/local/ffmpeg/ --enable-shared --enable-gray --enable-version3 --enable-nonfree --enable-gpl --enable-avresample --enable-libfaac --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-openssl --enable-x11grab –enable-zlib
5.编译安装
make
sudo make install
6.为了后续麻烦这里配置一下共享目录问题(在编译c文件后执行出现的问题,发现是共享目录问题,现在不记得具体错误描述了,就直接写了),输入下面命令:
sudo vim /etc/ld.so.conf
在最后添加一行即可。
/usr/local/ffmpeg/lib
保存退出后执行
sudo ldconfig
7.到这里基本上就结束了,为了方面可以在/etc/profile文件中将ffmpeg命令添加进PATH中(我这是对所有用户可用,具体可以另行喜好设置)
sudo vim /etc/profile
找到export行,在下面一行添加
export PATH=/usr/local/ffmpeg/bin/:$PATH
保存后执行
source /etc/profile
现在就可以在当前bash终端中正常使用ffmpegle了。
重启后就可以正常使用了,建议重启。
具体安装的环境:Ubuntu14.04下安装ffmpeg-3.1.3
sudo apt-get install yasm
2.正常的从官网下载ffmpeg源码,这是官网下载地址:(https://ffmpeg.org/download.html)
3. 解压进入目录文件
4. 配置Makefile编译选项
./configure --enable-shared --prefix=/usr/local/ffmpeg
5.编译安装
make
sudo make install
6.为了后续麻烦这里配置一下共享目录问题(在编译c文件后执行出现的问题,发现是共享目录问题,现在不记得具体错误描述了,就直接写了),输入下面命令:
sudo vim /etc/ld.so.conf
在最后添加一行即可。
/usr/local/ffmpeg/lib
保存退出后执行
sudo ldconfig
7.到这里基本上就结束了,为了方面可以在/etc/profile文件中将ffmpeg命令添加进PATH中(我这是对所有用户可用,具体可以另行喜好设置)
sudo vim /etc/profile
找到export行,在下面一行添加
export PATH=/usr/local/ffmpeg/bin/:$PATH
保存后执行
source /etc/profile
现在就可以在当前bash终端中正常使用ffmpegle了。
重启后就可以正常使用了,建议重启。
上面是我之前编译安装的比较简单的一个方法,但最近由于项目需要,需要通过ffmpeg录制音频,之前安装的版本就无能为力了,所以重新安装了一下,做个记录,应该算是最全的安装了。
首先说一下卸载的问题,因为是编译安装的,所以没有用命令去remove,而是直接将/usr/local/ffmpeg
直接删除的。
首先安装以下软件包:
sudo apt-get install autoconf automake build-essential libass-dev libfreetype6-dev libtheora-dev libtool libvorbis-dev pkg-config texinfo zlib1g-dev unzip cmake yasm libx264-dev libmp3lame-dev libopus-dev libsdl1.2-dev libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev
接下来需要下载并编译的是x265,fdk-aac,vpx和ffmpeg本身。
为了和之前版本一致,所以也是安装在/usr/local/ffmpeg
,首先添加两个目录:
cd /usr/local
sudo mkdir ffmpeg
sudo mkdir ffmpeg_source
然后,把源码包下载到/opt/ffmpeg_sources/目录下。
因为不采用snapshot版本,所以我们可以直接下载某个稳定版源码。下载地址如下:
x265: https://bitbucket.org/multicoreware/x265/downloads/x265_1.9.tar.gz
fdk-aac: https://github.com/mstorsjo/fdk-aac/archive/v0.1.4.zip
vpx: http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-1.5.0.tar.bz2
ffmpeg: http://ffmpeg.org/releases/ffmpeg-3.1.3.tar.bz2
编译x265
依次执行以下命令:
cd /usr/local/ffmpeg_sources
tar -zxvf x265_1.9.tar.gz
cd x265_1.9/build/linux
PATH="/usr/local/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="/usr/local/ffmpeg" -DENABLE_SHARED:bool=off ../../source
make
sudo make install
make distclean
编译fdk-aac
依次执行以下命令:
cd /usr/local/ffmpeg_sources
unzip fdk-aac-0.1.4.zip
cd fdk-aac-0.1.4
autoreconf -fiv
./configure --prefix="/usr/local/ffmpeg" --disable-shared
make
sudo make install
make distclean
编译vp8/vp9
依次执行以下命令:
cd /usr/local/ffmpeg_sources
tar -xjvf libvpx-1.5.0.tar.bz2
cd libvpx-1.5.0
PATH="/usr/local/bin:$PATH" ./configure --prefix="/usr/local/ffmpeg" --disable-examples --disable-unit-tests
PATH="/usr/local/bin:$PATH" make
sudo make install
make clean
编译ffmpeg
最后一步就是编译FFmpeg了:
进入目录,解压源码。
配置Makefile文件
PATH="/usr/local/bin:$PATH" PKG_CONFIG_PATH="/usr/local/ffmpeg/lib/pkgconfig" ./configure \
--prefix="/usr/local/ffmpeg" \
--pkg-config-flags="--static" \
--extra-cflags="-I/usr/local/ffmpeg/include" \
--extra-ldflags="-L/usr/local/ffmpeg/lib" \
--bindir="/usr/local/bin" \
--enable-gpl \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree
PATH="/usr/local/bin:$PATH" make
sudo make install
make distclean
hash -r
和上面一样,在配置以下环境
6.为了后续麻烦这里配置一下共享目录问题(在编译c文件后执行出现的问题,发现是共享目录问题,现在不记得具体错误描述了,就直接写了),输入下面命令:
sudo vim /etc/ld.so.conf
在最后添加一行即可。
/usr/local/ffmpeg/lib
保存退出后执行
sudo ldconfig
7.到这里基本上就结束了,为了方面可以在/etc/profile文件中将ffmpeg命令添加进PATH中(我这是对所有用户可用,具体可以另行喜好设置)
sudo vim /etc/profile
找到export行,在下面一行添加
export PATH=/usr/local/ffmpeg/bin/:$PATH
保存后执行
source /etc/profile
现在就可以在当前bash终端中正常使用ffmpegle了。
重启后就可以正常使用了,建议重启。
附一个参考链接:
www.liaoxuefeng.com/article/001456198314370db046cbe5e5a45388bf3ade4bc2c5cb0000