2.0.0 • Published 4 months ago
react-native-create-thumbnail v2.0.0
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)
Getting started
Install library from
npm
npm i react-native-create-thumbnail
or
yarn add react-native-create-thumbnail
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
Property | Type | Description |
---|---|---|
url | String (required) | Path to video file (local or remote) |
timeStamp | Number (default 0 ) | Thumbnail timestamp (in milliseconds) |
format | String (default jpeg ) | Thumbnail format, can be one of: jpeg , or png |
dirSize | Number (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. |
headers | Object | Headers to load the video with. e.g. { Authorization: 'someAuthToken' } |
cacheName | String (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
Property | Type | Description |
---|---|---|
path | String | Path to generated thumbnail |
size | Number | Size (in bytes) of thumbnail |
mime | String | Mimetype of thumbnail |
width | Number | Thumbnail width |
height | Number | Thumbnail 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
react-native-thumbnail
- A great source of inspiration- This project was bootstrapped with
create-react-native-module
Maintenance Status
Active: Bug reports, feature requests and pull requests are welcome.
2.0.0
4 months ago
1.6.4
1 year ago
2.0.0-rc.2
2 years ago
1.6.3
2 years ago
1.6.2
2 years ago
1.6.1
2 years ago
1.6.0
2 years ago
1.5.1
2 years ago
1.5.0
2 years ago
1.4.1
3 years ago
1.2.3
3 years ago
1.4.0
3 years ago
1.3.0
3 years ago
1.2.2
3 years ago
1.2.1
4 years ago
1.2.0
4 years ago
1.1.1
4 years ago
1.1.0
4 years ago
1.0.5
4 years ago
1.0.4
4 years ago
1.0.3
4 years ago
1.0.2
4 years ago
1.0.1
4 years ago
1.0.0
4 years ago