jschan - Anonymous imageboard software. Classic look, modern features and feel. Works without JavaScript and supports Tor, I2P, Lokinet, etc.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
const ffmpeg = require('fluent-ffmpeg')
|
|
|
|
, config = require(__dirname+'/../../config.js')
|
|
|
|
, uploadDirectory = require(__dirname+'/uploadDirectory.js');
|
|
|
|
|
|
|
|
module.exports = (file) => {
|
|
|
|
|
|
|
|
const { thumbSize } = config.get;
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
ffmpeg(`${uploadDirectory}/file/${file.filename}`)
|
|
|
|
.on('end', () => {
|
|
|
|
return resolve();
|
|
|
|
})
|
|
|
|
.on('error', function(err, stdout, stderr) {
|
|
|
|
return reject(err);
|
|
|
|
})
|
|
|
|
.complexFilter([{
|
|
|
|
filter: 'showwavespic',
|
|
|
|
options: { split_channels: 1, s: `${thumbSize}x${thumbSize}` }
|
|
|
|
}])
|
|
|
|
.save(`${uploadDirectory}/file/thumb/${file.hash}${file.thumbextension}`);
|
|
|
|
});
|
|
|
|
|
|
|
|
};
|