离线安装ffmpeg源码包【详细教程】

今天分享一下ffmpeg源码包的安装过程,针对在没有网络环境下,且不能直接使用yum如何成功安装ffmpeg源码包。博主本人通过正式服务器测试,记录整个安装过程。值得大家收藏

同时,我会分享一下如何使用ffmpeg对H.264格式视频(MP4)进行m3u8+ts切片的转换,并生成m3u8+ts格式文件

ffmpeg所需要环境和依赖包

1.操作系统,CentOS7

2.依赖包

(1)gcc++编译源码的必须环境

(2)yasm:yasm是一种汇编语言编译器,用于将x86和x86-64指令集的汇编代码转换为可执行的二进制机器代码。它用于优化和加速性能敏感的计算密集型任务,如视频编解码、音频处理和图形渲染

(3)nasm:它是libx264的依赖包,需要先安装nasm,再安装libx264

(4)libx264:libx264是一个高性能的视频编码库,用于将视频压缩为H.264或AVC(Advanced Video Coding)格式。它提供了广泛的编码参数和配置选项,可用于实现高质量的视频压缩,并在低比特率下实现更好的视频质量。libx264广泛应用于视频编码和压缩领域,例如视频流媒体、实时视频通信、视频存储与传输以及多媒体应用开发。它是许多视频编码软件、多媒体框架和应用程序中的核心组件之一。

3.安装步骤

(1)检测gcc++是否已安装,一般情况下安装好的CentOS7都自带了gcc++的环境。若没有需要自行安装一下

[root@localhost ~]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright © 2015 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

(2)安装yasm源码包

第一:源码地址,http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

第二:解压源码

[root@localhost ffmpeg]# tar xvf yasm-1.3.0.tar.gz

第三:进入源码包,开始进行安装源码操作,安装后默认安装路径/usr/local

[root@localhost ffmpeg]# cd yasm-1.3.0
[root@localhost yasm-1.3.0]# ./configure

第四:make进行编译

[root@localhost yasm-1.3.0]# make

第五:make install进行安装

[root@localhost yasm-1.3.0]# make install

第六:检测是否可以使用

[root@localhost yasm-1.3.0]# yasm --version

若yasm出现"not command"的提示,则表示环境变量出现问题,大家可以通过bashrc添加环境变量的路径,并进行永久生效的,参考如下

1. 找到yasm安装路径:首先,确定yasm已成功安装并找到其安装路径。默认情况下,yasm安装在`/usr/local/bin`目录中,但也可能安装在其他位置。

2. 打开bash配置文件:使用文本编辑器(如vi、nano等)打开bash配置文件。通常,该文件是`~/.bashrc`或`~/.bash_profile`。

   使用以下命令打开`~/.bashrc`文件:
   ```
   vi ~/.bashrc
   ```

   或使用以下命令打开`~/.bash_profile`文件:
   ```
   vi ~/.bash_profile
   ```

3. 添加yasm的路径到环境变量:在打开的bash配置文件中,找到以下行(如果不存在,请添加):
   ```
   export PATH=
   ```

   在上面的行下方,添加yasm的安装路径。例如,如果yasm的安装路径是`/usr/local/bin`,添加以下行:
   ```
   export PATH=$PATH:/usr/local/bin
   ```

   保存文件并关闭文本编辑器。

4. 更新环境变量:在终端中运行以下命令,以使新的环境变量生效:
   ```
   source ~/.bashrc
   ```

   或者,如果你编辑的是`~/.bash_profile`文件,则运行以下命令:
   ```
   source ~/.bash_profile
   ```

5. 验证环境变量:最后,运行以下命令来验证yasm的环境变量是否已配置成功:
   ```
   echo $PATH
   ```

   输出结果中,应该包含你添加的yasm安装路径(例如`/usr/local/bin`)。

完成上述步骤后,yasm的环境变量配置应该已完成。现在,你可以在终端中运行`yasm`命令,而无需提供完整路径,系统会自动找到它。

请注意,如果使用其他shell(如zsh)或其他配置文件(如`~/.zshrc`),则需要相应地进行修改和更新。此外,确保提供正确的yasm安装路径。

