Node.js:从 jpeg 图像到视频文件的实时转换

标签 node.js video ffmpeg socket.io jpeg

我正在使用 node.js 并通过 socket.io 库接收到实际上是 jpeg 图像的数据 block 。这些图像是从远程网络摄像头捕获的实时视频帧。我被迫将视频流式传输为 jpeg 帧。我正在寻找一种将这些 jpeg 图像动态转换为视频文件(mpeg 4 或 mjpeg 文件)的方法。 Node 是否有可以做到这一点的库?我已经看过 Node-fluent-FFMPEG库,但给出的唯一示例是关于将 jpeg 文件转换为视频,而不是从 jpeg 图像流动态转换。或者,ffmpeg for windows 是否支持 jpeg 图像流作为输入?

最佳答案

FFMPEG 支持流作为输入,如 docs 中所述。 .

You can add any number of inputs to an Ffmpeg command. An input can be [...] a readable stream

所以例如它支持使用

ffmpeg().input(fs.createReadStream('/path/to/input3.avi'));

创建一个 Readable stream来自 '/path/to/input3.avi' 的文件。

我对 FFMPEG 一无所知,但您可以从 socket.io 中提取消息(已经有消息 may be a Buffer)并用您自己的 Readable stream 实现包装它.

关于Node.js:从 jpeg 图像到视频文件的实时转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16695485/

相关文章:

javascript - 在 express 中加载 css 和 js 时遇到 500 内部服务器错误

html - 单击 HTML 5 视频元素播放、暂停视频、中断播放按钮

batch-file - 如何使用 ffmpeg 和屏幕截图创建批处理文件?

windows - 防止pydub打开控制台窗口

android - Firebase离线数据

javascript - 必须手动启用 Electron 生成器桌面快捷方式图标

javascript - Node.JS 中的全局变量存储在哪里? Node中是否有类似窗口的对象?

linux - 在 Ubuntu Linux 中从 Decklink 4k Extreme 捕获视频的 Ffmpeg 命令

c++ - 寻找集成 Qt4 和 v4l2 库的示例代码

ffmpeg - 结合具有特定持续时间的多个视频