rpistreaming WebSocket低延迟摄像头流媒体方案

Raspberry Pi 的 MJPEG 流媒体搞起来其实没那么麻烦,rpistreaming 就是个挺轻巧的方案。它直接用 raspivid 把摄像头画面吐出来,通过 WebSocket 二进制发给前端,省了 base64 转换那道工序,延迟也低,画面响应挺快的。

项目结构也比较清晰,一条命令拉下来解压后,npm install node server.js 就能跑。网页端访问 http://你的 RPI-IP:8080,就能直接看到摄像头画面,挺适合做点实时预览的东西。

核心原理是每一帧 JPEG 用 Buffer 传,像这样:

streamCamera.on('frame', data => {
  // data 是 JPEG 的 Buffer
  // 直接通过 WebSocket 发给前端
});

比起传统的 HTTP MJPEG 流,这种方式更灵活,是你需要嵌进自己的页面里,或者做点画面啥的,配合 Node.js 的 WebSocket 库,顺手。

如果你正好手头有台 Raspberry Pi,想要搞点实时图像的东西,这个项目值得一试。也可以看看这些相关文章,打个底:

注意点:网络差的情况下,延迟还是会有波动的。部署时建议用有线连接,稳定多。

如果你是做 IoT 或边缘计算相关的,rpistreaming 还挺好集成的,轻便、实用,不用装一堆重库。

zip 文件大小:242.96KB