6 ms·
OpenIPC: Alternative open firmware for your IP camera
- tpmx 3y agoSeems like e.g. (most of) the sensor drivers are binary blobs. Some examples: Ambarella S3L: https://github.com/OpenIPC/firmware/tree/master/general/package/ambarella-osdrv-s3l/files/kmod https://github.com/OpenIPC/firmware/tree/master/general/pack... Some HiSilicon chipset: https://github.com/OpenIPC/firmware/tree/master/general/package/hisilicon-osdrv-hi3516cv300/files/sensor https://github.com/OpenIPC/firmware/tree/master/general/pack... Edit: A smaller subset of sensors have some code here: https://github.com/OpenIPC/sensors https://github.com/OpenIPC/sensors
- alufers 3y agoYup, also the userspace application that does the actual streaming is closed-source as well: https://github.com/OpenIPC/majestic https://github.com/OpenIPC/majestic (The git repo is for bug reports only, no source-code there)
- jauntywundrkind 3y agoOh man I didn't realize that when I last ran into this project. I wonder how hard it would be to run your own streamer pipeline or whatnot on these things? How far a starting place do we get when we install our own Linux; do peripherals (camera networking) work or is there a bunch of special sauce in userland running half the hardware?
- the_biot 3y agoThat's the problem right there: the Linux kernel situtation. As OP noted they just use the vendor's (long outdated) Linux kernel, with the vendor's (typically crap) kernel drivers. They just don't clean up that situation in that project, let alone try to mainline the drivers. It's where I thought I could help, but... see my other post on why that didn't work out. With mainline-supported cameras using a standard API, a userland application that does streaming and all kinds of neat stuff is just much more doable IMHO. They're not the only project that builds a ton of userland stuff on top of a rotten kernel foundation: oe-alliance has nine distros downstream from it, and hundreds of supported hardware platforms. As far as I can tell it's all ancient vendor kernels with un-upstreamable drivers.
- protastus 3y agoThat's the rotten situation with embedded Linux. Nearly all silicon vendors ship a highly modified kernel with proprietary drivers and firmware. Nothing gets upstreamed. The code quality is low and the changes are not architecturally sound, so patches wouldn't get accepted by OSS maintainers in their current state. Vendors end up with countless forks of the kernel, system libraries and system services (at least one for each SoC), which they don't maintain because it's too much work (of course). Security in this space is a absolute disaster.
- vineyardmike 3y agoAnd this is one of the big reasons that Raspberry Pis are so popular despite an endless supply of alternatives - it's basically the only well-documented and supported embedded linux. Almost every other dev board that competes with them has limited support and outdated kernels and countless other issues.
- AnthonyMouse 3y agoThis is such a weird market. Most embedded devices are purchased by randos who don't know what they're getting themselves into. By contrast, security cameras are disproportionately purchased by, I'm guessing, security professionals. Often the security staff at large corporations that are buying cameras in volume. If there was any camera that was otherwise competitive and had mainline kernel drivers and open source firmware, would anybody even buy anything else? Do the manufacturers not realize this?
- protastus 3y agoThe camera manufacturers don't make the silicon and the silicon makers don't care about any specific camera manufacturer. Not even Google can get Qualcomm to upstream their drivers. Let that sink in. And it's not because of confidential IP, because many of the drivers are already open source. Silicon vendors could save a lot of time by mainlining their code rather than having hundreds of forks of every library. Security would dramatically improve. OEMs could update their products. Maybe it will take legislation or a special interpretation of the 2021 executive order on cyber security [1] to force silicon vendors to take this seriously. [1] https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/ https://www.whitehouse.gov/briefing-room/presidential-action...
- scottlamb 3y ago> I wonder how hard it would be to run your own streamer pipeline or whatnot on these things? Agree with the_biot: The actual streaming component is not too hard. If this were the biggest problem, I'd be thrilled to contribute to (or just write) an open source streaming server to complement my open source NVR. [1] The driver situation is indeed a bit harder—these things don't just have mainline Linux support with v4l2 for the video capture and encoding. Or open source drivers of any kind to crib from AFAIK. The biggest problem IMHO is that there just aren't any good cameras to buy, even completely ignoring the software aspect. I want a camera that: 1. doesn't support genocide. Nothing that involves Dahua, Hikvision, or Huawei. See IPVM articles on the subject. And a lot of available cameras are relabeled Dahua/Hikvision stuff and/or use Huawei components. 2. is legal for sale / authorized for use in the US. (See the Secure Equipment Act of 2021.) Mostly this excludes the same companies. 3. has good night mode performance: IR/day switch, a sensor that is at least 1/1.8", reasonable resolution (somewhere from HD to 4k). 4. has an "eyeball" or "turret" form factor rather than "bullet". The latter seems to really attract spiders, so you end up with a really nice video of a web... 5. supports PoE. 6. is weatherized (IP54 or so). 7. is reasonably priced. If you ignore #1 and #2, there's some nice hardware out there, but I'm not willing to do that. If you ignore #3, there are a few options (GeoVision, maybe Reolink, maybe Hanwha.) If you ignore #4 and #7, there might be a couple (Axis, maybe Hanwha.) Nothing that ticks all the boxes. Hard to get excited about investing a lot in the software when the hardware isn't there. [1] https://github.com/scottlamb/moonfire-nvr https://github.com/scottlamb/moonfire-nvr
- the_biot 3y agoI expect you'll get flak for #1, but the morality aspect of it bothers me a great deal as well. Not just supporting products of companies that contribute to China's surveillance state, but I worry that writing open source software contributes to surveillance everywhere as well. I don't have an answer :-(
- scottlamb 3y ago> Not just supporting products of companies that contribute to China's surveillance state, but I worry that writing open source software contributes to surveillance everywhere as well. This part doesn't bother me. Making open source software available for general purpose needs equalizes things, which I consider an improvement. See e.g. what happens when folks have cameras pointed at the cops slowly murdering George Flynn. But directly giving my money to the companies that are writing software specifically to support genocide (e.g. Uighur classification) and are doing the installations for contract at what's essentially concentration camps...that's way over my personal ethical line, even if my few dollars are insignificant.
- stefan_ 3y agoThey are using the ancient vendor kernels too, anything from 3.x to 4.x to 5.x which sort of defeats the purpose. Most of those are pretty small too, they would be better off reversing them.. Strong Android homebrew firmware vibe.
- nirav72 3y agoFor those curious if their devices are supported. The list is here: https://github.com/OpenIPC/wiki/blob/master/en/guide-supported-devices.md https://github.com/OpenIPC/wiki/blob/master/en/guide-support...
- snvzz 3y agoFinally, a way to decide which IP camera to buy.
- deleted 3y ago[deleted]
- bradknowles 3y agoWow. I've only heard of two of those brands of cameras. And I didn't recognize any that were among the known thousands of re-brands/sub-brands of HikVision and Daihua, both of which have been implicated in the suppression of the Uighur people in China (and which have been banned by the NDAA, see https://ipvm.com/reports/ban-law https://ipvm.com/reports/ban-law).
- fcpk 3y agoTotally random question there but... Any recommendations of cameras that are currently easily available(say amazon, aliexpress, etc) and support this while having good/verygood image quality?
- s1gnp0st 3y agoSeconded. I previously bought some that I thought were supported, before finding out that they are not. It'd be great to know whether anyone has had success with particular hardware.
- obituary_latte 3y agoThey have a device/chip compatibility list here: https://github.com/OpenIPC/wiki/blob/master/en/guide-supported-devices.md https://github.com/OpenIPC/wiki/blob/master/en/guide-support...
- deleted 3y ago[deleted]
- snthd 3y agohttps://openipc.org/support-open-source 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.
- papercrane 3y agoThat's confusing, because the GitHub repo has an MIT license. Is there some kind of secret sauce they add to the compiled binaries that the non-commercial clause applies to maybe?
- orra 3y agoTheir "Magestic" app, which sounds like it provides key functionality, is closed source.
- neilv 3y agoI wonder whether they really want open source, or this is a commercial effort that's trying to leverage 'the community' to get the hard part of the engineering for free. For really wanting open source, the OpenWrt model has seemed pretty good, and the nature of the engineering work seems similar. Some hardware vendors use OpenWrt for their firmware, which seems to help the mainline open source OpenWrt also have good support for that hardware.
- snthd 3y agoAnother IP Camera thread: https://news.ycombinator.com/item?id=36447024 https://news.ycombinator.com/item?id=36447024
- efrecon 3y agoA long time ago, I built a business around off-the-shelf IP cameras. The field was full of buggy firmware with enormous security holes (biggest I found was to be able to acquire pictures without even being authorised!). Hardly none of these firmware would get updated, they were abondonware right out of the package. Even though this doesn't seem to be entirely open, any kind of move into that direction is a bit of fresh air.
- the_biot 3y agoOpenIPC is one of those projects where the core team is Russian, and their communication is Russian, and they use Telegram (or a bridge) for everything. As a non-Russian speaker you're pretty lost trying to contribute, and as a result they attract hardly anyone outside the russosphere. I've tried telling them they're artifically limiting their project, but was predictably ignored. This project has so much potential, but it will never be achieved. I've seen this before; projects like that tend to stagnate and die. Openinkpot comes to mind. BTW not a rant against Russians; open source projects do best when they have a lot of contributors from across the world, and that means English.
- 0xDEADFED5 3y agoFirst of all, software projects in general tend to stagnate and die. If you really want to contribute, I'm sure you can figure out a way. You can always fork it and do your own thing, that's potentially a contribution in itself. It's a little selfish to expect other people to become fluent in technical English and rearrange their project to suit your desires.
- rasz 3y agoSomething tells me being closed source while naming it OpenIPC and pretending to be under MIT license mighty be a bigger factor. Being russian and clearly trying to steer project towards drone use https://github.com/OpenIPC/sandbox-fpv https://github.com/OpenIPC/sandbox-fpv doesnt help either, we all know what russian drones are used for right now.
- ZigFisher 3y ago[dead]
- dang 3y agoRelated: OpenIPC: Alternative open firmware for your IP camera - https://news.ycombinator.com/item?id=35975383 https://news.ycombinator.com/item?id=35975383 - May 2023 (1 comment)
- elromulous 3y agoOpenIPC really didn't mean what I thought it did. I was 100% sure it would be some kind of inter-process communication abstraction / framework.
- mikepurvis 3y agoYeah I think IPC has too much of an established meaning here. Something like OpenIPCam might be a little safer.
- bastard_op 3y agoHaving looked into this myself prior was mostly asking for disappointment. Getting a random Chinese IP camera to convert to open firmware is great in theory, but the problem is actually buying a camera or 10, or buying more over time. You never really know what hardware ships internally at any given time, ie what SoC a camera really is. They change frequently in random Chinese manufacturers with internal SoC hardware update with constant improvement (in their margins at least), if reported by someone at a point in time, buying the same model a 6mo-1yr later you cannot expect the same model number to be the same hardware. It is rarely stated on a site selling them what SoC they use, or the vendors sites, assuming you can find and/or translate anything usable, or if the vendor is even still around more than a few months under that name. Therefore there is no repeatable source of products you can get reliably across time without simply testing a sample and hacking your own as you go. I really wish someone would take initiative to sell/resell a line of camera hardware with openipc or other open firmware on them. It's a business opportunity sorely missing with nothing to offer home/business users ip cameras with open sterile and guaranteed secure firmware vs. random pure Chinese jank.
- neodypsis 3y ago> I really wish someone would take initiative to sell/resell a line of camera hardware with openipc or other open firmware on them. It's a business opportunity sorely missing with nothing to offer home/business users ip cameras with open sterile and guaranteed secure firmware vs. random pure Chinese jank. Manufacturers could do it themselves, but the license prohibits commercial use.
- KennyBlanken 3y ago> OpenIPC source code is released under one of the most simple open source license agreements, MIT License, giving users express permission to reuse code for any purpose, even as part of a proprietary software. We only ask you politely to contribute your improvements back to us. We would be grateful for any feedback and suggestions. Edit: since people are arguing with me, the text I quoted is right of the main page for OpenIPC, and everything here is MIT licensed too: https://github.com/OpenIPC https://github.com/OpenIPC
- saidinesh5 3y agoThe interesting thing about this project is that they're repurposing cheap ip camera hardware to work as surprisingly decent, low latency digital video system for fpv drones: https://m.youtube.com/watch?v=wZAHkWHfBF4 https://m.youtube.com/watch?v=wZAHkWHfBF4 Mostly a continuation of the OpenHD project. But it's quite promising.
- braincode 3y agoMajestic, the main streaming "core" component of the camera (which does RTSP, HLS, etc...) is closed source, the rest is open, except some third party SDK blobs.
- petabytes 3y agoRelated: I was hacking Ambarella action cameras a while back: https://github.com/petabyt/liemoth https://github.com/petabyt/liemoth Eventually I stopped not because of how low quality action cameras were, there were hundreds of different vendors publishing rebranded Chinese cheap cams. And not to mention how crap the firmware is. The whole thing gets hot and the battery only lasts a few minutes.
- gkhartman 3y agoI was really hoping that the Pine64 PineCube cameras would gain traction in this space, but it seems like they only ever really shipped small batches of them. They'd need an enclosure/software to make them a reasonable choice. Wiki: https://wiki.pine64.org/wiki/PineCube https://wiki.pine64.org/wiki/PineCube
- opan 3y agoI think they mentioned in a blog post that they didn't get as much community support as they hoped so they gave up on it.