char0n/ffmpeg-php

FFmpeg应用程序的PHP封装

3.2.2 2022-08-31 10:47 UTC

This package is auto-updated.

Last update: 2024-09-14 05:12:20 UTC


README

Build Status

FFmpegPHP

FFmpegPHP是一个纯OO PSR-4兼容 PHP端口,基于C语言编写的ffmpeg-php库。它添加了一个易于使用的、面向对象的API,用于访问和检索视频和音频文件的信息。它具有从电影文件返回帧作为图像的方法,这些图像可以使用PHP图像函数进行操作。这对于自动从电影中创建缩略图图像非常有效。FFmpegPHP还可以用于报告音频文件的持续时间比特率(mp3、wma等)。FFmpegPHP可以访问许多ffmpeg支持的视频格式(mov、avi、mpg、wmv等)

ffmpeg-php的替代品

FFmpegPHP可以用作ffmpeg-php库的替代品。

文档

FFmpegPHP API文档可以在http://char0n.github.io/ffmpeg-php/找到。

要求

  • PHP >=7
  • PHP扩展:gd、mbstring、xml
  • ffmpeg或ffprobe

安装

源代码

从位于src/目录中的源代码获取并按适当的方式使用它。

Composer安装

获取packagist上发布的包的composer.phar

 $ wget https://raw.githubusercontent.com/composer/getcomposer.org/1b137f8bf6db3e79a38a5bc45324414a6b1f9df2/web/installer -O - -q | php

此命令将创建一个名为composer.phar的文件。

创建一个名为composer.json的文件,并将以下JSON粘贴到其中

 {
    "require": {
        "char0n/ffmpeg-php": "^3.0.0"
    }
 }

通过运行以下命令安装FFmpegPHP

$ php composer.phar install

执行此命令后,将创建一个名为vendor/的新目录。当前工作目录的文件结构现在应如下所示

 - composer.json
 - composer.phar
 - vendor/

为了验证一切按预期运行,请在你的当前工作目录中创建一个名为test.php的新文件,并包含以下内容。

<?php
require_once './vendor/autoload.php';

use Char0n\FFMpegPHP\Movie;

$movie = new Movie('./test.mp4');
var_dump($movie->getDuration());

在运行脚本之前,您还需要下载测试电影文件

$ wget https://github.com/char0n/ffmpeg-php/raw/master/tests/data/test.mp4

现在运行它。

$ php test.php

输出应类似于以下内容

float(32.14)

注意

注意上述脚本中的第一行(require './vendor/autoload.php';)。这一行是必要的,因为它配置了FFmpegPHP将如何包含到您的脚本中,并且它自动知道在哪里查找FFmpegPHP。

使用FFmpegPHP

面向对象接口

FFmpegPHP使用PSR-4标准构建,其接口完全是面向对象的。我们使用标准的OOP模式来创建我们的API。

use Char0n\FFMpegPHP\Movie;

$movie = new Movie('/path/to/media.mpeg');
$movie->getDuration(); // => 24

兼容层

在我们的OO接口之上,还有一个额外的接口,它提供了与原始ffmpeg-php库的完全兼容性。

use Char0n\FFMpegPHP\Adapters\FFMpegMovie as ffmpeg_movie;

$movie = new ffmpeg_movie('/path/to/media.mpeg');
$movie->getDuration(); // => 24

与GoDaddy合作

GoDaddy 从2018年11月开始将其服务的一部分使用 FFmpegPHP。如果您需要服务器预装 ffmpegFFmpegPHP,请联系 GoDaddy,他们将在其“专家服务”中为您完成此操作。作为 FFmpegPHP 的作者,我同意为来自 GoDaddy 并询问 FFmpegPHP 的用户提供支持。所有来自 GoDaddy 的新客户,请使用 GitHub 问题 作为支持渠道。

作者

参考资料