codescale/ffmpeg-php

FFmpeg应用程序的PHP包装器

3.2.2 2022-08-31 10:47 UTC

This package is not auto-updated.

Last update: 2024-09-25 23:00:30 UTC


README

Build Status

FFmpegPHP

FFmpegPHP是ffmpeg-php库(用C语言编写)的纯OO PSR-4兼容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安装

获取composer.phar,它可以安装在packagist上发布的包。

 $ 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问题作为支持渠道。

作者

参考资料