1 ポイント 投稿者 GN⁺ 2023-10-09 | 1件のコメント | WhatsAppで共有
  • 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件のコメント

 
GN⁺ 2023-10-09
Hacker News のコメント
  • 以前、自分で調べたことがあるが、ほとんどはがっかりする過程だった。中国製IPカメラを適当に買ってオープンなファームウェアに置き換えるというのは理論上は良いが、実際の問題はカメラを1台なり10台なり買い、時間がたってからさらに買い足す過程にある。
    ある時点で内部ハードウェアが何なのか、たとえば実際のSoCが何なのかを知るのは難しく、中国メーカーは利益率を改善するために内部SoCを頻繁に変更する。誰かが同じモデルについて報告していたとしても、6か月〜1年後に同じモデル番号のものを買って、同じハードウェアだと期待するのは難しい。
    販売サイトやメーカーサイトにどのSoCを使っているかが書かれていることはほとんどなく、使えそうな情報を見つけたり翻訳できたりしたとしても、その名前の業者が数か月後にも残っているかは不確かだ。結局、サンプルをテストし、自分でハックしながら使う以外に再現可能な供給元がない。
    誰かがOpenIPCや別のオープンなファームウェアを搭載したカメラハードウェアのラインを販売、または再販売してくれればいいのにと思う。家庭/業務ユーザー向けに、保証されたセキュアなファームウェアを備えたIPカメラを提供する事業機会は空いていて、今はランダムな中国製の雑多な品しかない。

    • 疑わしいなら、クローズドなファームウェアが入ったすべてのカメラには、自宅へ通信したり、機密性の高い映像・音声を盗んだり、ボットネットに参加するために待機したりするマルウェアが入っていると見なしている。実際にそういうことは何度も起きており、現在の解決策は、信頼するアプリケーションを除き、LANと外部へ向かうすべてのトラフィックを遮断するファイアウォールを間に置くことだ。
      複数のイーサネットポートを備えたミニPCをファイアウォールとして再利用できるし、映像監視用サブネットを残りのネットワークから物理的に分離すればよい。すべてのカメラはスイッチに接続し、可能ならPoE対応スイッチを使うほうがよい。言うまでもない理由で、Wi-Fiは考慮しない。
    • 完全に同感。数か月/数年の間隔で動作するカメラを手に入れようとして、まったく同じフラストレーションを味わった。各製品を開けて自分でハックする必要があり、OpenIPCが対応している場合もあれば、していない場合もある。最近はファームウェアを簡単に書き込めないよう保護もされていて、小さなUART/デバッグポートや、無効化されたU-Bootローダーのような障壁がある。
      安価なカメラが要求する得体の知れないクラウドサービスにネットワークを開放しなくて済むよう、誰かがオープンなハードウェア/ソフトウェアのカメラを買える選択肢を提供してくれればと思う。
    • 必要な人向けに、完全にオープンソースのカメラを目指すサイドプロジェクトがある。
      ハードウェア: 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

    • その通り。実際のストリーミングを担当するユーザー空間アプリケーションもクローズドソースだ: https://github.com/OpenIPC/majestic
      このGitリポジトリはバグ報告専用で、ソースコードはない。
    • かなり古いベンダーカーネルも使っている。3.xから4.x、5.xまでさまざまで、趣旨をある程度損なっている。大半はかなり小さいので、むしろリバースエンジニアリングしたほうがよさそうだ。
      Androidの自作ファームウェア感が強い。
  • https://openipc.org/support-open-source

    It's Open Source
    Price of the Firmware
    The right to use the OpenIPC firmware and its components is granted to all users free of charge and only for personal, non-commercial purposes. If you are interested in using OpenIPC for your business projects, please contact our team.

    • 本当にオープンソースを望んでいるのか、それとも難しいエンジニアリング部分を「コミュニティ」に無料で任せようとする商業的な試みなのか気になる。
      本物のオープンソースを望むなら、OpenWrtモデルはかなり良さそうに見えたし、エンジニアリング作業の性質も似ているように見える。一部のハードウェア業者はファームウェアにOpenWrtを使っており、そのおかげでメインラインのオープンソースOpenWrtも、そのハードウェアをよくサポートするようになっているようだ。
    • 混乱する。GitHubリポジトリにはMITライセンスが付いている。おそらく、コンパイル済みバイナリにだけ非商用条項が適用される何らかの秘密のソースが追加されるのだろうか?
  • デバイスが対応しているか気になる人向けの一覧はここにある
    https://github.com/OpenIPC/wiki/blob/master/en/guide-support...

    • うわ。このカメラブランドの中で聞いたことがあるのは2つだけだ
      HikVisionとDaihuaの数千ものリブランド/サブブランドとして知られているものの中にも、見覚えのあるものはなかった。両社とも中国によるウイグル人弾圧に関与しており、NDAAによって禁止されたことがある。参考: https://ipvm.com/reports/ban-law
    • ついに、どのIPカメラを買うべきか決める方法ができたね
  • 完全に唐突な質問だけど、今簡単に入手できて(Amazon、AliExpressなど)、これに対応していて、なおかつ画質が良い、または非常に良いカメラのおすすめはある?

    • 自分も気になる。以前、対応していると思って買った製品が、実はそうではないと分かったことがある。特定のハードウェアで成功した人がいるのか分かるといいんだけど
  • かなり昔、市販のIPカメラを使って事業を作ったことがある。その分野はバグだらけのファームウェアと巨大なセキュリティホールであふれていて、自分が見つけた最大の問題は、認証なしで写真を取得できることだった。こうしたファームウェアはほとんど更新されず、箱から出した時点ですでに放置されたソフトウェアだった
    このプロジェクトが完全に公開されているようには見えないが、その方向へ向かう動きはどれも新鮮な空気のように感じる

  • OpenIPCは、自分が思っていた意味とはまったく違っていた
    100%、何らかのプロセス間通信の抽象化かフレームワークだと確信していた

    • その通り。ここではIPCはすでにあまりにも定着した意味を持っている。OpenIPCamのような名前のほうが少し安全だったかもしれない
  • カメラの主要なストリーミング「コア」コンポーネントであるMajesticはクローズドソースだ。RTSP、HLSなどを処理する。それ以外は公開されているが、一部のサードパーティSDKのblobは除く

  • このプロジェクトで興味深いのは、安価なIPカメラハードウェアを再利用して、FPVドローン向けのかなりまともで低遅延のデジタル映像システムのように使っている点だ
    https://m.youtube.com/watch?v=wZAHkWHfBF4
    ほとんどOpenHDプロジェクトの延長線上にあるものだが、かなり有望に見える

  • 関連して、以前Ambarellaのアクションカメラをハックしたことがある: https://github.com/petabyt/liemoth
    最終的にやめた理由は、アクションカメラの品質があまりに低かったからだ。リブランドされた中国製の低価格カメラを出しているベンダーが何百社もあり、ファームウェアもひどかった。本体全体が熱くなり、バッテリーは数分しか持たなかった