Я использую ffmpeg (пакет node.js) для преобразования gif в mp4, но результат не тот, который я ожидаю.
Код:
ffmpeg(inputFile)
.inputFormat('gif')
.complexFilter([
'[0:v]alphaextract[a]',
'[0:v][a]hstack=inputs=2'
])
.outputOptions([
'-movflags faststart'
])
.fps(options.fps)
.toFormat('mp4')
.on('error', function(err, stdout, stderr) {
return callback(err);
})
.on('progress', function(progress) {
})
.on('end', function() {
utils.lockFile(constants.PATH_UPLOADS + 'artworks/' + outputVideoName);
return callback(null, { name: outputVideoName });
})
.output(constants.PATH_UPLOADS + 'artworks/' + outputVideoName)
.outputFPS(options.fps)
.run();
ввод gif: https://imgur.com/IY4yHJR вывод видео: https://youtu.be/XKu5LemTN8A
Почему в результате mp4 содержит дополнительное черно-белое изображение