mp4-mjpeg 是一个可将 MP4 格式视频转换成 MJPEG 图片序列的 Node.js 模块,使用方便,功能强大。它可以用于普通的视频转换,也可以用于视频流实时转换等场景。
安装
在命令行中使用 npm 进行安装:
npm install mp4-mjpeg
使用
在 Node.js 中,先引入 mp4-mjpeg 模块:
const mp4mjpeg = require('mp4-mjpeg');
然后,可以通过以下方式使用 mp4-mjpeg:
mp4mjpeg.convert('path/video.mp4', 'path/image', { fps: 30 }) .then(() => console.log('转换完成')) .catch((err) => console.error(err));
以上代码将从路径 path/video.mp4
中读取 MP4 格式的视频文件,然后将视频转换成以 30 帧每秒的速度生成的图片序列,并将图片文件保存到路径 path/image
中。
如果不指定帧率参数,默认为 24 帧每秒。
有时候,我们需要在执行转换操作的过程中,获取到实时的图片数据。这时候,可以使用下面的代码:
-- -------------------- ---- ------- ----- - ----------------- - - -------------- ----- ------ - --------------------------------- - ---- -- --- ----- --- - ------------------------------------------- ----------------- ------- -- - ----------------- --- ---------------- -- -- - -------------------- --- ------------------ ----- -- - ------------------- --- -------------------- -- -- - ----------------- ---------- ---
以上代码将 MP4 文件转换成图片流的方式,并将图片流保存到文件流中,一边生成图片数据,一边实时将数据写入到文件流中。
示例代码
以下是一个完整的示例代码,可以将 MP4 格式的视频文件转换成以 30 帧每秒生成的图片序列,并保存到指定路径中:
const mp4mjpeg = require('mp4-mjpeg'); mp4mjpeg.convert('path/video.mp4', 'path/image', { fps: 30 }) .then(() => console.log('转换完成')) .catch((err) => console.error(err));
总结
mp4-mjpeg 可以方便地将 MP4 格式的视频转换成图片序列,并支持实时转换图片流的功能。使用方便,功能强大,非常适合前端开发人员在对视频处理和转换方面使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005598381e8991b448d716a