(3)安装nasm源码包

第一:nasm官方地址下载

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

第二:解压nasm-2.14.02.tar.gz源码包

[root@localhost ffmpeg]# tar xvf nasm-2.14.02.tar.gz

第三:配置安装nasm

[root@localhost ffmpeg]# cd nasm-2.14.02
[root@localhost nasm-2.14.02]# ./configure

第四:make进行编译

[root@localhost nasm-2.14.02]# make

第五:make install 安装

[root@localhost nasm-2.14.02]# make install

第六:进行检测

[root@localhost nasm-2.14.02]# nasm -v

(4)安装libx264

第一:下载libx264源代码:

wget https://code.videolan.org/videolan/x264/-/archive/master/x264-master.tar.gz

第二:解压libx264

[root@localhost ffmpeg]# tar xvf x264-master.tar.gz

第三:进入x264目录,然后进行./configure配置

[root@localhost ffmpeg]# cd x264-master
[root@localhost x264-master]# ./configure --enable-shared

第四:make编译

[root@localhost x264-master]# make

第五:make install安装

[root@localhost x264-master]# make install

第六:检测安装

[root@localhost x264-master]# x264 --version

(5)安装ffmpeg,版本号4.4.1,大家可以去官方选择适合自己的版本号

第一:官方下载地址

# 下面两个地址都可以访问
http://ffmpeg.org/releases/ffmpeg-4.4.4.tar.gz
http://www.ffmpeg.org/releases/

第二:解压源码包

[root@localhost ffmpeg]# tar xvf ffmpeg-4.4.1.tar.gz

第三:配置

[root@localhost ffmpeg]# cd ffmpeg-4.4.1
[root@localhost ffmpeg-4.4.1]# ./configure --enable-gpl --enable-libx264 --enable-nonfree --enable-shared

参数说明

  • --enable-shared:确保在编译时启用 --enable-shared 参数,以生成动态链接库文件
  • --enable-nonfree:--enable-nonfree 是 FFmpeg 的配置选项之一,它表示启用非免费(Non-Free)的功能和编解码器。FFmpeg 默认情况下只包含免费开源的编解码器和功能,这是出于遵守开源许可证的原因
  • --enable-libx264:开启X264解码库

 

第四:make编译,此过程比较长

[root@localhost ffmpeg-4.4.1]# make

第五:make install安装

[root@localhost ffmpeg-4.4.1]# make install

第六:检测

[root@localhost ffmpeg-4.4.1]# ffmpeg --version

提示报错:

[root@localhost ffmpeg-4.4.1]# ffmpeg --version
ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory

原因:系统没有成功加载ffmpeg的动态库文件,在 CentOS 7 中,当您通过源代码编译安装 FFmpeg 时,默认生成的动态链接库文件会安装在 /usr/local/lib 目录下

解决方法

  • 验证 FFmpeg 是否已经被安装
[root@localhost /]# find /usr/local/bin

  • 安装完成后,您可以进入 /usr/local/lib 目录,使用 ls 命令查看是否已经安装了 FFmpeg 的动态链接库文件
ls /usr/local/lib/ | grep libav

上述命令将列出以 "libav" 开头的文件,这些就是 FFmpeg 的动态链接库文件

  • 临时设置ffmpeg动态库方法
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

注意:如果您希望每次启动终端时都自动设置此环境变量,可以将上述命令添加到您的 ~/.bashrc~/.bash_profile 文件中。然后,运行 source ~/.bashrcsource ~/.bash_profile 使其立即生效

  • 永久设置ffmpeg动态链接库方法
在 CentOS 7 上,您可以通过编辑 `~/.bashrc` 文件,将 FFmpeg 的动态链接库路径添加到 `LD_LIBRARY_PATH` 环境变量中,以便在每次打开新的终端时加载 FFmpeg 的动态链接库。

请按照以下步骤进行操作:

1. 打开终端,登录到您的用户账户。

2. 使用文本编辑器(如 `nano` 或 `vi`)打开 `~/.bashrc` 文件:

   ```
   nano ~/.bashrc
   ```

   或

   ```
   vi ~/.bashrc
   ```

