1.5.3 • Published 2 years ago

@ckaznable/react-native-create-thumbnail v1.5.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

react-native-create-thumbnail

iOS/Android thumbnail generator with support for both local and remote videos. react-native-create-thumbnail is a wrapper around AVAssetImageGenerator (iOS) and MediaMetadataRetriever (Android)

npm version npm downloads Maintenance Status

Getting started

  1. Install library from npm

    npm i @ckaznable/react-native-create-thumbnail

    or

    yarn add @ckaznable/react-native-create-thumbnail
  2. Link native code

    With autolinking (react-native 0.60+)

    cd ios && pod install

    Pre 0.60

    react-native link react-native-create-thumbnail

Usage

import { createThumbnail } from "react-native-create-thumbnail";

createThumbnail({
  url: '<path to video file>',
  timeStamp: 10000,
})
  .then(response => console.log({ response }))
  .catch(err => console.log({ err }));

Request Object

PropertyTypeDescription
urlString (required)Path to video file (local or remote)
timeStampNumber (default 0)Thumbnail timestamp (in milliseconds)
formatString (default jpeg)Thumbnail format, can be one of: jpeg, or png
dirSizeNumber (default 100)Maximum size of the cache directory (in megabytes). When this directory is full, the previously generated thumbnails will be deleted to clear about half of it's size.
headersObjectHeaders to load the video with. e.g. { Authorization: 'someAuthToken' }
cacheNameString (optional)Cache name for this thumbnail to avoid duplicate generation. If specified, and a thumbnail already exists with the same cache name, it will be returned instead of generating a new one.

Response Object

PropertyTypeDescription
pathStringPath to generated thumbnail
sizeNumberSize (in bytes) of thumbnail
mimeStringMimetype of thumbnail
widthNumberThumbnail width
heightNumberThumbnail height

Notes

Requires following Permissions on android

READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE

Limitations

  • Remote videos aren't supported on android sdk_version < 14.
  • This is a Native Module, so it won't work in expo managed projects.
  • This library heavily depends on the native API's to generate the thumbnails. Thus it can only generate from the video formats/codecs that are supported by the device's OS.

Credits

Maintenance Status

Active: Bug reports, feature requests and pull requests are welcome.