FFmpegPHP is a pure OO PSR-4 compatible PHP port of ffmpeg-php library (that was written in C). It adds an easy to use, object-oriented API for accessing and retrieving information from video and audio files. It has methods for returning frames from movie files as images that can be manipulated using PHP image functions. This works well for automatically creating thumbnail images from movies. FFmpegPHP is also useful for reporting the duration and bitrate of audio files (mp3, wma...). FFmpegPHP can access many of the video formats supported by ffmpeg (mov, avi, mpg, wmv...)
FFmpegPHP can be used as a drop in replacement for ffmpeg-php library.
FFmpegPHP API documentation can be found here http://char0n.github.io/ffmpeg-php/.
Grab the source code located in src/
directory and use it as you seem appropriate.
Grab the composer.phar
which can install packages published on packagist.
$ wget https://raw.githubusercontent.com/composer/getcomposer.org/1b137f8bf6db3e79a38a5bc45324414a6b1f9df2/web/installer -O - -q | php
This command will create file called composer.phar
.
Create a file called composer.json
and paste the following JSON into it:
{
"require": {
"char0n/ffmpeg-php": "^3.0.0"
}
}
Install the FFmpegPHP by running the following command:
$ php composer.phar install
After this command is successfully executed, the new directory called vendor/
is created.
File structure of your current working directory should now look like this:
- composer.json
- composer.phar
- vendor/
To verify that everything works as expected create new file called test.php
inside your current working
directory with the following content.
<?php
require_once './vendor/autoload.php';
use Char0n\FFMpegPHP\Movie;
$movie = new Movie('./test.mp4');
var_dump($movie->getDuration());
Before you run the script you need to also download the testing movie file:
$ wget https://github.com/char0n/ffmpeg-php/raw/master/tests/data/test.mp4
Now run it.
$ php test.php
The output should be something similar to the following:
float(32.14)
Note
Notice the first line (require './vendor/autoload.php';
) in the above script. This line is
necessary because it configures how the FFmpegPHP will be included into your scripts and it
auto-magically knows where to look for FFmpegPHP.
FFmpegPHP is build using PSR-4 standard and it's interface is purely Object Oriented. We're using standar OOP patterns to create our API.
use Char0n\FFMpegPHP\Movie;
$movie = new Movie('/path/to/media.mpeg');
$movie->getDuration(); // => 24
On top of our OO interface, there is an additional one that provides full compatibility with original ffmpeg-php library.
use Char0n\FFMpegPHP\Adapters\FFMpegMovie as ffmpeg_movie;
$movie = new ffmpeg_movie('/path/to/media.mpeg');
$movie->getDuration(); // => 24
GoDaddy started to use FFmpegPHP as part of it's services from November 2018. If you need a server with ffmpeg and FFmpegPHP installed on it contact GoDaddy and they'll do it for you as part of its "Expert Service". As author of FFmpegPHP I agreed to provide support for users coming from GoDaddy asking about FFmpegPHP. All incoming GoDaddy customers, please use GitHub issues as a support channel.
Classes of Vladimir Gorej | > | FFmpeg PHP | > | Download .zip .tar.gz | > | Support forum (3) | > | Blog | > | Latest changes |
|
|
Groups | Trackback | Applications | Related pages | Files |
Groups |
PHP 5 | Classes using PHP 5 specific features | View top rated classes |
Audio | Voice and music data generation and manipulation | View top rated classes |
Video | Movies and video data generation and manipulation | View top rated classes |
Recommendations |
API or class for detecting video meta data
I need to get meta data for a video like frame-rate, length etc
Pages that reference this package |
Extracting frames from videos using PHP (Polish) Thanks to Vladimir and his script are burning FFmpeg PHP published on phpclasses.org made it possible. |
Latest pages that reference packages
Applications that use this package |
Coiton project Video sharing system |
VideoDroid converter free online service allowing you to convert and download Videos to MP3 with ease |
If you know an application of this package, send a message to the author to add a link here.
Related pages |
FFmpegPHP git repository FFmpegPHP git repository |
FFmpegPHP Homepage FFmpegPHP Homepage |
PEAR channel FFmpegPHP PEAR installer channel |
Files |
File | Role | Description | ||
---|---|---|---|---|
test (1 directory) | ||||
.circleci (1 file) | ||||
scripts (1 file) | ||||
src (3 files, 2 directories) | ||||
tests (5 files, 3 directories) | ||||
.editorconfig | Data | Auxiliary data | ||
composer.json | Data | Auxiliary data | ||
LICENSE.md | Lic. | License text | ||
package.xml | Data | Auxiliary data | ||
phpcs.xml | Data | Auxiliary data | ||
README.md | Doc. | Documentation |
Files | / | src |
File | Role | Description | ||
---|---|---|---|---|
Adapters (3 files) | ||||
OutputProviders (5 files) | ||||
AnimatedGif.php | Class | Class source | ||
Frame.php | Class | Class source | ||
Movie.php | Class | Class source |
Files | / | src | / | Adapters |
File | Role | Description |
---|---|---|
FFMpegAnimatedGif.php | Class | Class source |
FFMpegFrame.php | Class | Class source |
FFMpegMovie.php | Class | Class source |
Files | / | src | / | OutputProviders |
File | Role | Description |
---|---|---|
AbstractProvider.php | Class | Class source |
FFMpegProvider.php | Class | Class source |
FFProbeProvider.php | Class | Class source |
OutputProvider.php | Class | Class source |
StringProvider.php | Class | Class source |
Files | / | tests |
File | Role | Description | ||
---|---|---|---|---|
Adapters (3 files) | ||||
data (1 file) | ||||
OutputProviders (2 files) | ||||
AnimatedGifTest.php | Class | Class source | ||
bootstrap.php | Aux. | Auxiliary script | ||
FrameTest.php | Class | Class source | ||
MovieTest.php | Class | Class source | ||
phpunit.xml | Data | Auxiliary data |
Files | / | tests | / | Adapters |
File | Role | Description |
---|---|---|
FFMpegAnimatedGifTest.php | Class | Class source |
FFMpegFrameTest.php | Class | Class source |
FFMpegMovieTest.php | Class | Class source |
Files | / | tests | / | OutputProviders |
File | Role | Description |
---|---|---|
FFMpegProviderTest.php | Class | Class source |
FFProbeProviderTest.php | Class | Class source |
Install with Composer - Download all files: ffmpeg-php.tar.gz ffmpeg-php.zip NOTICE: if you are using a download manager program like 'GetRight', please Login before trying to download this archive.
|