var proc =
ffmpeg()
.input('./public/img/capture/photoframe.png')
.input( scenePath + '%04d.png')
.inputFPS(15)
.input( msgPath + '%04d.png')
.inputFPS(15)
.input( path + data + '.' + ext )
.complexFilter([
"[3:v]scale=668:-1[scaledUGC]",
"[0]overlay=66:155[output0]",
"[output0][scaledUGC]overlay=66:155[output1]",
"[output1][1]overlay=66:155[output2]",
"[output2][2]overlay=66:155[output3]",
"[output3][0]overlay=0:0[output4]"
], 'output4')
.outputFPS(15)
.on('start', function(command) {
if (env === 'development') {
console.log(new Date());
console.log('Start with command:'+command);
}
})
// .on('progress', function(progress) {
// if (env === 'development') {
// console.log(progress.percent + "% done");
// }
// })
.on('end', function() {
if (env === 'development') {
console.log(new Date());
console.log('file has been converted succesfully');
}
var gifMaker =
ffmpeg()
.input('./public/_ugc/' + data + '.mp4')
.save('./public/_ugc/' + data + '.gif');
res.send({
status: "success",
uid: data
});
})
.on('error', function(err) {
console.log('an error happened: ' + err.message);
res.send({
status: "err",
uid: "err_video"
});
})
.save('./public/_ugc/' + data + '.mp4');
У меня есть приведенный выше код, который может успешно генерировать видео 5s на моем локальном Mac.
Однако, когда я отправляю код в производственную Ubuntu, он может генерировать только видео 1s.
На стороне Ubuntu нет ошибок. Интересно, пропустил ли я что-нибудь.
Мне также интересно, стоит ли предварительно предварительно загрузить исходные изображения?
узел v12.13.0
ffmpeg версия 2.8.15-0
ubuntu0.16.04.1