stef77dd/videothumbnailsprite

PHP library for generating video thumbnail sprites

1.0.3 2023-10-19 14:49 UTC

This package is auto-updated.

Last update: 2024-04-19 15:59:26 UTC


README

Software License Packagist Version

WARNING: This library is no longer maintained /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 stef77dd/videoThumbnailSprite

Usage

use \Stef77dd\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

videoThumbnailSprite is licensed under the MIT License.