Usando video show npm, estoy creando un video a partir de varias imágenes. inicialmente hubo un problema, pero luego descargué e instalé ffmpeg.
Ahora ocurre otro error. Gracias a todos por adelantado.
Este es mi código:
//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 })el error es
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-Practice\Nodees6video-editor\NewVideoEditor\node_modules\fluent-ffmpeg\lib\processor.js:182:22)Este problema se debe al tamaño de las imágenes. Primero cambie el tamaño de todas las imágenes y luego intente nuevamente usar este código para todas las imágenes de video.
const image = await Jimp.read(path); image.resize(ResizeImageWidth , ResizeImageHeight ) .write(outputImagepath);