char0n / ffmpeg-php
FFmpeg应用程序的PHP封装
Requires
- php: >=7
- ext-gd: *
- ext-mbstring: *
- ext-xml: *
Requires (Dev)
- iautomation/filesystem-helper: 1.0.0
- phpdocumentor/phpdocumentor: 3.1.2
- phpunit/phpunit: 8.5.21
- squizlabs/php_codesniffer: 3.6.1
This package is auto-updated.
Last update: 2024-09-14 05:12:20 UTC
README
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。如果您需要服务器预装 ffmpeg 和 FFmpegPHP,请联系 GoDaddy,他们将在其“专家服务”中为您完成此操作。作为 FFmpegPHP 的作者,我同意为来自 GoDaddy 并询问 FFmpegPHP 的用户提供支持。所有来自 GoDaddy 的新客户,请使用 GitHub 问题 作为支持渠道。
作者
- char0n (Vladimír Gorej)
- 邮箱: vladimir.gorej@gmail.com
- 网站: https://www.linkedin.com/in/vladimirgorej/