Whenever I look into IP cameras I close the tabs because it feels like I walked into a store brand cereal aisle where all the boxes are exclaiming “Now with fewer razor blades!” or “Only half the reported cases of salmonella than similar store brands!”
What’s a good brand for IP cameras? What’s the best, in terms of open source support and reliability?
I need a mix of PoE indoor and outdoor cameras. 15 outdoor/10 indoor. Cost isn't a factor, I need something reliable.
I have 5 outdoor and 6 indoor cameras. They all support PoE power; for some of the internal ones I'm using PoE, others I got an injector & wifi dongle.
They'll talk to basically anything, the outdoor ones have handled several years of every possible kind of weather. I had one camera that died a week after it arrived; the RMA process w/ Axis was smooth and easy.
Their support windows are what you'd expect from a company whose primary customer base is commercial rather than consumer: IIRC they emailed me a year or two ago to warn me that they'll no longer be shipping software updates for my outdoor cams starting in 2030.
Also very interested in PoE cameras with open source firmware. Most of these seem to be wifi + power cable; I figure if I'm running a cable anyway it might as well be a data cable. Maybe wifi is easier to set up a couple devices, but once you get to 5+ cameras PoE is worth.
When I looked they had premium pricing, gen old hardware, and dependencies on either cloud with subscription or proprietary hardware.
Same with their doorbell cam, proprietary hardware or cloud subscription.
I bought 2 reolink cameras for the same price, they work with everything, can trigger external devices where there's motion, and integrate well with whatever else you have around. The reviews that did direct comparisons didn't rate ubiquiti well.
Unlike the Ubiquiti APs that just need a java program they give you to run somewhere and not even all the time, just when you need to make config changes.
There's no reason to re-invent the wheel - ipcamtalk has a comprehensive set of explanatory posts. Don't buy Reolink, avoid Amcrest - Loryta (rebranded Dahua) and Hikvision are the strongest, but there are other strong options, especially on the refurbished commercial camera front.
I have a whole bunch of brands. I wrote ONVIF stuff, some years back. I gave up on it, as the spec sucks.
Hikvision has probably been the best "all-around" camera, but they may be subject to import restrictions.
Axis is very good (but un-cheap). Bosch is crappy (and also un-cheap).
I have a Dahua, which is quite good. I also have a pretty good Panasonic.
Funnily enough, probably the most reliable camera that I have, is also the cheapest. It's a $40 FLIR "eyeball" camera (not an IR camera -it's an OEM Chinese camera that several manufacturers rebrand).
A bunch of my cameras are obviously just rebrands of the same cheap crap. The software is abominable.
amcrest and reolink are some of the only large Chinese resellers that actually ensure onvif is implemented.
yeah they have a login wall without a reflash, but most of them do -- but the hardware isn't bad and you can keep it local after setup.
That said -- yes : hikvision is the de-facto generic IPcam without issues. Most CCTV softwares are built around hikvision cameras and firmwares as generics.
Why not buy Reolink? I bought one for my parents and it just works for them as well as can be expected. Local storage, local vision recognition of people/pets/vehicles, an app with push notifications. Maybe a little rough around the edges but for a non-cloud device it's pretty darn good.
Don't consider at all: All non-OEM Chinese stuff (1 trillion brands, way too many to list, including the usual consumer garbage that you might find in a store like Reolink etc.)
Consider if cost turns out to be a factor: The two major Chinese OEMs, Hikvision and Dahua.
Note: All Chinese OEMs are obviously implicated in the Chinese surveillance state. Obviously. A lot of "major" brands are OEMed by these two, even ones you might not expect. For example, much of Panasonic stuff is rebadged Dahua. Basically 90% of any CCTV camera Made in China comes from either Dahua or Hik, the lesser brands just mostly get (or rather, choose) the bargain-bin hardware with monkey-model firmware and of course no FW updates ever.
If cost really isn't a factor: Bosch, Axis, Dallmeier, Mobotix
Note: Most of these you cannot buy directly, and the vendor won't talk to you.
> What’s the best, in terms of open source support and reliability?
These are found at completely opposite ends of the spectrum. All good CCTVs cameras use signed and more-or-less well encrypted firmware, even cross-flashing isn't much of a thing.
I think it's worth mentioning that, if you can, set these IP cameras up on a separate VLAN that doesn't have internet access (or access to the rest of your network), run an open source PVR, and use firewall rules to allow the PVR to access the local streams on the IP camera VLAN. I think this mitigates much of the risk of using Chinese OEM cameras.
Hikvision and Dahua make a lot of cameras but I wouldn't call them the major OEMs, that would probably Ingenic, Goke, HiSilicon, uhhh Sigmastar, probably others I can't recall. If you're looking for one outside the PRC, Novatek is based in Taiwan.
Some Reolink PoE cameras are OK, though a lot of people don't like them. Otherwise I would be looking for Axis (probably one of the best choices) or Dahua gear. Depending on how crazy you want to get, there are some vendors that make really excellent cameras like Costar/CohuHD, but be prepared to probably pay big dollars (and a lot of their stuff like my PTZ are huge cameras).
I have a friend with quite a large Reolink set up and he swears by them. I’ve been looking at them to replace my aging Ring outdoor cameras. Big downside for me is having to run a bridge for Home Kit integration.
I have used MindVision gigabit cameras, I believe they have some POE models (but they are mostly indoor-industrial-machine-vision. They do have a Linux SDK (basically a .so and a Python wrapper for the .so).
I'm going to look at all the links in the comments in this post to see if I can find things which are: better documented, more affordable, and easier to integrate.
Haven’t seen it yet so I’ll mention Hanwha, they were part of Samsung before the unit was spun out. They are probably the best competition to Axis and sit differently in the geopolitics, coming from Korea
Despite the name, openipc isn't fully open - the main recorder/encoder app (majestic) is closed source. Many openipc developers have moved to an alternative project named "thingino" which has a fully open source recorder/encoder/streamer.
Nice, it actually supports several popular Amazon US "no-name" brands, including Imou and Wansview! (Plus, several mainstream Eufy, TP-Link and Wyze cameras are supported by thingino as well.) Seems to be more user-friendly than OpenIPC, too.
I'm generally the guy making "easy installers" for Thingino cams. The default way to install on a cam is to use a flash programmer, some devices you can use a uart adapter.. I try to find opportunities in the factory firmware that allow you to flash using just a SD card when possible, and publish walkthrough videos on my channel. Some other devices you can flash with a flash glitch trick at boot, which I have several devices documented for that method as well. I'm a huge proponent of privacy and security being available to everyone and not just the technically minded user, and being able to get a commodity priced camera to faithfully serve a non-technical user is my goal!
I love how the front page doesn't scream SOCs/SOMs to you and is just straight up here's the compatible cameras with pictures (with some SOM info below).
The ING in Thingino stands for Ingenic. The Ingenic chips are MIPS, all the other cams are ARM. Focusing on these chips allows us to produce a firmware that actually works (not my experience with openipc) and is already configured for a specific product so you don't have to spend hours figuring out specifics for your camera to enable the hardware features!
Sorry, you are slightly mistaken and mislead the colleagues present here.
The OpenIPC project is completely open wherever possible, but it allows the use of various streamers Divinus/Majestic/Mini/Venc/other and various binary drivers and libraries if the chip manufacturer does not provide open source code.
The Divinus streamer is a great alternative to Majestic and it is open and also part of the OpenIPC ecosystem - https://github.com/openipc/divinus
I guess encoder app is separate from encoder proper, because I have to assume the bulk of the encoder is done in hardware. I mean, those things can do realtime h265 in 4k without a beefy CPU or getting hot.
Most of the image/video related stuff is done in the hardware, as well as a bunch of other functionality that would be hard to do on a 1 watt cpu. Check out the block diagram of the T31 processor: https://en.ingenic.com.cn/products-detail/id-21.html
Our streamer (prudynt-t) communicates with those blocks to handle settings, overlays, etc and receives the pre-processed image/video/audio data, packages it up for rtsp//mjpeg/etc, and handles client connections, motion sending, day/night vision, etc.
This is the status quo for ip cameras regardless of vendor!
I looked at the list on https://thingino.com/ , and one of the cheapest cameras supported by thingino is Wansview Q5.
I'm NOT exactly sure on the exact version, because 2 different versions exist on Amazon, 3MP/2019 and 5MP/2024, in 2 colors each, but the older 3MP version is available for under $20.00 USD with FBA:
The 5MP version is not yet supported! it's identical to the Cinnado D1 5MP, and in addition to the better sensor (and dual band wifi!) they use the next generation Ingenic processors. Work in progress!
Generally the cheapest fro Amazom is by Cinnado. I have a video on installing it my channel as well. I've bought this model for as low as $9.50 shipped. https://www.youtube.com/watch?v=phqR49t75Ak
Cool! It looks like the Wansview Q5 has a similar SoC/camera/wireless setup as the Wansview W7, which as an installer guide on the Thingino wiki [1]. I wonder if that same installation process (but with the q5 firmware) would work. For $16 I'm inclined to try it out.
wyze doorbell v1 is very cheap refurb on ebay and has an actual 4 megapixel selsor they run at 1080p for no particular reason in their firmware. It's 4 megapixel when you run Thingino!
Thingino is a full replacement firmware for Ingenic-based ip cameras. While we have some overlap with OpenIPC it's fair to say that our missions are quite different. I don't consider us competing projects, they even use some of our code (and possibly vice-versa) in their firmware.
A number of years back I got bored during covid and decided to reverse engineer as much of the Wyze Cam V2 camera I could and make some custom firmware for it. Right now that lives at https://github.com/openmiko/openmiko
That said it's really hard to make long term supportable open source camera software/firmware. And when picking cameras it is even harder because the market as it stands now does not let you have it all. You need to pick what facets you really care about.
Also keep in mind even the above code is not really opensource all the way: I still had to load the driver binaries. Not sure that source will ever be released. The kernel is also old as heck.
What I do feel good about though is saving these old cameras from the dumpster if Wyze ever stops supporting them. The firmware works for simple cases: just load it up and you can start curl'ing frames. I used it in scripts to put together timelapse videos with ffmpeg. No need to screw around with authentication, phones apps, email, etc.
I would love to find a "zero to hello world, from scratch" type tutorial for putting custom firmware on a camera not supported by one of the existing projects (or a similar writeup detailing how one of these projects got started in the first place).
Hey, Openmiko is a nice project. With your baggage of knowledge, I would love to see you contributing to Thingino as well. While we still depend on binary blobs from the manufacturer SDK, there is a work on alternatives to replace what is replaceable with open stack. Join the team, have fun.
I actually tried this before and it led nowhere. The list of supported hardware is specifically referring to the SoC, not a brand or anything. It can be very hard determining which physical cameras have which chips. On top of that, despite the name, most of the supported devices seem to be for webcams, and not chips used in modern off-the-shelf IP cameras. I really wish there was a ground up guide that used an obtainable, normal camera.
looking at the russian sponsors linked on the russian site I suppose this is mostly for the people putting these things on drones or in trenches... I suppose they obtain their cameras somewhere...
This seems nice. But if I am looking correctly, it does not support the devices from the mainstream brands like Hikvision.
I am unaware of how good those typical $20 cameras are. Maybe they are decent. But for instance some of the Hikvision ones with 8MP sensors support 4K@25 fps.
I think that it would be great if there would be an open source firmware for higher-end cameras like those.
Thingino doesn't support cams with ARM processors, we only support the chips made by Ingenic (which are a MIPS superset they call Xburst). We have a number of 4 megapixel (not 4k) devices we support, and are in the process of adding support for the next generation of Ingenic chips (Xburst2) which will bring up support for 8 megapixel (4k) devices.
We're also focused mostly on the less expensive models, because they're obviously within reach for a lot more folks but also they're almost always subsidized by the expectation that a discounted purchase price is made up for by the vendor's cloud subscription. You can get a LOT of great camera models for a low price.
I will say that there is a story about Hikvision that would likely steer most folks away from their brand.. it's bad enough that Google won't index it... With that said, I don't believe anyone should be trusting any third party with their video data in the first place...
> I don't believe anyone should be trusting any third party with their video data in the first place
Of course. No one is suggesting that storing video data from cameras in a cloud system over which the owner has no oversight and no control is reasonable.
I was mostly interested in what kind of image quality can an end user expect to get from a camera with open source firmware.
The mainstream brands like Hikvision had cameras with 4K@25 fps capabilities several years ago. And if I understand what you have written in your message correctly, the Thingino may possibly, start supporting similar cameras sometimes in the future. Which is great. But it does not support them now.
I fully understand that the focus is on the mass market where the devices are cheap. It makes sense. It is reasonable.
But it is also necessary, in my opinion, to fully openly acknowledge that there indeed is a fairly broad gap in capabilities of what you can get with this kind of firmware when compared to the mainstream offerings.
I have two Tapo units at home, they seem to be working fine without an internet connection.
I created a new subnet and an associated WiFi SSID for it, connected the Tapo cameras, and set them up to act as RTSP cams. I then firewalled the subnet off from anything other than my Frigate NVR server and gateway. They still work fine, they are streaming video to Frigate without complaint. Maybe because they have DNS from my gateway still? (I should probably block that off, it's a common data exfil vector).
Very annoying that internet connectivity is required for initial setup, I'll agree there. They could have just had a bare bones web interface.
It's hard to say for sure if this firmware will work on a specific Tapo camera, but the Tapo TC60 uses the Ingenic T31 SOC, which is supported. If there's a strong chance that their cameras use any of the Ingenic SOCs on this list, it would be worthwhile trying.
Yup, requiring permanent internet connection is such BS.
I had one of these "no-brand" cameras that had an integrated MicroSD card, which would make you think that it'd work just fine even without the internet.
We had no power in Austin for several days, but I kept my camera on a portable battery, because, why not?
After the power and the internet were restored and I checked the app, turns out, nothing was recorded! Even though it was online the whole time.
What’s a good brand for IP cameras? What’s the best, in terms of open source support and reliability?
I need a mix of PoE indoor and outdoor cameras. 15 outdoor/10 indoor. Cost isn't a factor, I need something reliable.
I have 5 outdoor and 6 indoor cameras. They all support PoE power; for some of the internal ones I'm using PoE, others I got an injector & wifi dongle.
They'll talk to basically anything, the outdoor ones have handled several years of every possible kind of weather. I had one camera that died a week after it arrived; the RMA process w/ Axis was smooth and easy.
Their support windows are what you'd expect from a company whose primary customer base is commercial rather than consumer: IIRC they emailed me a year or two ago to warn me that they'll no longer be shipping software updates for my outdoor cams starting in 2030.
Same with their doorbell cam, proprietary hardware or cloud subscription.
I bought 2 reolink cameras for the same price, they work with everything, can trigger external devices where there's motion, and integrate well with whatever else you have around. The reviews that did direct comparisons didn't rate ubiquiti well.
Unlike the Ubiquiti APs that just need a java program they give you to run somewhere and not even all the time, just when you need to make config changes.
Hikvision has probably been the best "all-around" camera, but they may be subject to import restrictions.
Axis is very good (but un-cheap). Bosch is crappy (and also un-cheap).
I have a Dahua, which is quite good. I also have a pretty good Panasonic.
Funnily enough, probably the most reliable camera that I have, is also the cheapest. It's a $40 FLIR "eyeball" camera (not an IR camera -it's an OEM Chinese camera that several manufacturers rebrand).
A bunch of my cameras are obviously just rebrands of the same cheap crap. The software is abominable.
yeah they have a login wall without a reflash, but most of them do -- but the hardware isn't bad and you can keep it local after setup.
That said -- yes : hikvision is the de-facto generic IPcam without issues. Most CCTV softwares are built around hikvision cameras and firmwares as generics.
We got the Duo Floodlight PoE for reference.
Don't consider at all: All non-OEM Chinese stuff (1 trillion brands, way too many to list, including the usual consumer garbage that you might find in a store like Reolink etc.)
Consider if cost turns out to be a factor: The two major Chinese OEMs, Hikvision and Dahua.
Note: All Chinese OEMs are obviously implicated in the Chinese surveillance state. Obviously. A lot of "major" brands are OEMed by these two, even ones you might not expect. For example, much of Panasonic stuff is rebadged Dahua. Basically 90% of any CCTV camera Made in China comes from either Dahua or Hik, the lesser brands just mostly get (or rather, choose) the bargain-bin hardware with monkey-model firmware and of course no FW updates ever.
If cost really isn't a factor: Bosch, Axis, Dallmeier, Mobotix
Note: Most of these you cannot buy directly, and the vendor won't talk to you.
> What’s the best, in terms of open source support and reliability?
These are found at completely opposite ends of the spectrum. All good CCTVs cameras use signed and more-or-less well encrypted firmware, even cross-flashing isn't much of a thing.
Usually we go for Geovision (still around $300 - $800) or Axis (little higher).
I'm going to look at all the links in the comments in this post to see if I can find things which are: better documented, more affordable, and easier to integrate.
Deleted Comment
If Chinese brands don’t scare you: Hikvision is very good allarounder, Milesight, Uniview (UNV), Vivotek - good too
Dahua cheap but still usable
All other - don’t even bother
> https://github.com/themactep/thingino-firmware
Nice, it actually supports several popular Amazon US "no-name" brands, including Imou and Wansview! (Plus, several mainstream Eufy, TP-Link and Wyze cameras are supported by thingino as well.) Seems to be more user-friendly than OpenIPC, too.
More info is at my installers repo https://github.com/wltechblog/thingino-installers or my YT channel (WLTechBlog)
I love how the front page doesn't scream SOCs/SOMs to you and is just straight up here's the compatible cameras with pictures (with some SOM info below).
Edit: But they have a list of product names, where they support installation of Thingino: https://github.com/themactep/thingino-firmware/blob/master/d...
Good list. Happy to see Imou and Wansview on the list, these "unknown" brands have been selling directly on Amazon US for a while now:
https://www.amazon.com/stores/Wansview/page/1E1F86AB-C01A-45...
https://www.amazon.com/stores/Imou/page/73EC8A3D-1E78-42C5-8...
The OpenIPC project is completely open wherever possible, but it allows the use of various streamers Divinus/Majestic/Mini/Venc/other and various binary drivers and libraries if the chip manufacturer does not provide open source code.
The Divinus streamer is a great alternative to Majestic and it is open and also part of the OpenIPC ecosystem - https://github.com/openipc/divinus
Our streamer (prudynt-t) communicates with those blocks to handle settings, overlays, etc and receives the pre-processed image/video/audio data, packages it up for rtsp//mjpeg/etc, and handles client connections, motion sending, day/night vision, etc.
This is the status quo for ip cameras regardless of vendor!
I'm NOT exactly sure on the exact version, because 2 different versions exist on Amazon, 3MP/2019 and 5MP/2024, in 2 colors each, but the older 3MP version is available for under $20.00 USD with FBA:
https://www.amazon.com/stores/Wansview/page/1E1F86AB-C01A-45...
https://www.amazon.com/dp/B07QKXM2D3 — $16.14 FBA for black 3MP Q5 Wansview
https://www.amazon.com/dp/B07QKWPT8J — $19.78 FBA for white 3MP Q5 Wansview
It's also been on sale at $9.99 on Woot a few months ago, but sold out.
https://electronics.woot.com/offers/wansview-2k-ip-security-...
EDIT: looks like the cheapest one in the US is actually Cinnado D1 2k, it's under $14.99 on Amazon.
https://github.com/wltechblog/thingino-installers/tree/main/...
https://www.amazon.com/dp/B0CBBT5RMP — ≤$14.99 FBA for Cinnado D1
It looks like right now it's available for 14.99 less the 25% promo code, that's $11.25 USD shipped, for OSS hardware? Niiice!
[1] - https://github.com/wltechblog/thingino-installers/tree/main/...
update seems like it's software for a camera module. Now I have to figure how to match that with cameras or how to connect it to my raspberry pi
That said it's really hard to make long term supportable open source camera software/firmware. And when picking cameras it is even harder because the market as it stands now does not let you have it all. You need to pick what facets you really care about.
Also keep in mind even the above code is not really opensource all the way: I still had to load the driver binaries. Not sure that source will ever be released. The kernel is also old as heck.
What I do feel good about though is saving these old cameras from the dumpster if Wyze ever stops supporting them. The firmware works for simple cases: just load it up and you can start curl'ing frames. I used it in scripts to put together timelapse videos with ffmpeg. No need to screw around with authentication, phones apps, email, etc.
Having read https://github.com/openmiko/openmiko/blob/master/doc/develop... -- is there anywhere that you document how you learned to do this / how you got started with this project?
I would love to find a "zero to hello world, from scratch" type tutorial for putting custom firmware on a camera not supported by one of the existing projects (or a similar writeup detailing how one of these projects got started in the first place).
I am unaware of how good those typical $20 cameras are. Maybe they are decent. But for instance some of the Hikvision ones with 8MP sensors support 4K@25 fps.
I think that it would be great if there would be an open source firmware for higher-end cameras like those.
We're also focused mostly on the less expensive models, because they're obviously within reach for a lot more folks but also they're almost always subsidized by the expectation that a discounted purchase price is made up for by the vendor's cloud subscription. You can get a LOT of great camera models for a low price.
I will say that there is a story about Hikvision that would likely steer most folks away from their brand.. it's bad enough that Google won't index it... With that said, I don't believe anyone should be trusting any third party with their video data in the first place...
Of course. No one is suggesting that storing video data from cameras in a cloud system over which the owner has no oversight and no control is reasonable.
I was mostly interested in what kind of image quality can an end user expect to get from a camera with open source firmware.
The mainstream brands like Hikvision had cameras with 4K@25 fps capabilities several years ago. And if I understand what you have written in your message correctly, the Thingino may possibly, start supporting similar cameras sometimes in the future. Which is great. But it does not support them now.
I fully understand that the focus is on the mass market where the devices are cheap. It makes sense. It is reasonable.
But it is also necessary, in my opinion, to fully openly acknowledge that there indeed is a fairly broad gap in capabilities of what you can get with this kind of firmware when compared to the mainstream offerings.
Setup is made online. Then try to use that without a permanent internet connection... it turns itself off.
It needs a permament connection to tp-link. Now you imagine why.
I created a new subnet and an associated WiFi SSID for it, connected the Tapo cameras, and set them up to act as RTSP cams. I then firewalled the subnet off from anything other than my Frigate NVR server and gateway. They still work fine, they are streaming video to Frigate without complaint. Maybe because they have DNS from my gateway still? (I should probably block that off, it's a common data exfil vector).
Very annoying that internet connectivity is required for initial setup, I'll agree there. They could have just had a bare bones web interface.
I had one of these "no-brand" cameras that had an integrated MicroSD card, which would make you think that it'd work just fine even without the internet.
We had no power in Austin for several days, but I kept my camera on a portable battery, because, why not?
After the power and the internet were restored and I checked the app, turns out, nothing was recorded! Even though it was online the whole time.
Such a major disappointment.
Show HN: WFB-ng – long range high speed link for drones and robotics - https://news.ycombinator.com/item?id=41293934 - Aug 2024 (3 comments)
Thingino: Camera firmware derived from OpenIPC focused on the Ingenic SoC - https://news.ycombinator.com/item?id=40261046 - May 2024 (2 comments)
OpenIPC is an alternative open firmware for your IP camera - https://news.ycombinator.com/item?id=39571025 - March 2024 (70 comments)
OpenIPC: Alternative open firmware for your IP camera - https://news.ycombinator.com/item?id=37812217 - Oct 2023 (59 comments)
OpenIPC: Alternative open firmware for your IP camera - https://news.ycombinator.com/item?id=35975383 - May 2023 (1 comment)