最新版本ffmpeg源码安装+vscode开发环境搭建!

前言:

大家好,今天给大家分享一篇ffmpeg开发环境的搭建,我在很早之前也给搭建过ffmpeg源码的安装,但是并没有给大家去搭建开发环境,而且当时的版本也比较老,很多细节问题没有给大家展示如何解决!

今天就给大家展示详细的ffmpeg最新5.1版本源码安装步骤和vscode开发环境搭建!技术的更新迭代,我们也要跟上技术的发展,所以这次用最新的版本来做开发环境!

如果大家需要进行交叉编译的话,可以参考之前移植rv1126上的教程!

ok,开始正式的分享,这里建议在ubuntu18上安装环境!

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

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

  • 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
556b29ce452d6dc80ca0d50542a503ef.png

开始编译:

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

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

4a2c2c887c385e4ce8ed9cf581217be5.png 841f952ce3e5059beff97dff5c184d6d.png

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

68da48688b60bddf4793e1fdaaa40efe.png

2、 编译x264:

x264下载链接:

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

开始编译:

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

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

c1bdb9ebfba41f7abf87b79dd3ab4276.png

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

33ce94ebaa5c067d2c927d69503a1c9c.png

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

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

编译步骤:

1、./configure
2、make -j8 && make install

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

38776d3c29789674453cbe60451a7a3e.png

最后生成的头文件和静态库,也是放在/usr/local/ffmpeg路径下:

7f4a5448ba9cf70880004d5c424a2c03.png

3、编译x265:

x265下载链接:

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

编译步骤:

1、cd x265_3.2/build/linux/
2、 ./make-Makefiles.bash
3、 make -j8 && make install
3c505e9a6607ce8c06ed15c5bef690eb.png 6798bcd9e0611175914b8d7f93d4321b.png

4a2d8d0e0b03abf189ce2ab36748723e.png我们可以看到,x265编译出来的库和头文件分别放在/usr/local/lib和/usr/local/include路径下!

二、最新ffmpeg源码编译安装:

这里我们用gitte上的源码,github上的下载会有点慢:

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

我们下载下来,并切换分支到5.1版本:

git checkout -b remotes/origin/release/5.1
8fe312aee6aa5767f8a9a50ff17d1797.png 0d1222558b5186198e28c1f6c77e2e54.png

然后开始编译:

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

2、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编译出来的东西都放在这个路径下去

8e783d44ff0bb6f9078f9f74aada5c47.png

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

vi ~/.bashrc

添加下面这条语句:

4f8f9554f3b1d6ad92b8f721d4990744.png
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/ffmpeg/lib/pkgconfig"

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

b0883d47694b7e01e85d6b8037f60cce.png

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

f9f79cbe1a00b458ed3ff140e0481448.png

接着下面继续编译,这个过程比较久,我只给大家展示make install这部分:

ea29dfe57c2e2644d2286d1a1faa90a6.png

最后我们可以在/usr/local/ffmpeg/lib路径下看到生成的库:

12b3778293a3e882bbe8874a8fc30f39.png

可执行程序和头文件:0354d70ab52ce50bb208ac4ae36a5a95.png

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

export PATH="$PATH:/usr/local/ffmpeg/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/ffmpeg/lib"
4b70c667d89c9019ccf0ea04b1a9c20a.png

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

39f565640d8c7a9ce6e797db58154c6f.png

三、利用vscode搭建ffmpeg开发环境搭建:

先去vscode官网下载vscode:

https://code.visualstudio.com/

下载下面这个版本,因为我现在的环境是ubuntu18:

9687ea02ed5ae24a13c3d5e5a3f6a864.png

然后直接点击下载好的包,就可以安装vscode了:

370202abbd141b69aa8cee5ede6089a4.png d3956f7285db119091a3bc3524446902.png

最后就可以看到安装好的vscode:

3012a1550609a24a6288b37196d1ab00.png

现在我们来建立一个heh.c的工程,同时先安装一下c/c++和gdb插件:d3284d76f0fb3b26b70be2c7f564dc65.png

99d065c6d5ef2441c6c1abda8f98dc12.png e2013308c2947f882a38e4a348adc9e0.png

终端编译:

gcc heh.c -lavutil -lavformat

最后:

对嵌入式音频开发感兴趣的朋友,可以加入星球来学习:

45fad638a126b00ab01c30e08f221992.jpeg

最新视频教程更新到:5c158ab91d5077f2b15a449b12dc3c23.png

最后感谢大家的支持哈,加入了星球的朋友,记得加我微信:tu18879499804,我拉大家进解答群!

猜你喜欢

转载自blog.csdn.net/Dada_ping/article/details/128607930