Linux 编译FFmpeg

一、简介

FFmpeg(Fast Forward Mpeg)是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源框架,其中大部分功能都是使用C语言从头开发的,保证了它的高可移植性和编解码质量。FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等,基本上谈到对视频、音频的操作都离不开FFmpeg。最近一个项目上需要用到视频的格式转换,这里记录一下FFmpeg的编译。

这里发一下我自己编译好的FFmpeg库,版本为最新的FFmpeg-4.3,静态库和动态库都在里面:

百度云下载地址  提取码:be18

CSDN下载地址


二、安装Yasm

FFmpeg可以安装很多的依赖库,比如x264库、aac库来进行视频和音频的编解码,大部分都需要先安装Yasm。Ubuntu下可以直接安装,这里使用源码编译,源码下载地址:

Yasm官网:The Yasm Modular Assembler Project

Yasm百度云下载:百度网盘 请输入提取码  提取码:1jzh

解压后,进入解压的目录,依次执行下列命令就可以了

./configure
make
make install

编译FFmpeg其他的依赖库可以查看我的另一篇博客:

Linux FFmpeg依赖库编译_ffmpeg zlib_Sakuya__的博客-CSDN博客


三、FFmpeg编译

1、下载FFmpeg

先下载FFmpeg的源代码,我这里使用的是最新的FFmpeg-4.3版本,即使没安装Yasm也可以直接编译FFmpeg:

FFmpeg官网下载:Download FFmpeg

FFmpeg百度云下载地址:百度网盘 请输入提取码  提取码:xwd2

2、配置FFmpeg

解压后进入解压的目录下,有一个configure文件,是用来配置FFmpeg的配置选项。FFmpeg的配置选项很多,可以使用./configure --help命令查看。

我们这里只是编译FFmpeg,不需要其他的依赖项,可以通过以下命令配置:

./configure --prefix=../FFmpeg/ --enable-shared
  • --prefix=../FFmpeg/ :设置编译好的安装路径
  • --enable-shared      :设置编译生成动态库

这里有一个问题,如果不修改configure文件,最后生成的FFmpeg的so库会带有版本号后缀,再通过软连接链接到不带版本号的so库。想要编译出来的FFmpeg库不带版本号后缀,需要修改configure文件,大约在3800行左右

SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'

修改成

SLIBNAME_WITH_VERSION='$(SLIBNAME)'
SLIBNAME_WITH_MAJOR='$(SLIBNAME)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME)'
SLIB_INSTALL_LINKS=

这样最后编译出来的FFmpeg库就是只有.so文件,不会生成带版本号后缀的库。

3、编译FFmpeg

编译FFmpeg只需要执行make命令然后等待编译好,再用make install命令安装:

make
make install

最后我们可以在上面一步设置的路径下早到编译好的.so文件

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值