Download the PHP package spacecatninja/imager-x-video-adapter without Composer

On this page you can find all versions of the php package spacecatninja/imager-x-video-adapter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package imager-x-video-adapter

Imager X Video Adapter plugin for Craft CMS

A plugin for extracting and transforming images from videos using Imager X.
Also, an example of how to make a custom file adapter for Imager X.

Requirements

This plugin requires Imager X 4.1+/5.0+, Craft CMS 4.0+/5.0+, PHP 8.0+ and a working ffmpeg installation.

Installation

To install the plugin, follow these instructions:

  1. Install with composer via composer require spacecatninja/imager-x-video-adapter from your project directory.
  2. Install the plugin in the Craft Control Panel under Settings → Plugins, or from the command line via ./craft install/plugin imager-x-video-adapter.

Usage

Install and configure the adapter as described below.

You can now extract frames simply by adding a video file to Imager's transformImage method:

You can pass configuration parameters to the adapter, using the adapterParams transform parameter:

You can also create the adapter as a separate step, with the advantage of being able to better control settings, and inspecting the video.

Caveat regarding time

Sync issues have always plagued video manipulation, and this plugin is no exception. If you try to extract "the last frame" of a video, for instance by passing in 100% to the time parameter, you'll most likely get an error. Even if you've used video.getDuration() and pass that in, ffmpeg most often won't be able to extract a frame.

The only solution is backing up half a second or so, which will usually get you a usable frame.

Auto generation

The video adapter works perfectly with the auto generation functionality in Imager X. The only thing you need to do, is add the video file extensions that the video adapter is configured to register for (see addFileFormats below), to the list of safe file formats to transform, using the config setting 'safeFileFormats'.

Configuring

You can configure the adapter by creating a file in your config folder called imager-x-video-adapter.php, and override settings as needed.

ffmpegConfig [array]

Default: []
Under the hood, this adapter uses the excellent PHP-FFMPEG library. It tries to auto-detect your ffmpeg and ffprobe installation, and have reasonable defaults. But if it isn't able to detect your runtimes, you'll need to configure it manually.

This config setting takes an array which is passed directly to FFMpeg/FFProbe's create method. Here's an example with all the available settings:

defaultFormat [string]

Default: 'jpg'
Sets the default format of the temporary bitmap image that the adapter generates. You can of course transform this to whatever format you'd like later, using Imager.

defaultTime [int|float|string]

Default: '25%'
Sets the default time in the video that the thumbnail should be extracted from. It can be either an integer or float value representing seconds, or a string with a percentage value of the relative time in the video.

addFileFormats [array]

Default: ['mp4','mov','avi']
Specifies the file extensions that should be added to use this adapter when passed to Imager. Make sure that any file formats added, can actually be used by your ffmpeg installation.

cacheEnabled [bool]

Default: true
Enables/disables caching of generated images. Only disable this if testing, as it will seriously impact performance.

cacheDuration [bool|int]

Default: false
Sets the cacheDuration that's used if cacheEnabled is true. By default, forever. Clearing the Imager runtime cache will also clear this cache.


Price, license and support

The plugin is released under the MIT license. It requires Imager X, which is a commercial plugin available in the Craft plugin store.


All versions of imager-x-video-adapter with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0.2
ext-imagick Version *
craftcms/cms Version ^4.0.0|^5.0.0-beta.1
spacecatninja/imager-x Version ^4.1.0|^5.0.0-beta.1|^6.0.0-beta
php-ffmpeg/php-ffmpeg Version ^1.0.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package spacecatninja/imager-x-video-adapter contains the following files

Loading the files please wait ...