OpenSource-Hub
Μ

µStreamer

2.0k stars·動画・音声ダウンロード·SHA-256 チェックサム確認済み

軽量で高速なMJPEGビデオストリーミングサーバー

スマートダウンロード

プロジェクトのホームページへ

インストーラはまだありません — ソースリポジトリをご覧ください

超高速MJPEGビデオストリーム、Raspberry Piハードウェアエンコードに対応

主な機能

  • マルチスレッドJPEGエンコードによるパフォーマンス向上
  • Raspberry Piハードウェアエンコードアクセラレーション(V4L2 M2M)
  • DV-timingsによる入力解像度への自動適応
  • フレーム重複除去機能により60%以上のトラフィックを削減
  • Unixドメインソケットとsystemd socketアクティベーション

できないこと

  • •libevent、libjpeg、libbsdなどのライブラリに依存する;デフォルトで127.0.0.1:8080をリッスンする;クロスオリジンリクエストはデフォルトで無効になっており、有効にするには --allow-origin=* を設定する必要がある;HTTPSはリバースプロキシ(Nginxなど)と組み合わせる必要がある;フレーム重複除去機能は、ブラウザごとに特定のURLパラメータを使用する必要がある。

使用例

  • Raspberry Pi HDMI/VGA画面キャプチャライブ配信(PiKVMリモート管理など)
  • 高品質なネットワークカメラ映像ストリームのプッシュ配信
  • リモート監視およびセキュリティシステム

詳細説明

µStreamer は軽量で高速な MJPEG ビデオストリーミングサーバーであり、任意の V4L2 デバイスからネットワークへビデオをプッシュできます。マルチスレッド JPEG エンコーディング、Raspberry Pi ハードウェアエンコードアクセラレーション、DV-timings による動的解像度調整、帯域幅を節約するフレーム重複排除、Unix ドメインソケットストリーミング、GPIO 信号によるストリーム状態の表示などの高度な機能をサポートしています。PiKVM プロジェクトのコアコンポーネントとして、高フレームレート・高解像度のスクリーンキャプチャ(HDMI/VGA)向けに専用設計されており、同様の mjpg-streamer よりも効率的で安定しています。

トラブルシューティング & FAQ (2)

トラブル対応
なぜ私のGL.iNet GL-RM1 (Comet KVM)で/api/streamer/snapshotが503を返すのですか?

GL-RM1は、期待されるUnixソケット(/run/kvmd/ustreamer.sock)の代わりに '--host=0.0.0.0 --port=8080' でustreamerを実行するため、標準のPiKVM APIが機能しません。回避策:デバイスにSSH接続し、ustreamerのHTTPエンドポイントから直接スナップショットを取得します。'ssh root@<kvm-ip> curl -s http://127.0.0.1:8080/snapshot > screenshot.jpg' これで1920x1080のJPEGフレームが返されます。この問題はこのサードパーティ実装に固有のものであり、PiKVMプロジェクトはGL-RM1の非標準設定をサポートしていません。

参照 Issue #331
トラブル対応
uStreamer の「CAP: Device select() timeout」を、複数の USB カメラを実行しているときに修正するにはどうすればよいですか?

タイムアウトは通常、USB バスがすべてのカメラを同時に処理できないことを意味します。uStreamer はプロセスが起動するとすぐに各 V4L2 デバイスを開いてキャプチャします。「誰も視聴していない」状態では JPEG エンコードがスキップされるだけで、USB キャプチャは停止しません。

回避策:
1. 4 つの uStreamer インスタンスを一度にすべて起動しないでください。必要なときだけインスタンスを起動し、アイドル時には停止してください。プロセススーパーバイザー、リバースプロキシ、または起動スクリプトを使用します。
2. カメラを別々の USB バス/ホストコントローラーに接続します。USB HAT/ハブを備えた Raspberry Pi Zero 2W でも 1 つの USB2 バスを共有するため、ハブポートを追加しても帯域幅は増えません。
3. 解像度とフレームレートを下げてから、カメラを 1 台ずつテストします:
ustreamer --format=mjpeg --device=/dev/video0 --host=192.168.2.144 --port=8000 -r 1280x720 -f 1 --device-timeout=20
4. --device-timeout を 20 などにより大きくすると、早期の失敗は避けられる場合がありますが、USB 帯域幅は増えません。
5. -K/--last-as-blank を削除します。これは非推奨であり、デバイスがキャプチャされるのを防ぐことはできません。

この uStreamer バージョンには、最初の HTTP ビューアーが接続するまでビデオデバイスを閉じたままにする組み込みオプションはありません。

参照 Issue #309

タグ

MJPEG流媒体V4L2Raspberry Pi视频编码

はじめ方

1

インストーラをダウンロード

上のボタンをクリックして、お使いのシステム用のインストーラをダウンロード

2

ソフトウェアをインストール

ダウンロードしたインストーラをダブルクリックし、指示に従ってください

3

リポジトリをクローン: git clone --depth=1 https://github.com/pikvm/ustreamer

4

ディレクトリに移動: cd ustreamer

5

コンパイル: make

インストールガイド
  1. リポジトリをクローン: git clone --depth=1 https://github.com/pikvm/ustreamer
  2. ディレクトリに移動: cd ustreamer
  3. コンパイル: make
ファイルの整合性

チェックサムがありません

このプロジェクトは GitHub Release ページに SHA-256 チェックサムを公開していません

SHA256 チェックサム

チェックサムなし

GitHub Releases から直接ダウンロードし、ファイルの整合性をご自身で確認してください

本プラットフォーム上のすべての SHA-256 チェックサムは、プロジェクトの公式 GitHub Release ページから抽出されたもので、一切の改変はありません。GitHub Releases ページで独自に検証できます。

オープンソースの透明性

GitHub ソースを見る
環境ガイド

アンインストール情報

ソースコードディレクトリを削除するだけです。パッケージマネージャー(apt、pacmanなど)でインストールした場合は、対応するアンインストールコマンド(sudo apt remove ustreamerなど)を使用してください。

追加の依存関係なし

ダウンロード後すぐに使用可能。追加のランタイムは不要です。

プロジェクト情報
ライセンスGPL-3.0
最終更新2026-10-11 11:40:58
GitHub リポジトリ公式サイト

問題が発生?以下のFAQを確認

2 FAQs

類似プロジェクト