Длительность выходного видеофайла уменьшается в два раза при обработке с помощью fluent-ffmpeg - PullRequest
0 голосов
/ 04 ноября 2019

У меня настроен сервер узлов, и он требует файл для предварительной обработки. При использовании только библиотеки ffmpeg, файлы обрабатываются без проблем, при использовании fluent-ffmpeg, если видео составляет 20 секунд, вывод будет только последняя половина видео (10 секунд). Я пробовал несколько файлов различной длины и с той же проблемой. Любая идея, почему это произойдет?

const ffmpegPath = require('@ffmpeg-installer/ffmpeg').path;
const ffprobePath = require('@ffprobe-installer/ffprobe').path;
const ffmpeg = require('fluent-ffmpeg');

...

ffmpeg.setFfmpegPath(ffmpegPath);
ffmpeg.setFfprobePath(ffprobePath);

ffmpeg('video.mov').videoBitrate('512k').output('./output/video.mov')
    .on('error', function(err, stdout, stderr) {
      console.log('Cannot process video: ' + err.message);
    }).screenshots({
      count: 1,
      size:'640x480'
    });

1 Ответ

1 голос
/ 05 ноября 2019

Оказывается, я неправильно понял документы ... не может включать обработку ввода и снимки экрана в одном вызове ... должно быть

ffmpeg('video.mov').videoBitrate('512k')
    .output('./output/video.mov')
    .on('error', function(err, stdout, stderr) {
      console.log('Cannot process video: ' + err.message);
    });

и отдельно

ffmpeg('video.mov').screenshots({
      count: 1,
      size:'640x480'
    });

...