OpenIPC : un firmware open source alternatif pour les caméras IP
(github.com/OpenIPC)- OpenIPC est un projet de firmware open source visant à remplacer les firmwares propriétaires ou abandonnés des caméras IP basées sur ARM et MIPS de plusieurs fabricants
- Les utilisateurs finaux peuvent l’installer via un firmware binaire précompilé, et les développeurs peuvent accéder à l’ensemble du code source pour contribuer à son amélioration
- Le code source est publié sous licence MIT, ce qui permet sa réutilisation même dans des logiciels propriétaires, mais le projet demande le retour des améliorations et de prendre contact en cas d’usage commercial
- Le projet et ses composants comportent une restriction explicite d’interdiction d’usage à des fins militaires
- Initialement limité aux SoC HiSilicon, le projet a depuis élargi la prise en charge des puces à Ambarella, Anyka, Fullhan, Goke, GrainMedia, Ingenic, MStar, Novatek, SigmaStar, XiongMai, etc.
Remplacer les firmwares fermés des caméras IP
- OpenIPC est un système d’exploitation open source créé par une communauté ouverte
- Il cible les caméras IP reposant sur des processeurs ARM et MIPS de nombreux fabricants
- Son objectif est de remplacer le firmware préinstallé par le fournisseur
- souvent fermé et difficile à inspecter en interne
- souvent peu sûr ou abandonné
- peut aussi servir d’alternative pour du matériel dont le support a pris fin
Installation et participation au développement
- Des fichiers binaires précompilés sont fournis pour faciliter l’installation par les utilisateurs finaux
- L’accès à l’ensemble des fichiers source est également ouvert pour permettre des développements et améliorations supplémentaires
- Les développeurs souhaitant contribuer peuvent participer à l’amélioration du projet
Licence et restrictions d’usage
- Le code source d’OpenIPC est publié sous licence MIT
- Les utilisateurs reçoivent l’autorisation explicite de réutiliser le code à n’importe quelle fin
- y compris comme partie d’un logiciel propriétaire
- Le projet demande que les améliorations soient reversées
- Il demande également de prendre contact en cas d’utilisation du projet à des fins commerciales
- L’usage à des fins militaires n’est pas autorisé pour le projet OpenIPC et ses composants
Extension de la prise en charge des SoC
- Historiquement, le firmware OpenIPC ne prenait en charge que les SoC HiSilicon
- Au fil du développement, la liste des processeurs pris en charge s’est élargie
- Les puces des fabricants suivants sont actuellement prises en charge
- Ambarella
- Anyka
- Fullhan
- Goke
- GrainMedia
- Ingenic
- MStar
- Novatek
- SigmaStar
- XiongMai
- La liste des processeurs compatibles devrait encore s’allonger à l’avenir
Documentation et ressources
- Davantage d’informations sur le projet sont disponibles sur le site web et le wiki d’OpenIPC
1 commentaires
Avis de Hacker News
J’avais regardé ça moi-même il y a quelque temps, mais dans l’ensemble le processus a été décevant. Acheter n’importe quelle caméra IP chinoise et la remplacer par un firmware ouvert, c’est séduisant en théorie, mais le vrai problème, c’est le processus quand on achète une caméra, ou dix, puis qu’on en rachète plus tard
À un instant donné, il est difficile de savoir quel matériel se trouve à l’intérieur, par exemple quel est le SoC réel, et les fabricants chinois changent souvent le SoC interne pour améliorer leurs marges. Même si quelqu’un a signalé le même modèle, si vous achetez le même numéro de modèle 6 mois à 1 an plus tard, il est difficile de s’attendre au même matériel
Les sites de vente ou les sites des fabricants indiquent rarement quel SoC est utilisé, et même si vous arrivez à trouver ou traduire des informations exploitables, rien ne garantit que l’entreprise portant ce nom existera encore quelques mois plus tard. Au final, à part tester des échantillons et les hacker soi-même au fur et à mesure, il n’existe pas de source d’approvisionnement reproductible
J’aimerais que quelqu’un vende ou revende une gamme de caméras sur lesquelles OpenIPC ou un autre firmware ouvert est déjà installé. Il y a une opportunité commerciale inoccupée pour fournir aux particuliers et aux professionnels des caméras IP avec un firmware de sécurité garanti, et pour l’instant on n’a que de la camelote chinoise aléatoire
On peut recycler un mini-PC avec plusieurs ports Ethernet comme pare-feu, et séparer physiquement le sous-réseau de vidéosurveillance du reste du réseau. Toutes les caméras doivent être connectées à un switch, de préférence compatible PoE si possible. Pour des raisons évidentes, je ne considérerais pas le Wi-Fi
J’aimerais que quelqu’un propose une option permettant d’acheter une caméra à matériel/logiciel ouvert, pour ne pas avoir à ouvrir son réseau aux services cloud aléatoires exigés par les caméras bon marché
Matériel : https://github.com/maxlab-io/tokay-lite-pcb
Firmware et couches logicielles : https://github.com/maxlab-io/tokay-lite-sdk
Le lancement final est prévu sur Crowd Supply : https://www.crowdsupply.com/maxlab/tokay-lite
Par exemple, la plupart des pilotes de capteurs ressemblent à des blobs binaires
Ambarella S3L : https://github.com/OpenIPC/firmware/tree/master/general/pack...
Certains chipsets HiSilicon : https://github.com/OpenIPC/firmware/tree/master/general/pack...
Modification : certains capteurs plus petits ont leur code ici
https://github.com/OpenIPC/sensors
Ce dépôt Git sert uniquement aux rapports de bugs, il n’y a pas de code source
Ça donne fortement une impression de firmware homebrew Android
https://openipc.org/support-open-source
S’ils veulent vraiment de l’open source, le modèle OpenWrt me semblait plutôt bon, et la nature du travail d’ingénierie paraît similaire. Certains fabricants de matériel utilisent OpenWrt dans leur firmware, et grâce à cela, l’OpenWrt open source mainline semble aussi bien prendre en charge ce matériel
Pour ceux qui se demandent si leur appareil est pris en charge, la liste est ici
https://github.com/OpenIPC/wiki/blob/master/en/guide-support...
Même parmi celles connues comme les milliers de rebrands/sous-marques de HikVision et Daihua, je n’en ai reconnu aucune. Les deux entreprises ont été impliquées dans la répression des Ouïghours en Chine et ont été interdites par la NDAA. Référence : https://ipvm.com/reports/ban-law
Question complètement hors sujet, mais quelqu’un aurait-il une recommandation pour une caméra avec une bonne, voire très bonne qualité d’image, actuellement facile à trouver (Amazon, AliExpress, etc.) et compatible avec ça ?
Il y a longtemps, j’ai créé une activité autour de caméras IP du commerce. Ce domaine était rempli de firmwares buggés et d’énormes failles de sécurité, et le plus gros problème que j’aie trouvé était qu’on pouvait récupérer des photos sans aucune authentification. Ces firmwares étaient rarement mis à jour et, dès la sortie de la boîte, c’était du logiciel abandonné
Ce projet ne semble pas totalement ouvert, mais tout mouvement dans cette direction fait l’effet d’une bouffée d’air frais
OpenIPC ne voulait pas du tout dire ce que je pensais
J’étais sûr à 100 % que ce serait une abstraction ou un framework de communication inter-processus
Majestic, le composant « cœur » principal du streaming de la caméra, est propriétaire. Il gère RTSP, HLS, etc. Le reste est ouvert, à l’exception de quelques blobs de SDK tiers
Ce qui est intéressant dans ce projet, c’est qu’il réutilise du matériel de caméras IP bon marché pour en faire une sorte de système vidéo numérique à faible latence, plutôt correct pour les drones FPV
https://m.youtube.com/watch?v=wZAHkWHfBF4
C’est en grande partie dans la continuité du projet OpenHD, et ça semble assez prometteur
Dans le même registre, j’avais autrefois hacké une action cam Ambarella : https://github.com/petabyt/liemoth
J’ai fini par abandonner parce que la qualité des action cams était vraiment trop faible. Il y avait des centaines de vendeurs proposant des caméras chinoises bas de gamme rebrandées, et le firmware était catastrophique. L’ensemble chauffait et la batterie ne tenait que quelques minutes