如何从 Node.js 中的给定图像创建视频?我尝试使用ffmpegnpm 模块,但它对我不起作用,我也尝试使用videoshownpm 模块,但这对我也不起作用。
谁能建议如何从图像创建视频并给我一些基本的代码来运行?
直接使用 ffmpeg 具有挑战性,我不推荐它。相反,我推荐您引用的视频节目 npm。这也可能很棘手,但经过大量摆弄后,我能够让视频节目在我们的项目中很好地工作。
这是我的代码(只需填写您自己的路径,它应该可以工作)
var videoshow = require('videoshow')
var secondsToShowEachImage = 1
var finalVideoPath = '/whatever_path_works_for_you'
// setup videoshow options
var videoOptions = {
  fps: 24,
  transition: false,
  videoBitrate: 1024 ,
  videoCodec: 'libx264', 
  size: '640x640',
  outputOptions: ['-pix_fmt yuv420p'],
  format: 'mp4' 
}
// array of images to make the 'videoshow' from
var images = [
  {path: path1, loop: secondsToShowEachImage}, 
  {path: path2, loop: secondsToShowEachImage}, 
  ...etc  
]
videoshow(images, videoOptions)
.save(finalVideoPath)
.on('start', function (command) { 
  console.log('encoding ' + finalVideoPath + ' with command ' + command) 
})
.on('error', function (err, stdout, stderr) {
  return Promise.reject(new Error(err)) 
})
.on('end', function (output) {
  // do stuff here when done
})