图像创建mp4视频"/>
Node.js ffmpeg从2个或更多jpg图像创建mp4视频
[我正在制作视频动画制作器,该动画制作器首先从html .jpg
标签生成canvas
图像,然后将这些图像用作视频的帧。我正在使用ffmpeg
进行视频生成。
仅使用一张图像时有效
const ffmpeg = require('fluent-ffmpeg');
ffmpeg.setFfmpegPath("C://Program Files/ffmpeg/bin/ffmpeg.exe");
var command = ffmpeg();
command
.input("./test.jpg")
.save("./test.mp4")
.outputFPS(1)
.on('end', () => {
console.log("done");
});
我用这段代码制作了一个1秒长的mp4视频,但这仅用一个图像/帧。
我想做的事(2张以上图片)
const ffmpeg = require('fluent-ffmpeg');
ffmpeg.setFfmpegPath("C://Program Files/ffmpeg/bin/ffmpeg.exe");
var command = ffmpeg();
command
.input("./test.jpg")
.input("./another.jpg")
.save("./test.mp4")
.outputFPS(1)
.frames(2)
.on('end', () => {
console.log("done");
});
这不起作用,因为它生成的视频与第一个示例相同。代替显示第一秒的一个图像和第二秒的另一个图像,它会生成一个只有第一幅图像的一秒钟长视频。
有人可以显示如何解决此问题吗?
回答如下:好查看文档后,似乎添加两个图像作为输入的唯一方法是使用图像文件模式。
我只需要以类似的模式命名图像
image0.jpg
image1.jpg
image2.jpg
或者如果需要10+或100+图像,则带有其他前面的0。
现在我可以做command.input("./image%1d.jpg")
。希望这对以后与我有同样问题的人们有所帮助。
更多推荐
Node.js ffmpeg从2个或更多jpg图像创建mp4视频
发布评论