Как получить конкретное время начала и окончания в ffmpeg по Node JS?

1

Я хочу вырезать видео в определенное время начала и окончания и сохранить его. Я не могу понять, как сократить определенное время этого видео от Node JS.

Копия видео:

 return new Promise(function(resolve ,reject){
        var ffmpeg = require('fluent-ffmpeg');
        ffmpeg(fs.createReadStream(path.join(__dirname,'..','..','/video.mp4')))
            .seekInput('01:00')
            .duration('02:00')
            .outputOptions('-strict experimental')
            .on('start', function(commandLine) {
                console.log('Spawned Ffmpeg with command: ' + commandLine);
                }).on('end', function(err) {
                if (!err) {
                    console.log('conversion Done');
                    //res.send("conversion Done");
                    resolve();
                }
                }).on('error', function(err) {
                    console.log('error: ', +err);
                    reject(err);
                }).save(path.join(__dirname,'..','..','/test.mp4'));
    });
  • 0
    Я получаю на консоли NaN
Теги:
ffmpeg
video
video-streaming

1 ответ

1
Лучший ответ

Проверьте следующие шаги и пример кода,

  1. Установите ffmpeg, установленный на шагах вашей системы.
  2. Установите модуль fluent-ffmpeg в свой проект
  3. Пожалуйста, проверьте следующий пример кода

      function clipVideo() {
    
          var params = {
            input: 'input_file',
            start: 0,
            duration: 10,
            output: 'output_file'
          };
    
          return new Promise(function(resolve, reject) {
    
              ffmpeg(params.input)
                  .setStartTime(params.start)
                  .setDuration(params.duration)
                  .save(params.output)
                  .on('start', function(commandLine) {
                      console.log('start : ' + commandLine);
                  })
                  .on('progress', function(progress) {
                      console.log('In Progress !!' + Date());
                  })
                  .on('end', function() {
                      console.log("downlaod resolved");
                      return resolve(params.clippedFile);
    
                  })
                  .on('error', function(err) {
                      console.log("reject");
                      return reject(err);
                  })
          });
      }
    

Надеюсь, что это поможет вам !!

  • 0
    Я получаю сообщение об ошибке после выполнения вышеуказанного кода: an error happened: ffmpeg exited with code 1: home/santosh/video1.avi: Invalid data found when processing input
  • 0
    вам нужно передать полный путь к входному видео и выходному пути, например, Users / santosh / Documents / Workspace / VideoClip / routs / input.mp4
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню