如何在nodejs中从给定图像创建视频? 我已经使用了ffmpeg npm模块,但它不能为我工作,还使用了videohow npm模块,这对我来说也不起作用?
有人可以建议我如何从图像创建视频吗? 还给我一些基本的代码来运行。
答案 0 :(得分:2)
直接使用ffmpeg很有挑战性,我不推荐它。相反,我推荐你引用的videohow 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
})