首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js ffmpeg从2个或更多个jpg图像创建mp4视频

Node.js ffmpeg从2个或更多个jpg图像创建mp4视频
EN

Stack Overflow用户
提问于 2020-05-09 00:10:40
回答 1查看 1.6K关注 0票数 1

我正在制作一个视频动画,它首先从html canvas标记生成canvas图像,然后使用这些图像作为视频的帧。我正在使用ffmpeg进行视频生成。

当只使用一个图像时就能工作

代码语言:javascript
复制
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+图片)

代码语言:javascript
复制
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");
    });

这是不工作的,因为它产生相同的视频作为第一个例子。它不显示第一秒钟的一幅图像和第二秒钟的另一幅图像,而是生成只有第一张图像的一秒长视频。

谁能告诉我怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-09 20:05:27

好的。在查看文档之后,添加两个图像作为输入的唯一方法似乎是使用图像文件模式。

我只需要用一个模式命名这些图像

代码语言:javascript
复制
image0.jpg
image1.jpg
image2.jpg

或者,如果我想要10+或100+图像,可以使用附加的0。

现在我可以做command.input("./image%1d.jpg")了。希望这对将来和我有同样问题的人有帮助。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61690101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档