vide.me/video-thumbnail-sprite

PHP library for generating video thumbnail sprites

v1.0.3 2018-04-20 09:34 UTC

This package is not auto-updated.

Last update: 2024-04-25 00:51:09 UTC


README

Software License Packagist Version

WARNING: This library is in maintenance-only mode. While it's stable (and has been for many years) and we still do minimal maintenance for this library, we don't use it in production anymore and it will not receive new features from now on. /WARNING

PHP library for generating video thumbnail sprites to be used for thumbnails in JWPlayer's seek bar.

System requirements

PHP 7.x (see release 0.2 for the latest version supporting PHP 5.5/5.6).

Following binaries need to be installed

Installation

composer require emgag/video-thumbnail-sprite

Usage

use Emgag\Video\ThumbnailSprite\ThumbnailSprite;

$sprite = new ThumbnailSprite();
$ret = $sprite->setSource('path-to-source-video.mp4')
       ->setOutputDirectory('dir-to-store-sprite-and-vtt')
       // filename prefix for image sprite and WebVTT file (defaults to "sprite", resulting in "sprite.jpg" and "sprite.vtt")
       ->setPrefix('sprite') 
       // absolute URL of sprite image or relative to where the WebVTT file is stored
       ->setUrlPrefix('http://example.org/sprites')
       // sampling rate in seconds 
       ->setRate(10) 
       // minimum number of images (will modify sampling rate accordingly if it would result in fewer images than this)
       ->setMinThumbs(20)
       // width of a single thumbnail in px 
       ->setWidth(120) 
       ->generate();
       
// $ret = ['vttFile' => 'path-to-vtt-file', 'sprite' => 'path-to-sprite-file'] 

There are two different thumbnailing methods available, ffmpeg (default) or ffmpegthumbnailer.

// default, is set implicitly if not provided
$sprite->setThumbnailer(new Thumbnailer\Ffmpeg());
// change thumbnailer to ffmpegthumbnailer
$sprite->setThumbnailer(new Thumbnailer\FfmpegThumbnailer());

To keep individual source images of the sprite instead of removing it after assembling the sprite into a single image:

$sprite->setOutputImageDirectory('dir-to-store-images');

Acknowledgments

Uses:

License

video-thumbnail-sprite is licensed under the MIT License.