OpenIPC: IPカメラ向け代替オープンファームウェア
(github.com/OpenIPC)- OpenIPCは、複数メーカーのARM・MIPSベースのIPカメラで、クローズドまたは放置されたベンダーファームウェアを置き換えることを目指すオープンソースファームウェアプロジェクト
- エンドユーザーは事前コンパイル済みのバイナリファームウェアでインストールでき、開発者は完全なソースにアクセスして改善に参加できる
- ソースコードはMIT Licenseで公開されており、プロプライエタリソフトウェアの一部として再利用することもできるが、改善点の還元と商用利用時の連絡が求められている
- プロジェクトとその構成要素には、軍事目的での利用不可という明示的な制限が付いている
- 当初はHiSilicon SoCのみをサポートしていたが、現在はAmbarella、Anyka、Fullhan、Goke、GrainMedia、Ingenic、MStar、Novatek、SigmaStar、XiongMaiなどへと対応チップの範囲が広がっている
クローズドなIPカメラファームウェアの代替
- OpenIPCは、オープンコミュニティによって作られたオープンソースOS
- 複数メーカーのARMおよびMIPSプロセッサベースのIPカメラを対象としている
- ベンダーがプリインストールしたファームウェアを置き換えることが目的
- クローズドで、内部動作を確認しにくい
- 安全でなかったり、放置されたりすることが多い
- サポート終了済みの機器にとっても代替になり得る
インストールと開発参加の方法
- エンドユーザーが簡単にインストールできるよう、事前コンパイル済みのバイナリファイルを提供している
- 追加開発と改善のため、完全なソースファイルへのアクセスも開放されている
- 貢献の意思がある開発者は、プロジェクト改善に参加できる
ライセンスと利用制限
- OpenIPCのソースコードはMIT Licenseで公開されている
- ユーザーは、コードをいかなる目的にも再利用できる明示的な権限を与えられている
- プロプライエタリソフトウェアの一部として使用することも許可される
- プロジェクトは、改善点を再び貢献してくれるよう求めている
- 商用目的でプロジェクトを利用する場合は連絡してほしいと求めている
- OpenIPCプロジェクトとその構成要素の軍事目的での利用は許可されない
対応SoCの拡大
- OpenIPCファームウェアは、歴史的にはHiSilicon SoCのみをサポートしていた
- 開発が続くにつれて、対応プロセッサの一覧が拡張された
- 現在の対応対象には、次のメーカーのチップが含まれる
- Ambarella
- Anyka
- Fullhan
- Goke
- GrainMedia
- Ingenic
- MStar
- Novatek
- SigmaStar
- XiongMai
- 対応プロセッサの一覧は今後さらに増える予定
ドキュメントと参照先
- プロジェクトに関する詳細情報は、OpenIPCのWebサイトとWikiで確認できる
1件のコメント
Hacker News のコメント
以前、自分で調べたことがあるが、ほとんどはがっかりする過程だった。中国製IPカメラを適当に買ってオープンなファームウェアに置き換えるというのは理論上は良いが、実際の問題はカメラを1台なり10台なり買い、時間がたってからさらに買い足す過程にある。
ある時点で内部ハードウェアが何なのか、たとえば実際のSoCが何なのかを知るのは難しく、中国メーカーは利益率を改善するために内部SoCを頻繁に変更する。誰かが同じモデルについて報告していたとしても、6か月〜1年後に同じモデル番号のものを買って、同じハードウェアだと期待するのは難しい。
販売サイトやメーカーサイトにどのSoCを使っているかが書かれていることはほとんどなく、使えそうな情報を見つけたり翻訳できたりしたとしても、その名前の業者が数か月後にも残っているかは不確かだ。結局、サンプルをテストし、自分でハックしながら使う以外に再現可能な供給元がない。
誰かがOpenIPCや別のオープンなファームウェアを搭載したカメラハードウェアのラインを販売、または再販売してくれればいいのにと思う。家庭/業務ユーザー向けに、保証されたセキュアなファームウェアを備えたIPカメラを提供する事業機会は空いていて、今はランダムな中国製の雑多な品しかない。
複数のイーサネットポートを備えたミニPCをファイアウォールとして再利用できるし、映像監視用サブネットを残りのネットワークから物理的に分離すればよい。すべてのカメラはスイッチに接続し、可能ならPoE対応スイッチを使うほうがよい。言うまでもない理由で、Wi-Fiは考慮しない。
安価なカメラが要求する得体の知れないクラウドサービスにネットワークを開放しなくて済むよう、誰かがオープンなハードウェア/ソフトウェアのカメラを買える選択肢を提供してくれればと思う。
ハードウェア: https://github.com/maxlab-io/tokay-lite-pcb
ファームウェアとソフトウェア層: https://github.com/maxlab-io/tokay-lite-sdk
最終的にはCrowd Supplyで発売予定: https://www.crowdsupply.com/maxlab/tokay-lite
たとえば、センサードライバーの大半はバイナリブロブのように見える。
Ambarella S3L: https://github.com/OpenIPC/firmware/tree/master/general/pack...
一部のHiSiliconチップセット: https://github.com/OpenIPC/firmware/tree/master/general/pack...
追記: より小さな一部のセンサーについては、ここにコードがある。
https://github.com/OpenIPC/sensors
このGitリポジトリはバグ報告専用で、ソースコードはない。
Androidの自作ファームウェア感が強い。
https://openipc.org/support-open-source
本物のオープンソースを望むなら、OpenWrtモデルはかなり良さそうに見えたし、エンジニアリング作業の性質も似ているように見える。一部のハードウェア業者はファームウェアにOpenWrtを使っており、そのおかげでメインラインのオープンソースOpenWrtも、そのハードウェアをよくサポートするようになっているようだ。
デバイスが対応しているか気になる人向けの一覧はここにある
https://github.com/OpenIPC/wiki/blob/master/en/guide-support...
HikVisionとDaihuaの数千ものリブランド/サブブランドとして知られているものの中にも、見覚えのあるものはなかった。両社とも中国によるウイグル人弾圧に関与しており、NDAAによって禁止されたことがある。参考: https://ipvm.com/reports/ban-law
完全に唐突な質問だけど、今簡単に入手できて(Amazon、AliExpressなど)、これに対応していて、なおかつ画質が良い、または非常に良いカメラのおすすめはある?
かなり昔、市販のIPカメラを使って事業を作ったことがある。その分野はバグだらけのファームウェアと巨大なセキュリティホールであふれていて、自分が見つけた最大の問題は、認証なしで写真を取得できることだった。こうしたファームウェアはほとんど更新されず、箱から出した時点ですでに放置されたソフトウェアだった
このプロジェクトが完全に公開されているようには見えないが、その方向へ向かう動きはどれも新鮮な空気のように感じる
OpenIPCは、自分が思っていた意味とはまったく違っていた
100%、何らかのプロセス間通信の抽象化かフレームワークだと確信していた
カメラの主要なストリーミング「コア」コンポーネントであるMajesticはクローズドソースだ。RTSP、HLSなどを処理する。それ以外は公開されているが、一部のサードパーティSDKのblobは除く
このプロジェクトで興味深いのは、安価なIPカメラハードウェアを再利用して、FPVドローン向けのかなりまともで低遅延のデジタル映像システムのように使っている点だ
https://m.youtube.com/watch?v=wZAHkWHfBF4
ほとんどOpenHDプロジェクトの延長線上にあるものだが、かなり有望に見える
関連して、以前Ambarellaのアクションカメラをハックしたことがある: https://github.com/petabyt/liemoth
最終的にやめた理由は、アクションカメラの品質があまりに低かったからだ。リブランドされた中国製の低価格カメラを出しているベンダーが何百社もあり、ファームウェアもひどかった。本体全体が熱くなり、バッテリーは数分しか持たなかった