micam — Xiaomiカメラ向けRTSPブリッジ

Tool

概要

micamはXiaomiカメラ向けのRTSPブリッジです。Miloco(Xiaomiデバイスのアクセスを補助するコンポーネント)とgo2rtcなどのストリーム中継・変換ツールをDocker Composeで組み合わせ、Xiaomi固有の映像ソースをローカルRTSPエンドポイントとして公開します。環境変数(MILOCO_PASSWORDのMD5、CAMERA_ID、RTSP_URLなど)を設定してコンテナを起動するだけで利用でき、Home AssistantやNVRに組み込んで監視や録画を行う用途に向きます。セットアップは比較的シンプルで、複数カメラ対応はdocker-composeの複製で実現します。

GitHub

リポジトリの統計情報

  • スター数: 16
  • フォーク数: 1
  • ウォッチャー数: 16
  • コミット数: 9
  • ファイル数: 11
  • メインの言語: Python

主な特徴

  • Xiaomiカメラの映像をローカルRTSPへブリッジ(Miloco + go2rtc 組合せ)
  • Docker Composeで簡単デプロイ、環境変数で設定管理
  • 複数カメラはcomposeを複製して対応可能
  • 軽量で変更が容易な構成(小規模なPythonプロジェクト)

技術的なポイント

micamは既存のオープンソースコンポーネントを組み合わせることで、Xiaomiのカメラ映像をローカルRTSPに変換・中継します。READMEに示された導入手順では、docker-compose.ymlを取得して.envにMILOCO_PASSWORD(MD5形式)、CAMERA_ID、RTSP_URLを記載し、docker compose up -dでMiloco・go2rtc・RTSP転送サービスを立ち上げます。MilocoはXiaomiのデバイスとやり取りするための中継・認証補助を担い、go2rtcは各種ストリームプロトコル(RTSP/WebRTC/RTMPなど)の変換・仲介を行います。micamはこれらを連携させる薄いオーケストレーション層として機能し、指定したカメラIDに対して取得した映像をローカルRTSPアドレスへ転送します。

設計上、コンテナ化により環境依存を低減し、ログや再起動ポリシーはDockerの管理下で扱えます。複数台を扱う場合はdocker-compose.ymlを複製して別インスタンスを立てる手法が推奨されており、これはシンプルかつすぐにスケールさせられる一方で、大規模台数や動的な追加にはKubernetesやより高度なサービス管理が必要になる可能性があります。セキュリティ面では、MILOCO_PASSWORDがMD5で指定される点やRTSPを直接公開する場合の認証・ネットワークの取り扱いに注意が必要です。運用ではLAN内限定にする、リバースプロキシやVPNを併用する、RTSPに対するTLSやユーザ認証を組み合わせるといった手段が考えられます。開発観点ではPythonの小規模コードベースとDockerfile、.env.exampleが用意されており、必要に応じてgo2rtc設定やMilocoのパラメータを拡張して、Home Assistantや録画サーバー(NVR)、ffmpegベースの処理と連携しやすい構造です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .env.example: file
  • .github: dir
  • .gitignore: file
  • .python-version: file
  • Dockerfile: file

…他 6 ファイル

まとめ

Xiaomiカメラを手軽にローカルRTSP化するための実用的なDockerベースツール。

リポジトリ情報:

READMEの抜粋:

🎦 RTSP bridge for Xiaomi Camera

Install

Docker compose

mkdir /opt/micam
cd /opt/micam
wget https://raw.githubusercontent.com/miiot/micam/refs/heads/main/docker-compose.yml

cat << EOF > .env
MILOCO_PASSWORD=your_miloco_password_md5
CAMERA_ID=1234567890 # your camera did
RTSP_URL=rtsp://192.168.1.xx:8554/your_stream1
EOF

docker compose up -d

此命令会通过docker部署Miloco、Go2rtc及RTSP转发服务。如果需要添加多个摄像头,需要编辑docker-compose.yml运行多个micam服务。

Usage

Miloco

  1. Open Miloco We…