All Projects → RyanAfrish7 → thumbsupply

RyanAfrish7 / thumbsupply

Licence: MIT license
Generate thumbnails for your videos from node.js.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to thumbsupply

Epeg
Insanely fast JPEG/ JPG thumbnail scaling with the minimum fuss and CPU overhead. It makes use of libjpeg features of being able to load an image by only decoding the DCT coefficients needed to reconstruct an image of the size desired.
Stars: ✭ 220 (+1194.12%)
Mutual labels:  thumbnails
BlenderQuickLook
A Quick Look Plugin for generating Blender3D file thumbnails.
Stars: ✭ 36 (+111.76%)
Mutual labels:  thumbnails
flutter scroll gallery
Gallery with thumbnails
Stars: ✭ 42 (+147.06%)
Mutual labels:  thumbnails
Node S3 Uploader
Flexible and efficient resize, rename, and upload images to Amazon S3 disk storage. Uses the official AWS Node SDK for transfer, and ImageMagick for image processing. Support for multiple image versions targets.
Stars: ✭ 237 (+1294.12%)
Mutual labels:  thumbnails
nano photos provider2
PHP photos provider for nanogallery2
Stars: ✭ 37 (+117.65%)
Mutual labels:  thumbnails
react-hover-video-player
A React component for rendering videos that play on hover, including support for mouse and touch events and a simple API for adding thumbnails and loading states.
Stars: ✭ 60 (+252.94%)
Mutual labels:  thumbnails
Gallery shell
📷 Bash Script to generate static responsive image web galleries.
Stars: ✭ 198 (+1064.71%)
Mutual labels:  thumbnails
express-thumbnail
Express framework middleware for creation of thumbnails on the fly
Stars: ✭ 14 (-17.65%)
Mutual labels:  thumbnails
laravel-thumbnails
Laravel Package for making thumbnails instantly
Stars: ✭ 51 (+200%)
Mutual labels:  thumbnails
image-zoom
smooth, iOS/medium.com style thumbnail viewing
Stars: ✭ 35 (+105.88%)
Mutual labels:  thumbnails
MementoEmbed
A service that provides archive-aware oEmbed-compatible embeddable surrogates (social cards, thumbnails, etc.) for archived web pages (mementos).
Stars: ✭ 13 (-23.53%)
Mutual labels:  thumbnails
lamba-thumbnailer
AWS S3 Video Thumbnailer with Lambda
Stars: ✭ 21 (+23.53%)
Mutual labels:  thumbnails
micro
A not-so-micro ShareX server with support for thumbnails, deleting uploads and users.
Stars: ✭ 25 (+47.06%)
Mutual labels:  thumbnails
Lsix
Like "ls", but for images. Shows thumbnails in terminal using sixel graphics.
Stars: ✭ 2,635 (+15400%)
Mutual labels:  thumbnails
LPThumbnailView
A thumbnail view for iOS to give context to multiple images/videos using thumbnails and counter.
Stars: ✭ 54 (+217.65%)
Mutual labels:  thumbnails
Vcsi
Create video contact sheets, thumbnails
Stars: ✭ 219 (+1188.24%)
Mutual labels:  thumbnails
flask-thumbnails
A simple extension to create a thumbs for the flask framework
Stars: ✭ 59 (+247.06%)
Mutual labels:  thumbnails
thumbnailme
Thumbnail me is an open source software project based on the ‘Movie Thumbnailer’ binary.
Stars: ✭ 63 (+270.59%)
Mutual labels:  thumbnails
oembed
PHP OEmbed wrapper for well-known video platforms and services
Stars: ✭ 26 (+52.94%)
Mutual labels:  thumbnails
yet-another-speed-dial
a modern speed dial for chrome, edge and firefox
Stars: ✭ 102 (+500%)
Mutual labels:  thumbnails

thumbsupply

Asynchronous Node.js module to create, cache and fetch thumbnails from videos. It uses ffmpeg to generate thumbnails and ES6 Promise.

The API is more reliable now and is unlikely to have major changes before stable release.

Healthy criticisms, feature requests and issues are welcome.

NOTE: Since v0.2, the module no longer maintains thumbnails separately for each application. This behavior is intended to improve the performance and utilize caching as far as possible.

Installation

npm install thumbsupply

Usage

Generating Thumbnails

The resolved promise gives filepath of the generated thumbnail. In case of modifications to be performed on the generated thumbnail, it's recommended to work on a copy.

Using generateThumbnail() method by default enables caching to speeden up the process.

const thumbsupply = require('thumbsupply');

thumbsupply.generateThumbnail('some-video.mp4')
    .then(thumb => {
        // serve thumbnail
    })

It accepts options to control timestamp and size of the thumbnail. The forceCreate option can be used to generate the thumbnail every time. Mimetype of the file can be specified using mimetype option. It overrides mimetype derived from the file extension and can be used for cases where such derivation is not possible. cacheDir allows configuring the directory to store the thumbnail cache. Unless there is an explicit need, it is good to use shared cache.

const thumbsupply = require('thumbsupply');

thumbsupply.generateThumbnail('some-video.mp4', {
    size: thumbsupply.ThumbSize.MEDIUM, // or ThumbSize.LARGE
    timestamp: "10%", // or `30` for 30 seconds
    forceCreate: true,
    cacheDir: "~/myapp/cache",
    mimetype: "video/mp4"
})

NOTE: Thumbnails which are older than the video get expired automatically.

Look up Thumbnails

Instead of creating a thumbnail, sometimes you may need to get the thumbnail if it exists.

const thumbsupply = require('thumbsupply');

thumbsupply.lookupThumbnail('some-video.mp4')
    .then(thumb => {
        // serve thumbnail
    })
    .catch(err => {
        // thumbnail doesn't exist
    });

Features on the way

thumbsupply will soon be supporting music, pictures and so on. The architecture required is already shipped.

Developers can experiment with some of the non public API's to create thumbnail suppliers supporting new formats. Documentation on how to do that will be released with the production version.

Limitations

  • Thumbnail sizes may get rounded off to next even number. Find more information here
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].