Я использую fluent-ffmpeg для сжатия видео до битрейта 1000k для видео, которые загружаются пользователем в firebase.
console.info("Compressed File Path: " + compressedVideoFilePath);
const command = ffmpeg(tempFilePath).setFfmpegPath(ffmpegStatic.path)
.videoBitrate(1000)
//.audioChannels(1)
//.audioFrequency(16000)
//.format('flac')
.on('error', function(err) {
console.info('An error occurred: ' + err.message);
})
.on('end', function() {
console.info('Processing finished!');
console.info("File compressed");
return destBucket.upload(compressedVideoFilePath, {
destination: 'compressed-' + path.basename(filePath),
metadata: metadata
}).then(() => {
console.info('Output audio uploaded to', targetStorageFilePath);
// Once the audio has been uploaded delete the local file to free up disk space.
fs.unlinkSync(tempFilePath);
fs.unlinkSync(targetTempFilePath);
console.info('Temporary files removed.', targetTempFilePath);
});
})
.save(compressedVideoFilePath);
console.info("Function Finished");
Но код внутри ffmpeg не запускается, вывод консоли просто:
Compressed File Path: /tmp/compressed-test-4d68b02f-a6ef-4ff3-a5c9-52687fd3f0c4.mp4
Function Finished
Function execution took 17871 ms, finished with status: 'ok'
Он просто переходит в конец, не отображая ни одного сообщения об успешном завершении. Сжатые видеофайлы также не появлялись / не загружались в firebase.
Может ли кто-нибудь помочь мне выяснить проблему и исправить ее? Код для ffmpeg неправильный? Спасибо.
Гм ... Значит ли это, что мне нужно добавить command (); перед console.info ("Функция завершена") ;? Спасибо
Я не думаю, что это проблема, это показывает: TypeError: команда не является функцией.





вы определили ffmpeg как функцию, но ... вы не вызвали функцию, как определено