3. 在 `~/.bashrc` 文件中,添加以下行:

   ```bash
   export LD_LIBRARY_PATH="/path/to/your/ffmpeg/libs:$LD_LIBRARY_PATH"
   ```

   将 `/path/to/your/ffmpeg/libs` 替换为您实际安装 FFmpeg 动态链接库的目录路径。

4. 保存并关闭文件。

5. 使修改生效。可以通过运行以下命令重新加载 `~/.bashrc` 文件,或者直接注销并重新登录:

   ```
   source ~/.bashrc
   ```

6. 现在,每当您打开新的终端时,FFmpeg 的动态链接库将自动添加到 `LD_LIBRARY_PATH` 环境变量中,使系统能够找到 FFmpeg 的库文件。

请注意,这样设置后,只有当前用户的终端会自动加载 FFmpeg 的动态链接库。如果您希望对所有用户生效,可以考虑将设置添加到系统范围的配置文件(例如 `/etc/bashrc`)中,但在更改系统范围的配置文件时要格外小心,确保您知道自己在做什么。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 要在arm64设备上离线安装FFmpeg,您可以按照以下步骤进行操作: 1. 获取适用于arm64架构的FFmpeg二进制文件:您可以从FFmpeg官方网站下载适用于arm64架构的预编译二进制文件。确保选择与您设备的操作系统和版本兼容的版本。 2. 将二进制文件传输到设备:将下载的FFmpeg二进制文件传输到您的设备上。您可以通过USB连接、Wi-Fi传输或任何其他文件传输方法将文件复制到设备的目录中。 3. 给予执行权限:在设备上打开终端或命令行界面,并导航到存放FFmpeg二进制文件的目录。然后,通过以下命令为二进制文件赋予执行权限: ``` chmod +x ffmpeg ``` 4. 添加FFmpeg到系统路径:将FFmpeg二进制文件的路径添加到系统的环境变量中,以便随时可以从任何位置运行FFmpeg命令。您可以通过编辑bashrc或profile等文件来实现这一点。 5. 验证安装:在终端或命令行界面中输入以下命令,验证FFmpeg是否成功安装并正常工作: ``` ffmpeg -version ``` 如果FFmpeg成功安装,并显示相关的版本和编译信息,则表示您已成功在arm64设备上离线安装FFmpeg。 请注意,这只是一种可能的解决方案,具体步骤可能会因您的设备和操作系统而有所不同。如果您遇到任何问题,建议查阅FFmpeg的官方文档或寻求相关技术支持。 ### 回答2: 在arm64架构上离线安装ffmpeg可以按照以下步骤进行操作: 1. 首先,你需要下载适用于arm64架构的ffmpeg二进制文件。你可以在ffmpeg官方网站的下载页面上找到针对不同操作系统和架构的二进制文件。 2. 在离线安装过程中,你需要一个支持arm64架构的设备或虚拟机。确保你已经连接到互联网,并且拥有足够的存储空间来存放ffmpeg二进制文件。 3. 下载完成后,你可以将下载的ffmpeg二进制文件传输到arm64设备上,例如使用USB连接或通过网络传输。 4. 在arm64设备上,打开终端或命令行界面,并转到存放ffmpeg二进制文件的目录。 5. 使用以下命令解压ffmpeg二进制文件: tar -zxvf ffmpeg.tar.gz 6. 解压完成后,你可以使用以下命令将ffmpeg二进制文件拷贝到系统的可执行路径中: sudo mv ffmpeg /usr/local/bin 这将要求你提供管理员权限,以便将文件移动到系统路径中。 7. 现在,你可以在终端或命令行界面中输入以下命令来验证ffmpeg是否已成功安装: ffmpeg -version 如果ffmpeg成功安装,你将能够看到ffmpeg的版本信息。 请注意,离线安装ffmpeg可能需要满足一些依赖项,例如库文件。如果出现安装错误或缺少依赖项的错误消息,请根据错误提示解决依赖关系,并重试安装步骤。 希望以上步骤对你在arm64架构上离线安装ffmpeg有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值