Node.js: 将 MP4 转换为 GIF (puppeteer-lottie)

Node.js: Converting MP4 to GIF (puppeteer-lottie)

我正在尝试使用 NPM 包将 .mp4 文件转换为 .gif,但似乎没有任何效果。

我尝试为此使用 gifski binary package (NPM),但没有成功。它说它是一个二进制包,你可以通过 child_process.spawn() 或类似的方式使用它。我用 -g (global) 标志安装它,似乎即使有 global 标志也无法识别它。不确定是否可以设置 PATH 或任何东西。让我知道是否可行。

至于其他尝试,我使用了 gify 并且它没有做任何事情(没有文件或错误)。

我正在从 puppeteer-lottie NPM 包中获取 .mp4 文件。这是我的代码,如果需要进行测试:

const renderLottie = require('puppeteer-lottie');

await renderLottie({ animationData: data, output: 'example.mp4', width: 640 });

animationData: Sticker JSON

我很确定有更简单的方法可以做到这一点,但我只是使用复杂的方法。我只想在最后 .mp4.gif

感谢您的宝贵时间。

对于那些仍在寻找解决方案的人,我终于找到了。

我们只使用 ffmpegchild_process.exec()。无需安装任何东西。

const { exec } = require("child_process");

exec("ffmpeg -i input.mp4 -qscale 0 output.gif");

input 是您要转换的 mp4 文件,output 是您的结果 gif 文件。

来源:Conrad Lotz's answer