如何在 CentOS 上安装 FFmpeg 和 FFmpeg-PHP 扩展

在本教程中,我们将向您展示如何在 CentOS 上安装 FFmpeg 和 FFmpeg-PHP 扩展。 对于那些不知道的人,FFmpeg 是一个跨平台的流式音频和视频以及录制和转换解决方案。 还有一个很棒的 PHP 包,称为 FFmpeg-PHP,它允许从 PHP 脚本中轻松使用 FFmpeg。 在本教程中,我将向您展示安装 FFmpeg 和 FFmpeg-PHP(PHP 扩展)的简单方法。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。

先决条件

  • 运行以下操作系统之一的服务器:CentOS 或任何其他基于 RHEL 的发行版。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一种 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

在 CentOS 上安装 FFmpeg

第 1 步。首先,让我们首先确保您的系统是最新的。

sudo yum clean all sudo yum update sudo yum install php-gd php-devel

Step 2. 要安装,首先您必须将与您的 CentOS/RHEL 版本对应的 DAG yum 存储库信息添加到 yum:

nano /etc/yum.repos.d/dag.repo

将以下文本添加到文件并保存:

[dag] name=DAG RPM Repository baseurl=https://apt.sw.be/redhat/el$releasever/en/$basearch/dag gpgcheck=1 enabled=1

添加 Dag 存储库后,使用 yum 使用以下命令安装 FFmpeg。

rpm --import https://apt.sw.be/RPM-GPG-KEY.dag.txt yum install ffmpeg ffmpeg-devel ffmpeg-libpostproc 

FFmpeg 基本命令

#ffmpeg -version:            show version #ffmpeg -formats:            show available formats #ffmpeg -codecs:             show available codecs #ffmpeg -decoders:           show available decoders #ffmpeg -encoders:           show available encoders #ffmpeg -bsfs:               show available bit stream filters #ffmpeg -protocols:          show available protocols #ffmpeg -pix_fmts:           show available pixel formats #ffmpeg -layouts:            show standard channel layouts #ffmpeg -sample_fmts:        show available audio sample formats #ffmpeg -filters:            show available filters

在 CentOS 上安装 FFmpeg-PHP 扩展

步骤 1. 下载 最新的 ffmpeg-php 版本

wget https://nchc.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2 tar -xjf ffmpeg-php-0.6.0.tbz2 cd ffmpeg-php-0.6.0 phpize ./configure make make install

如果你得到 [ffmpeg_movie.lo] 编译FFmpeg-PHP时出现错误1,那么你需要做:

#nano ffmpeg_movie.c Changes in ffmpeg_movie.c: #row 311: list_entry *le; to zend_rsrc_list_entry *le; #row 346: list_entry new_le; to zend_rsrc_list_entry new_le; #row 360: hashkey_length+1, (void *)&new_le, sizeof(list_entry), to hashkey_length+1, (void *)&new_le,sizeof(zend_rsrc_list_entry),

在 CentOS 上安装 FFmpeg 和 FFmpeg-PHP 扩展

将 FFmpeg.so 模块复制到 PHP 默认模块位置。 现在你必须编辑 php.ini 使用 FFmpeg.so 模块启用 FFmpeg-PHP 支持的文件。

#nano /etc/php.ini

将以下两行放在 php.ini 文件的末尾

[ffmpeg] extension=ffmpeg.so

现在应该安装 FFmpeg-PHP 扩展。 您可以通过创建一个名为 info.php 的文件来检查 /var/www/html/ 内容如下:

<?php phpinfo(); ?>

Save