源码编译安装ffmpeg(带libx264安装)

1. 准备工作

ffmpeg下载地址

官网下载地址

选择要安装的版本进行下载即可。

libx264下载地址

下载地址

也可以通过git命令进行下载,方法如下:

# git clone https://code.videolan.org/videolan/x264.git

说明:如果需要视频转码必须要先安装libx264,否则会转码失败

2. 安装

2.1 安装libx264

  1. 解压libx264安装包
[root@172-16-8-145 ~]# tar -zxvf x264.tar.gz 
  1. 编译
[root@172-16-8-145 x264]# ./configure --enable-shared
[root@172-16-8-145 x264]# make
  1. 安装
[root@172-16-8-145 x264]# make install
  1. 验证
[root@172-16-8-145 x264]# x264 --version
x264 0.161.3048 b86ae3c
built on Feb 18 2021, gcc: 7.3.0
x264 configuration: --chroma-format=all
libx264 configuration: --chroma-format=all
x264 license: GPL version 2 or later
[root@172-16-8-145 x264]# 

能正确显示版本号说明安装成功。

2.2安装ffmpeg

  1. 解压ffmpeg安装包,我这里下载的是4.3版本
tar -zxvf ffmpeg-4.3.tar.gz
  1. 编译
[root@172-16-8-145 ffmpeg-4.3]# ./configure --enable-shared --enable-swscale --enable-gpl --enable-nonfree --enable-pic --prefix=/home/ffmpeg --enable-version3 --enable-postproc --enable-pthreads --enable-static --enable-libx264
[root@172-16-8-145 ffmpeg-4.3]# make

必须先安装libx264,否则这步会报错,缺少libx264的库

  1. 安装
[root@172-16-8-145 ffmpeg-4.3]# make install
  1. 配置环境变量

在/etc/profile文件最后增加如下内容

export ffmpeg_home=/home/ffmpeg
export PATH=${ffmpeg_home}/bin:$PATH

然后通过source使配置文件生效即可。

  1. 验证
[root@172-16-8-145 bin]# ffmpeg --version
ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 7.3.0 (GCC)
  configuration: --enable-shared --enable-swscale --enable-gpl --enable-nonfree --enable-pic --prefix=/home/ffmpeg --enable-version3 --enable-postproc --enable-pthreads --enable-static --enable-libx264
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Unrecognized option '-version'.
Error splitting the argument list: Option not found
[root@172-16-8-145 bin]# 

能正常显示版本号说明安装成功。

3. 常见问题:

问题现象:

[root@172-16-8-145 bin]# ./ffmpeg --version
./ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory

排查过程:

  1. 通过ldd ffmpeg命令可以看到缺少哪些库,如下:
[root@172-16-8-145 bin]# ldd ffmpeg 
	linux-vdso.so.1 (0x0000fffc106b0000)
	libavdevice.so.58 => not found
	libavfilter.so.7 => not found
	libavformat.so.58 => not found
	libavcodec.so.58 => not found
	libpostproc.so.55 => not found
	libswresample.so.3 => not found
	libswscale.so.5 => not found
	libavutil.so.56 => not found
	libm.so.6 => /lib64/libm.so.6 (0x0000fffc105b0000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x0000fffc10570000)
	libc.so.6 => /lib64/libc.so.6 (0x0000fffc103e0000)
	/lib/ld-linux-aarch64.so.1 (0x0000fffc106c0000)
[root@172-16-8-145 bin]# 
  1. 通过find命令查找这些文件
[root@172-16-8-145 bin]# find / -name 'libavdevice.so.58'
/root/ffmpeg-4.3/libavdevice/libavdevice.so.58
/home/ffmpeg/lib/libavdevice.so.58
[root@172-16-8-145 bin]# 

从上面的结果可以说明libavdevice.so.58库在root和home目录下,这样我们把这个目录引用一下就可以了

  1. 引用相关目录

在/etc/profile文件中的最后增加如下内容

export LD_LIBRARY_PATH=/home/ffmpeg/lib/

然后使文件生效

[root@172-16-8-145 bin]# source /etc/profile

这样问题就解决了。

  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
我可以为您提供 ffmpeg 源码编译安装的详细方法,具体如下: 1. 首先,您需要从 ffmpeg 官网下载最新的源代码,并将其解压缩到您的本地文件夹中。 2. 接下来,您需要安装一些依赖项。具体依赖项的安装方法会因系统而异,但是通常需要安装一些开发库和工具,例如检查以下软件包是否已经安装: a. gcc b. make c. yasm d. libmp3lame-dev e. libx264-dev f. libx265-dev g. libvpx-dev h. libfdk-aac-dev i. libopus-dev 如果这些软件包没有安装,可以使用包管理器进行安装,例如: ```bash sudo apt-get install gcc make yasm libmp3lame-dev libx264-dev libx265-dev libvpx-dev libfdk-aac-dev libopus-dev ``` 3. 进入解压后的 ffmpeg 文件夹,然后运行以下命令: ```bash ./configure --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libvpx --enable-libfdk-aac --enable-libopus ``` 这会为您的系统自动配置 ffmpeg 并包括所需的库和格式。根据您的操作系统,可能还需要一些其他的配置选项。 4. 运行 make 命令来编译 ffmpeg: ```bash make ``` 这个过程可能需要一些时间,具体需要的时间取决于系统性能。 5. 最后,您可以将编译后的ffmpeg安装到系统中,命令如下: ```bash sudo make install ``` 至此,您已经成功安装 ffmpeg 了。您可以在命令行或编程中使用已编译ffmpeg执行音视频转码和处理操作。 希望这些步骤对您有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值