@ibaraki-douji/anime4k-gif
Version:
Upscale GIFs using Anime4kCPP
93 lines (77 loc) • 2.14 kB
Markdown
# Anime4k GIF
A simple GIF upscaler using [anime-4k-cpp](https://github.com/TianZerL/Anime4KCPP) \
And my other lib [anime4k](https://www.npmjs.com/package/@ibaraki-douji/anime4k)
## Getting started
`npm i @ibaraki-douji/anime4k-gif --save`
## Usage
### Import the lib
```js
const anime4kgif = require('@ibaraki-douji/anime4k-gif')
```
### Start Upscale
```js
const anime4kgif = require('@ibaraki-douji/anime4k-gif')
const input = "./path/to/gif";
//const input = readFileSync('./path/to/gif'); // <- Buffer
const output = "./path/to/upscaled/gif";
//const output = "" // <- IF BufferOutput Option
const options = {
/**
* Threads
* -t
*/
threads: 16,
/**
* Upscale Multiplier
* -z
*/
scale: 2,
/**
* Choose GPU
* -q
*/
gpu: true,
outputAsBuffer: true
}
anime4kgif.upscale(input, output, options);
```
### Wait the end
```js
const anime4kgif = require('@ibaraki-douji/anime4k-gif')
const upscale = anime4kgif.upscale(input, output, options);
upscale.finishedPromise().then(() => {
console.log("Finished")
})
```
### Get Buffer at End
```js
const anime4kgif = require('@ibaraki-douji/anime4k-gif')
const upscale = anime4kgif.upscale(input, output, options);
upscale.finishedPromise().then(() => {
writeFileSync("./buffer.gif", upscale.endBuffer);
})
```
### List yours GPUs
```js
const anime4kgif = require('@ibaraki-douji/anime4k-gif')
anime4kgif.listGPUs().then(console.log)
```
## Exemple
```js
const anime4kgif = require('@ibaraki-douji/anime4k-gif')
// npm i axios
const axios = require('axios').default
// MAKE A ASYNC FUNCTION AT START
(async () => {
const upscale = anime4kgif.upscale((await axios.get('https://cdn.discordapp.com/attachments/770019121349001227/874597329594892338/in.gif')).data, "./output.gif", {
upscale: 2,
noise: 0
});
await upscale.finishedPromise()
console.log("Finished");
})()
```
## More Help and Support
Discord : https://discord.gg/mD9c4zP4Er
#
Ask me what you want in the Discord server