Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-native-create-thumbnail

Package Overview
Dependencies
Maintainers
0
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-create-thumbnail

iOS/Android thumbnail generator with support for both local and remote videos

  • 2.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
23K
decreased by-7.6%
Maintainers
0
Weekly downloads
 
Created
Source

react-native-create-thumbnail

iOS/Android thumbnail generator with storage/cache management and 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 react-native-create-thumbnail
    

    or

    yarn add 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
maxWidthNumber (default 512)Max thumbnail width in px
maxHeightNumber (default 512)Max thumbnail height in px
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.
timeToleranceMsNumber (default 2000, Only iOS)Time tolerance in ms for the system to pick the best matching video frame
onlySyncedFramesBoolean (default true, Only Android)Specify how Android target frames. Use true to retrieve a sync frame that has a timestamp closest to the specified one. Use false to retrieve a frame that may or may not be a sync frame but is closest to the specified timestamp.

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.

Keywords

FAQs

Package last updated on 07 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc