Download the PHP package iakumai/php-ffmpeg without Composer
On this page you can find all versions of the php package iakumai/php-ffmpeg. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download iakumai/php-ffmpeg
More information about iakumai/php-ffmpeg
Files in iakumai/php-ffmpeg
Package php-ffmpeg
Short Description FFMpeg PHP, an Object Oriented library to communicate with AVconv / ffmpeg. Now supports Qt-faststart
License MIT
Informations about the package php-ffmpeg
PHP FFmpeg (Fork)
An Object Oriented library to convert video/audio files with FFmpeg / AVConv.
Check another amazing repo: PHP FFMpeg extras, you will find lots of Audio/Video formats there.
Installation
The recommended way to install PHP-FFMpeg is through Composer.
Basic Usage
Documentation
This documentation is an introduction to discover the API. It's recommended to browse the source code as it is self-documented.
Qt-Faststart
FFMpeg\QtFaststart
can make MP4 files progressive. This helps the video to playback as early as possible.
If you want to give binary paths explicitely, you can pass an array as configuration.
FFMpeg
FFMpeg\FFMpeg
is the main object to use to manipulate medias. To build it,
use the static FFMpeg\FFMpeg::create
:
FFMpeg will autodetect ffmpeg and ffprobe binaries. If you want to give binary
paths explicitely, you can pass an array as configuration. A Psr\Logger\LoggerInterface
can also be passed to log binary executions.
Manipulate media
FFMpeg\FFMpeg
creates media based on file paths. To open a file path, use the
FFMpeg\FFMpeg::open
method.
Two types of media can be resolved : FFMpeg\Media\Audio
and FFMpeg\Media\Video
.
A third type, FFMpeg\Media\Frame
, is available through videos.
Video
FFMpeg\Media\Video
can be transcoded, ie : change codec, isolate audio or
video. Frames can be extracted.
Transcoding
You can transcode videos using the FFMpeg\Media\Video:save
method. You will
pass a FFMpeg\Format\FormatInterface
for that.
Transcoding progress can be monitored in realtime, see Format documentation below for more informations.
You can use an extra parameters in save() method.
Extracting image
You can extract a frame at any timecode using the FFMpeg\Media\Video::frame
method.
This code return a FFMpeg\Media\Frame
instance corresponding to the second 42.
You can pass any FFMpeg\Coordinate\TimeCode
as argument, see dedicated
documentation below for more information.
Filters
You can apply filters on FFMpeg\Media\Video
with the FFMpeg\Media\Video::addFilter
method. Video accepts Audio and Video filters.
You can build your own filters and some are bundled in PHP-FFMpeg - they are
accessible through the FFMpeg\Media\Video::filters
method.
Filters are chainable
Resize
Resizes a video to a given size.
The resize filter takes three parameters :
$dimension
, an instance ofFFMpeg\Coordinate\Dimension
$mode
, one of the constantsFFMpeg\Filters\Video\ResizeFilter::RESIZEMODE_*
constants$useStandards
, a boolean to force the use of the nearest aspect ratio standard.
Framerate
Changes the frame rate of the video.
The framerate filter takes two parameters :
$framerate
, an instance ofFFMpeg\Coordinate\Framerate
$gop
, a GOP value (integer)
Synchronize
Synchronizes audio and video.
Some containers may use a delay that results in desynchronized outputs. This filters solves this issue.
Audio
FFMpeg\Media\Audio
can be transcoded, ie : change codec, isolate audio or
video. Frames can be extracted.
Transcoding
You can transcode audios using the FFMpeg\Media\Audio:save
method. You will
pass a FFMpeg\Format\FormatInterface
for that.
Transcoding progress can be monitored in realtime, see Format documentation below for more informations.
Filters
You can apply filters on FFMpeg\Media\Audio
with the FFMpeg\Media\Audio::addFilter
method. It only accepts audio filters.
You can build your own filters and some are bundled in PHP-FFMpeg - they are
accessible through the FFMpeg\Media\Audio::filters
method.
Resample
Resamples an audio file.
The resample filter takes two parameters :
$rate
, a valid audio sample rate value (integer)
Frame
A frame is a image at a timecode of a video ; see documentation above about frame extraction.
You can save frames using the FFMpeg\Media\Frame::save
method.
This method has a second optional boolean parameter. Set it to true to get accurate images ; it takes more time to execute.
Formats
A format implements FFMpeg\Format\FormatInterface
. To save to a video file,
use FFMpeg\Format\VideoInterface
, and FFMpeg\Format\AudioInterface
for
audio files.
Format can also extends FFMpeg\Format\ProgressableInterface
to get realtime
informations about the transcoding.
Predefined formats already provide progress informations as events.
The callback provided for the event can be any callable.
Create your own format
The easiest way to create a format is to extend the abstract
FFMpeg\Format\Video\DefaultVideo
and FFMpeg\Format\Audio\DefaultAudio
.
and implement the following methods.
Coordinates
FFMpeg use many units for time and space coordinates.
FFMpeg\Coordinate\AspectRatio
represents an aspect ratio.FFMpeg\Coordinate\Dimension
represent a dimension.FFMpeg\Coordinate\FrameRate
represent a framerate.FFMpeg\Coordinate\Point
represent a point.FFMpeg\Coordinate\TimeCode
represent a timecode.
FFProbe
FFMpeg\FFProbe
is used internally by FFMpeg\FFMpeg
to probe medias. You can
also use it to extract media metadata.
Using with Silex Microframework
Service provider is easy to set up :
Available options are as follow :
API Browser
Browse the API
License
This project is licensed under the MIT license.
All versions of php-ffmpeg with dependencies
alchemy/binary-driver Version ~1.5
doctrine/cache Version ~1.0
evenement/evenement Version ~1.0