ffmpeg最新5.1.6版本源码安装

一、编译安装需要的开源编码格式:

首先在编译安装这些开源编码格式之前,我们要明白为啥需要他们:

  • aac
  • x264
  • x265

为啥需要呢?如果你对ffmpeg稍微了解的话,ffmpeg本身是一个框架,自身默认并没有支持这三种编码格式,所以需要我们手动添加来支持!

ok,明白了这个之后,我们开始来下载这三个开源编码格式源码包:

1、编译aac:

aac下载链接:

wget https://sourceforge.net/projects/opencore-amr/files/fdk-aac/fdk-aac-2.0.2.tar.gz

开始编译

./configure --prefix=/usr/local/ffmpeg/ --enable-shared
make -j8 && make install

这里我把编译出来的东西都放在/usr/local/ffmpeg/,而且这里只编译动态库出来;大家按照上面两个步骤操作就行。

最终编译出来的动态库,就放在/usr/local/ffmpeg/lib下面,头文件在/usr/local/include下面。

2、 编译x264:

x264下载链接:

wget http://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20191024-2245-stable.tar.bz2

开始编译:

./configure  --prefix=/usr/local/ffmpeg --enable-static --enable-pic
make -j8 && make install

这里把编译出来的东西同样放在路径/usr/local/ffmpeg,而且编译的是静态库。

注意:这里你第一次安装的话,会报错nasm版本过低,这个时候你要重新下载nasm源码安装编译

这里我给大家nasm的安装步骤;首先是nasm的下载链接:

wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2

编译步骤:

./configure
make -j8 && make install

ok,这个操作就比较简单,你按照这个操作就行;第一次安装x264的话,通过重新安装nasm,是可以解决报错的,然后我们接着来安装x264。

3、编译x265:

x265下载链接:

wget http://ftp.videolan.org/pub/videolan/x265/x265_3.2.tar.gz

编译步骤:

cd x265_3.2/build/linux/
./make-Makefiles.bash
make -j8 && make install

刚开始大家采用模式安装到/usr/local/目录下了,我们可以结合情况修改安装路径或者将对应的动态库拷贝制定的路径下/usr/local/ffmpeg,x265编译出来的库和头文件默认分别放在/usr/local/lib和/usr/local/include路径下!

二、最新ffmpeg源码编译安装

这里我们用gitte上的源码,github上的下载会有点慢,或者可以自己下载安装包(ffmpeg下载)

git clone https://gitee.com/mirrors/ffmpeg/

然后开始编译:

./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-shared --enable-version3 --enable-nonfree --enable-pthreads --enable-libx264 --enable-libx265 --enable-libfdk-aac

make -j8 && make install

我们就是手动把aac、x264、x265编码格式给强制打开,这里也提一下其他enable的作用:

  • --enable-pthreads:启用pthreads(多线程)(默认关闭,可能会有线程安全问题)
  • --enable-gpl:允许使用GPL(默认关闭)
  • --enable-shared :构建共享库(默认关闭)
  • --enable-version3:升级GPL到版本3(默认:关闭)
  • --enable-nonfree:允许使用非免费的代码, 产生的库和二进制程序将是不可再发行的
  • --prefix=/usr/local/ffmpeg:把ffmpeg编译出来的东西都放在这个路径下去

我们发现找不到libfdk_aac,那怎么解决呢,问题出在找不到它路径,所以我们配置一下环境变量:

vim ~/.bashrc
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/ffmpeg/lib/pkgconfig"

然后退出,执行一下source ~/.bashrc使其生效。为什么我们这里要这样操作,这里主要通过下面这个里面fdk-aac.pc这个文件去定位fdk-aac。

这个时候再执行刚才的那个配置,就可以解决这个问题,如果后期遇到类似的问题,都可以参考这种方法去解决,核心是要找到你编译出来的.pc后缀对应的文件就行:

这里也配置一下环境变量:

vim /etc/profile

修改后生效指令
souce /etc/profile

export PATH="$PATH:/usr/local/ffmpeg/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/ffmpeg/lib"

这个时候,我就可以在任何终端路径查看ffmpeg的版本了:

ffmpeg -version
相关推荐
因我你好久不见11 小时前
springboot java ffmpeg 视频压缩、提取视频帧图片、获取视频分辨率
java·spring boot·ffmpeg
cuijiecheng201819 小时前
音视频入门基础:MPEG2-TS专题(21)——FFmpeg源码中,获取TS流的视频信息的实现
ffmpeg·音视频
cuijiecheng201820 小时前
音视频入门基础:AAC专题(13)——FFmpeg源码中,获取ADTS格式的AAC裸流音频信息的实现
ffmpeg·音视频·aac
流氓也是种气质 _Cookie1 天前
uniapp blob格式转换为video .mp4文件使用ffmpeg工具
ffmpeg·uni-app
网络安全queen1 天前
网络安全-企业环境渗透2-wordpress任意文件读&&FFmpeg任意文件读
安全·web安全·ffmpeg
yerennuo2 天前
FFmpeg库之ffmpeg
qt·ffmpeg
韩曙亮2 天前
【FFmpeg】解封装 ① ( 封装与解封装流程 | 解封装函数简介 | 查找码流标号和码流参数信息 | 使用 MediaInfo 分析视频文件 )
ffmpeg·音视频·视频流·mediainfo·解封装·码流
yerennuo2 天前
FFmpeg 框架简介和文件解复用
ffmpeg
悠着,大嘟嘟2 天前
FFmpeg 视频解码详解
ffmpeg·音视频
小白旗2 天前
ffmpeg翻页转场动效的安装及使用
ffmpeg·gl-transition·xfade·转场动效