µStreamer
µ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)
TroubleshootingWhy 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.
Tags
Getting Started
Download installer
Click the button above to download the installer for your system
Install the software
Double-click the downloaded installer and follow the prompts
Clone repository: git clone --depth=1 https://github.com/pikvm/ustreamer
Enter directory: cd ustreamer
Build: make
- Clone repository: git clone --depth=1 https://github.com/pikvm/ustreamer
- Enter directory: cd ustreamer
- Build: make
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 SourceUninstall 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.
Having issues? Check the FAQ below
1 FAQ
Similar Projects
yt-dlp
A feature-rich command-line audio/video downloader supporting thousands of sites. Fast, reliable, and actively maintained fork of youtube-dl.
MoneyPrinterTurbo
An open-source tool that uses AI LLMs to automatically generate high-quality short videos from a topic or keyword.
obs-studio
Free and open-source software for video recording and live streaming. High performance, real-time capture, compositing, encoding, and broadcasting.