OpenSource-Hub
Μ

µStreamer

2.0k stars·Video & Audio Download·SHA-256 checksum verified

µStreamer is a lightweight and very quick server to stream MJPEG video from any V4L2 device to the net. Supports hardware encoding on Raspberry Pi, DV-timings, frame dedup, and more.

Smart Download

Visit Project Homepage

No installer available yet — head to the source repository

Lightweight and fast MJPEG-HTTP streamer from any V4L2 device.

Core Features

  • Multithreaded JPEG encoding
  • Hardware encoding on Raspberry Pi (V4L2 M2M)
  • DV-timings support for dynamic resolution
  • Drop-same-frames to save traffic
  • Unix domain socket and systemd socket activation

What It Can't Do

  • Requires libevent, libjpeg, libbsd; listens on 127.0.0.1:8080 by default; CORS disabled by default, use --allow-origin=*; HTTPS needs reverse proxy; frame dedup feature requires specific URL parameters for different browsers.

Use Cases

  • Streaming HDMI/VGA screencast from Raspberry Pi (e.g., PiKVM)
  • High-quality webcam live streaming
  • Remote monitoring and surveillance systems

Detailed Introduction

µStreamer 是一个轻量且快速的 MJPEG 视频流服务器,可从任何 V4L2 设备向网络推送视频。它支持多线程 JPEG 编码、树莓派硬件编码加速、DV-timings 动态分辨率调整、帧去重节省带宽、Unix 域套接字流、GPIO 信号指示流状态等高级功能。作为 PiKVM 项目的核心组件,专为高帧率、高分辨率屏幕采集(HDMI/VGA)设计,比同类 mjpg-streamer 更高效稳定。

Troubleshooting & FAQ (1)

Troubleshooting
Why does /api/streamer/snapshot return 503 on my GL.iNet GL-RM1 (Comet KVM)?

The GL-RM1 runs ustreamer with '--host=0.0.0.0 --port=8080' instead of the expected Unix socket at /run/kvmd/ustreamer.sock, so the standard PiKVM API fails. Workaround: SSH into the device and fetch the snapshot directly from ustreamer's HTTP endpoint: 'ssh root@<kvm-ip> curl -s http://127.0.0.1:8080/snapshot > screenshot.jpg'. This returns a 1920x1080 JPEG frame. The issue is specific to this third-party implementation; the PiKVM project does not support the GL-RM1's non-standard setup.

GitHub Issue #331

Tags

MJPEG流媒体V4L2Raspberry Pi视频编码

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Clone repository: git clone --depth=1 https://github.com/pikvm/ustreamer

4

Enter directory: cd ustreamer

5

Build: make

Install Guide
  1. Clone repository: git clone --depth=1 https://github.com/pikvm/ustreamer
  2. Enter directory: cd ustreamer
  3. Build: make
File Integrity

Checksum not available

This project has not published a SHA-256 checksum on its GitHub Release page

SHA256 Checksum

No checksum available

Download directly from GitHub Releases and verify file integrity yourself

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Delete the source directory. If installed via package manager (e.g., apt, pacman), use the corresponding removal command (e.g., sudo apt remove ustreamer).

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseGPL-3.0
Last Updated2026-06-27 12:15:25
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

1 FAQ

Similar Projects