OpenIPC: firmware aberto alternativo para câmeras IP
(github.com/OpenIPC)- OpenIPC é um projeto de firmware open source que busca substituir firmwares de fabricante fechados ou abandonados em câmeras IP baseadas em ARM e MIPS de vários fabricantes
- Usuários finais podem instalar por meio de firmware binário pré-compilado, e desenvolvedores podem acessar todo o código-fonte e participar de melhorias
- O código-fonte é disponibilizado sob a MIT License e pode ser reutilizado até como parte de software proprietário, mas o projeto pede o retorno das melhorias e solicita contato em caso de uso comercial
- O projeto e seus componentes trazem uma restrição explícita de proibição de uso para fins militares
- No início, havia suporte apenas para SoCs HiSilicon, mas hoje o conjunto de chips compatíveis foi ampliado para incluir Ambarella, Anyka, Fullhan, Goke, GrainMedia, Ingenic, MStar, Novatek, SigmaStar, XiongMai e outros
Substituição de firmware fechado em câmeras IP
- OpenIPC é um sistema operacional open source criado por uma comunidade aberta
- É voltado para câmeras IP baseadas em processadores ARM e MIPS de vários fabricantes
- O objetivo é substituir o firmware pré-instalado pelo fabricante
- geralmente é fechado e difícil de inspecionar internamente
- muitas vezes é inseguro ou acaba sendo abandonado
- também pode ser uma alternativa para equipamentos que perderam suporte
Instalação e participação no desenvolvimento
- Para facilitar a instalação por usuários finais, o projeto fornece arquivos binários pré-compilados
- Para desenvolvimento adicional e melhorias, também há acesso completo aos arquivos-fonte
- Desenvolvedores interessados em contribuir podem participar da evolução do projeto
Licença e restrições de uso
- O código-fonte do OpenIPC é disponibilizado sob a MIT License
- Os usuários recebem permissão explícita para reutilizar o código para qualquer finalidade
- inclusive como parte de software proprietário
- O projeto pede que as melhorias sejam contribuídas de volta
- Em caso de uso do projeto para fins comerciais, é solicitado que entrem em contato
- Não é permitido o uso para fins militares do projeto OpenIPC e de seus componentes
Expansão do suporte a SoCs
- Historicamente, o firmware OpenIPC suportava apenas SoCs HiSilicon
- Com a continuidade do desenvolvimento, a lista de processadores compatíveis foi ampliada
- Atualmente, os chips suportados incluem os seguintes fabricantes
- Ambarella
- Anyka
- Fullhan
- Goke
- GrainMedia
- Ingenic
- MStar
- Novatek
- SigmaStar
- XiongMai
- A lista de processadores compatíveis deverá continuar crescendo no futuro
Documentação e onde consultar
- Mais informações sobre o projeto podem ser encontradas no site e na wiki do OpenIPC
1 comentários
Opiniões no Hacker News
Já pesquisei isso por conta própria no passado, mas na maior parte foi um processo decepcionante. A ideia de comprar qualquer câmera IP chinesa e trocar por um firmware aberto é boa na teoria, mas o problema real é comprar 1 câmera ou 10, e depois comprar mais com o passar do tempo
Em um determinado momento, é difícil saber qual é o hardware interno, por exemplo qual é o SoC real, e os fabricantes chineses trocam o SoC interno com frequência para melhorar as margens. Mesmo que alguém tenha relatado um mesmo modelo, se você comprar o mesmo número de modelo 6 meses a 1 ano depois, é difícil esperar que seja o mesmo hardware
Sites de venda ou de fabricantes quase nunca informam qual SoC é usado e, mesmo que você consiga encontrar ou traduzir alguma informação útil, não dá para saber se a empresa com aquele nome ainda vai existir alguns meses depois. No fim, não há uma fonte reproduzível além de testar amostras e ir hackeando por conta própria
Seria ótimo se alguém vendesse ou revendesse uma linha de hardware de câmeras com OpenIPC ou outro firmware aberto já instalado. Há uma oportunidade de negócio em aberto para oferecer a usuários domésticos/corporativos câmeras IP com firmware de segurança garantido, e hoje só existe tranqueira chinesa aleatória
Dá para reaproveitar como firewall um mini PC com várias portas Ethernet e separar fisicamente a sub-rede de vigilância por vídeo do restante da rede. Todas as câmeras devem ser conectadas a um switch e, se possível, é melhor usar um switch com PoE. Por motivos óbvios, nem considero Wi-Fi
Seria ótimo se alguém oferecesse a opção de comprar câmeras com hardware/software abertos, para que não fosse necessário abrir a rede para serviços de nuvem aleatórios exigidos por câmeras baratas
Hardware: https://github.com/maxlab-io/tokay-lite-pcb
Camada de firmware e software: https://github.com/maxlab-io/tokay-lite-sdk
A intenção é lançá-la no Crowd Supply no fim: https://www.crowdsupply.com/maxlab/tokay-lite
Por exemplo, a maioria dos drivers de sensores parece ser blob binário
Ambarella S3L: https://github.com/OpenIPC/firmware/tree/master/general/pack...
Alguns chipsets HiSilicon: https://github.com/OpenIPC/firmware/tree/master/general/pack...
Edit: alguns sensores menores têm código aqui
https://github.com/OpenIPC/sensors
Esse repositório Git é apenas para relatórios de bugs, não há código-fonte
Dá uma forte sensação de firmware homebrew de Android
https://openipc.org/support-open-source
Se quisessem open source de verdade, o modelo do OpenWrt parecia muito bom, e a natureza do trabalho de engenharia também parece parecida. Alguns fabricantes de hardware usam OpenWrt no firmware e, por causa disso, o OpenWrt open source mainline também acaba oferecendo bom suporte a esse hardware
Para quem quer saber se o dispositivo é compatível, a lista está aqui
https://github.com/OpenIPC/wiki/blob/master/en/guide-support...
Mesmo entre os milhares de rebrands/submarcas conhecidos da HikVision e da Daihua, não reconheci nenhum. Ambas as empresas estiveram envolvidas na repressão aos uigures na China e já foram banidas pela NDAA. Referência: https://ipvm.com/reports/ban-law
Pergunta totalmente aleatória, mas alguém tem recomendação de uma câmera com qualidade de imagem boa ou muito boa, que seja fácil de encontrar hoje (Amazon, AliExpress etc.) e que seja compatível com isso?
Muito tempo atrás, montei um negócio usando câmeras IP prontas de mercado. Esse setor era cheio de firmwares bugados e enormes falhas de segurança, e o maior problema que encontrei era que dava para obter fotos sem nenhuma autenticação. Esses firmwares quase nunca eram atualizados; era software abandonado assim que saía da caixa
Este projeto não parece ser totalmente aberto, mas qualquer movimento nessa direção é como uma lufada de ar fresco
OpenIPC não era nem de longe o que eu achei que significava
Tinha 100% de certeza de que seria alguma abstração ou framework de comunicação entre processos
O Majestic, o principal componente de “core” de streaming da câmera, é de código fechado. Ele lida com RTSP, HLS etc. O restante é aberto, com exceção de alguns blobs de SDKs de terceiros
O interessante nesse projeto é que eles estão reaproveitando hardware barato de câmeras IP para usar como um sistema de vídeo digital de baixa latência bastante decente para drones FPV
https://m.youtube.com/watch?v=wZAHkWHfBF4
Em grande parte é uma extensão do projeto OpenHD, e parece bastante promissor
Relacionado a isso, há algum tempo eu hackeei câmeras de ação Ambarella: https://github.com/petabyt/liemoth
Acabei desistindo porque a qualidade das câmeras de ação era baixa demais. Havia centenas de fornecedores lançando câmeras chinesas baratas remarcadas, e o firmware também era péssimo. Tudo esquentava e a bateria durava só alguns minutos