ffmpeg вышел с кодом 1: Ошибка повторной инициализации фильтров! Не удалось ввести кадр в сеть фильтров: Неверный аргумент

#javascript #node.js #ffmpeg #video-processing

Вопрос:

Используя видео-шоу npm, я создаю видео из нескольких изображений. сначала возникла проблема, но затем я отключил и установил ffmpeg. Теперь произошла еще одна ошибка.Заранее спасибо всем. это мой код.

    //create a video from multiple images 

var secondsToShowEachImage = 3
var finalVideoPath = '/outputImages/newvideo2.mp4'

// setup videoshow options
var videoOptions = {
  fps: 24,
  transition: false,
  videoBitrate: 1024 ,
  videoCodec: 'libx264', 
  size: '640x640',
  outputOptions: ['-pix_fmt yuv420p'],
  format: 'mp4' 
}
let path1= '/InputImages/abc.jpg';
let path2 = '/InputImages/xy.jpg'
let path3 = '/InputImages/ab.jpg'

// array of images to make the 'videoshow' from
var images = [
  {path: path1, loop: secondsToShowEachImage}, 
  {path: path2, loop: secondsToShowEachImage}
]
console.log('working --->')
 videoshow(images, videoOptions)
.save(finalVideoPath)
// console.log('hello world')
.on('start', function (command) { 

  console.log('encoding '   finalVideoPath   ' with command '   command) 
})
.on('error', function (err) {
   console.log('err' , err)
//   return Promise.reject(new Error(err)) 
})
.on('end', function (output) {
  // do stuff here when done
})
 

Ошибка в том, что

 err Error: ffmpeg exited with code 1: Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #1:0
Conversion failed!

    at ChildProcess.<anonymous> (E:Video-Editor-PracticeNodees6video-editorNewVideoEditornode_modulesfluent-ffmpeglibprocessor.js:182:22)
 

Ответ №1:

 This issue is due to images sizes. Resize all images first then try again 
use this below code 
use this code for all images of video.
const image = await Jimp.read(path);  
image.resize(ResizeImageWidth , ResizeImageHeight )
.write(outputImagepath);