Ask Slashdot: Are There Any Open and Affordable IPCams?
New submitter criticalmess writes: I'm about to give up on any decent hardware to be found to roll my own web-based camera setup around the house and office — and thought that the nerds and experts at /. would be my last resource I could pull out. Having bought multiple IPCamera (DLink, Abus, Axis, Foscam, TP-Link, ...) and always getting the 'requires DirectX' treatment, I'm wondering if there are any open and affordable IPCams out there? I've been looking at BlueCherry and their kickstarter campaign to create a complete opensource hardware solution, I've been looking at Zavio as they seem to offer the streams in an open enough format while not breaking the bank on the hardware. Anything else I should be looking at? I can't for the love of it understand why most of these hardware companies require you to run DirectX — anybody care to enlighten the crowd? Should be simple enough really: hardware captures images, a small embedded webserver transforms this into an RTSP stream or HTTP stream, maybe on h264 or similar — done.
The panasonic ones are fairly decent. They can be had really cheap too, as long as you don't get in the view of the camera itself when you're obtaining them...
Do not look into laser with remaining eye.
"Build a Raspberry Pi Webcam Server in Minutes"
http://pimylifeup.com/raspberry-pi-webcam-server/
Do you mean ActiveX?
Hikvision.. Very cheap on alibaba.
No idea why an IP camera would require DirectX, but some of them do have web interfaces that require ActiveX, but you only need that if you actually want to use the web interface to view the video. Most IP cameras (certainly including Axis, I'm not familiar with the others on your list) also implement RTSP, and H.264 is pretty standard, so you can view the streams using e.g. VLC player.
I've had great luck with the modules from Leopard Imaging. They have a REST interface for configuration and stills. RTSP works perfectly with clients like VLC. Nice range of lenses. Designed to be embedded. Sweet.
While I can't speak for "most", the limited experience I have had with IP cameras is that the stream coming off many of them is a bone-standard MJPEG stream. That is simply a stream of JPEG images, and any app that can interpret them should be fine. Microsoft has actually published a very small demo program, based on dotNet 4, that displays the output from a webcam.
Rosewill's webcam, by the way, uses a Java applet normally to show what's coming off the camera. I don't believe they use DirectX, or ActiveX, as the image output shows up fine on Firefox.
I have an Axis M1054, and it works fine with VLC to view rtsp:///axis-media/media.3gp
I've got a real beef with the IP camera industry. High cost, large size, relatively low resolution, and the poor interface issues that the OP describes. A 5MP Axis or Hikvission IIP camera will set you back $300 or more and higher resolution will trip the $1,000 mark in a hurry. For a home security camera system that can read a license plate on the street you'd have to spend thousands, probably tens of thousands.
Yet a Samsung Galaxy has a tiny and great 16MP camera, computer, on board storage, WiFi, cellular connectivity, environmental sensors, and LOTS more in a tiny package for about the same price as the previously mentioned 5MP camera..The only thing they lack is a PoE port and IP66 case.
There just doesn't seem to be a valid reason for the lack of low cost high quality IP cameras.
zoneminder fucking SUCKS.
just get a $200 H.264 DVR + cameras kit.
Firstly I assume you mean ActiveX and that your gripe is the streaming system used by the cameras which requires plugins to use a browser. Have you dug into the operation of any of the cameras? Some of them may provide other interfaces not documented or immediately obvious from their default web interface. For example: My cheapo Chinese Foscam PTZ camera requires ActiveX on the web interface, but the video stream is available via http://w.x.y.z/videostream.cgi... and that spits out a rolling JPEG (I think, I can't remember) stream which does not require any browser plugins.
I came across this while setting up my next suggestion: Zoneminder.
If you have a server located somewhere then I suggest you centralise the security camera management via some program like Zoneminder. This will allow you to capture data from multiple cameras with multiple interfaces and multiple vendors into one common platform. This common platform can perform things like motion detection, recording, and can even control a wide range of model's PTZ functions.
Basically an opensource solution presenting a front end to your closed source cameras.
Raspberry Pi 2 model B does hardware based h.264 encoding when used w/ their camera (options exist with/without IR filter). This results in about 3% CPU utilization on a RPi 2 model B. This encoding can then be piped to VLC. Once in VLC, the options are pretty endless.
Here's a real-world command that pipes the camera to VLC which makes it available via HTTP:
raspivid -t 0 -w 1920 -h 1080 -fps 25 -b 2000000 --exposure night -o - | /usr/bin/cvlc -I dummy --live-caching=500 'stream:///dev/stdin' --sout '#standard{access=http{user=youruser,pwd=yourpass},mux=ts,dst=:8080/}' :demux=h264 --sout-keep &
A key advantage of a RPi is the flexibility, versatility, updatability afforded by both the open hardware and the linux operating system.
~$35 for a RPi 2 model B, ~$25 for a camera. MicroUSB power supply/cable ~$10. WiFi ~$10 (or use integrated ethernet).
cheap
motion reads it from rtsp://192.168.0.80:8554//live0.264
I've used a couple of old android phones for this, some old ones from upgrades and old ones friends weren't using - have a look for the app IP Webcam, seems to do exactly what you're after.
Even older phones with ~2MP cameras on the back should be more than enough resolution for this task. The batteries also provide convenient UPS in the event of power cut too.
Most IP cams support OnVif. Basically there are http or rtp url schemes you hit the camera with that tell it what kind of stream to return. Like codec, frame rate, image size, data rate etc. Just find a camera you're interested in, download the manual (if they don't allow that, don't give them money) and look to see if a bunch of url schemes are outlined in there to that effect. Generally if it says it needs some directx or java applet support that's usually for a player app the camera will serve up in its web interface. But you generally don't need to use it after you get it configured the way you like. Also, some cams won't respond to icmp or inbound requests until you run special provisioning software from a machine on the same subnet. It's lame BS but just a heads up that if you plug the thing in and can't find it by pinging the broadcast address, that's why.
Usually a requirement for DirectX or ActiveX is for the viewer software they provide, not the camera itself. Either their application uses DirectX to handle the graphics display, or the standard Web page the camera puts around the stream uses an ActiveX widget to display the stream. Usually if you can get the manual for the camera and take a look at the Web page it generates you can find the URL for the actual video stream and use that in any video software. A little more work will give you how to configure the camera for resolution and stream encoding and such to get exactly what you want.
All of the camera manufacturers you listed, assuming you bought their cameras in the last 5 years, will support an H.264 video feed over RTP/RTSP. Here's a list of a whole lot of CCTV camera RTSP URLs. If one you have isn't listed, it shouldn't be too hard to find it elsewhere on the web.
+1
I have a Synology NAS (which is good for many other reasons than cams) and have a D-Link DCS-2132L hooked up to it.
The built-in web interface to the camera did not require any ActiveX, though perhaps it did need a Quicktime plugin on my mac to display H.264. Supports RTP / RTSP/ RTCP but I haven't tried it because why would I? I hate to sound like a Synology who*e, but it's worked great for me out of the box. I'm watching my cat sleep on my iPhone as I type this.
It's been many years since I've used Zoneminder, but even then it was better than almost all of the $200 DVR/Camera kits that I've seen.
My sister got one of those kits at Costco and it was a pain to configure, and very limited on it's options/capabilities.
Zoneminder brings in a lot more than just itself. It's heavy enough that one can rule out using it on most embedded devices and lower-end PCs.
On the other hand, if you have something that can keep up with all the camera threads, it's worth a try.
Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
I went the free route: used Android phones and "motion" installed on an Ubuntu server.
Their PoE Cameras are the most unreliable pieces of garbage.
Even if you use SHIELDED twisted pair, they burn out at around 18 months.
I've a number of Vivotek outdoor bullet IP cameras and they work really well for me using Zoneminder on GNU/Linux. I also use direct streams to browsers on multiple platforms. Has RSTP and HTTP. I've had them for years and they have worked rock solid for me all this time. I have some Vivotek IP8332 and IP7330 (discontinued?). The IP8332-C is the same as the IP8332 but with a much better mounting bracket. I don't do windows and similarly had a very hard time finding something, but these did the trick.
I've had really good luck with these cheap, roughly $35, 960p dome cameras off of bay. They've got a nice wide viewing angle with the 3.6mm lens. Then I just consume the RTSP streams with zoneminder.
Indeed. Their controller software can do RTSP translation: http://community.ubnt.com/t5/U...
I would slightly revise the question- are there any inexpensive IP cameras that don't require a Windows machine and a Chinese translator to set up and get on my Wifi?
Don't blame me, I voted for Baltar.
Even though they might have activeX or Java controls embedded on their web interface, most cameras I've used still offer a HTTP or RSTP stream.
Look at the source of the web page in your browser and it will often give you hints to the underlying stream URL. Eg, the cheap standard definition Chinese FOSCAM cameras have something like: /videostream.cgi?rate=11&user=XXXX&pwd=YYYY
I have done similar with Chinese high definition cameras, using an RSTP explorer to find the stream URL. You can then plug this into VLC or similar and give it a try.
Once you have the stream details, I'd then recommend using the awesome open source security camera software Zoneminder as the user interface to all of the streams, as well as providing motion detection and recording.
I've been playing around with an old (circa 2009) netbook running atom with two logical cpus and 2GB of RAM, also using motion to get the pictures. I didn't try more than one camera, but I think it would work - meaning, i think atom would handle the task. Motion allows you to set up more then one camera at the same time. You can save the pictures as video, and only if there is any movement, if you want. Try changing the values, the conf file is very well commented. Pay attention to sudden light changes, because they trigger false movement (you can adjust how much light change triggers video saving). I think the only issue is getting usb cables long enough for you needs. I don't know how long can a usb cord be. 2 meters (6 feet?) is a bet. Good webcams are expensive, so buying stuff and building a CCTV maybe is not cheaper then buying stuff ready out of the box.
Yes, power over cat5 (aka Power over Ethernet) is the way to go.
Way too much for an IP CAM. Get a HI3518e based board. These are $7.50
http://detail.1688.com/offer/4...
They run Linux and support RTSP. Plus they have excellent h.264 support.
Google around you can find the SDK.
It is Windows only, but it's open source and web/mobile clients are available. The list of supported cameras is huge. http://www.ispyconnect.com/
What, me worry?
About 4 years ago I came into a business where the security cameras were all older coax models that wired up to capture cards and into a ZoneMinder install. It worked but was cumbersome and I figured it was time to start us getting on IP cameras. We had a new "store" location being built right around the time so I moved everything to IP cameras and ditched ZoneMinder for BlueCherry.
I've never regretted that. BlueCherry is really nice and I see it constantly improving. I don't think I've seen a single new feature introduced in the 4 years I've been using it. Instead they just keep making it better at what it really needs to do. They won't make it limit FPS from a camera. The camera can do that. A timestamp on the image? The camera should do that. Do you want to delete video? Nope. There's no reason for that. The system will eventually cycle it out when the disk is full. They don't work on fluff or things you THINK you need. They work on stability and resource consumption and things that you absolutely need in a video recording system before anything else. I like their approach.
As to cameras I'm not much help. I run about 26 Axis M-1011 or M-1011W (wireless version) cameras one ACTi E33 outdoor bullet camera, and two TRENDNet TV-IP252P dome cameras. I have tried a junk Foscam and HooToo model or two in the past but they were junk and you had to power cycle them randomly to get them back online. A $60 Foscam with PTZ that works MOST of the thing isn't worth anything to me. An Axis M-1011 with no PTZ and smple 640x480 resolution but runs nonstop 365 days a year? That's worth $175 to me. My ACTi E33 has also been reliable for a solid year now and I'm buying more. My TRENDNet TV-IP252P are annoying as hell. They just quit working at random. Their web interface is up, they respond to ICMP pings, but their RTSP feed goes down or borks up bad enough that BlueCherry can't decipher it anymore. I have to powercycle them when I see they're not reading right and I do not like them.
My Axis cameras do go offline sometimes but that's where we power cycle between the grid and generator. We only have a 2 second gap between the two and that seems to catch some cameras in a weird state. Thankfully with them when they go whacky they stop responding to ICMP and HTTP requests to my Nagios install picks up on them being off and I can fix that before it's an issue.
Ubiquiti's UniFi cameras will do a direct RTSP feed, and are fairly inexpensive for the quality. You can also install their UniFi software on a server to capture multiple feeds, store video, and rebroadcast RTSP if desired. https://www.ubnt.com/products/...
I Use VLC to access all my ONVIF-compliant security cams. Mostly Hikvision, but also many others. The only time I need ActiveX is if I am in the config, and want to play with the zones for motion detection. I do that from a VM or from the spouse's laptop. After initial setup, I never need it again.
I think the original question was poorly worded. Everyone is picking up on the s/DirectX/ActiveX/ part, and then most are giving a big WTF because most cams do (or can be configured to) output a VLC usable stream (MJPEG, h.263, etc). Maybe he really did have no clue about that, but if he used all those cams, he should be well aware that (almost) all of those will spit out a standard stream just fine.
I think you're comment hints at what he's really asking for - an "OPEN" camera that doesn't require ActiveX at all, not even for setup/config. I think that's where it gets tough. I don't know why more of them aren't more open and hackable, though I know the argument will probably be "support", but the cheap ones get returned frequently enough as it is. Edging towards the slightly more expensive side (ex. Axis), it's more stable and has easily configured streams and pulls and pushes it can do, but I'm guessing they'll be keeping as much of that closed as they can cause that's its real selling point. A cheaper, truly open, and hackable version of an Axis would be pretty awesome IMO.
I've had some great success along these lines string up security or pet monitoring with various Linux flavors and FreeBSD by simply using whatever Logitech webcam I had handy (confirm compatibility from one of the many forums first before you purchase a new one).
As for software, I have no idea what would be capable of interfacing with a video device in Windows without some bloat ware installed, but in *nix environments, use something like the v4l driver module and get yourself a copy of "motion". "Motion" works very well, I've used it for stills, video, web based remote viewing, with all kinds of different configurations.
That is of course operating under the assumption that I've correctly understood your problem statement. Either way, the last few years have brought some serious driver advances since last time I set up one of these, so these days it should be fairly easy if you have the time to go do the proper research and setup first.
ONVIF is the standard for IP Camera security systems, it handles everything from pan/tilt, video streams, motion detection, removing fish-eye etc.
The trouble with many of these cheap Chinese cameras (Hikvision, Foscam, etc.) is they claim to support ONVIF but are not certified and DO NOT WORK with ONVIF recorders as a result. Sometimes its just one or two features, on mine its pan-tilt, on the first one I bought and binned, it was the HD stream wouldn't connect when the preview stream was running! Making it completelt useless.
So they work with their own (often crappy) interface but try to use them with a big autorecorder box like a Synology raid and they don't work properly.
IMHO, best one I have is a Samsung 95% wide angle PT camera shallow dome camera, waterproof, anti-fogging. The hardware is what makes it great, the software is just the ONVIF standard stuff.
Elphel makes open source hardware/software cameras.
Hi, I have used Axis 213PTZ and 207W and they are through VAPIX API (actually mjpeg -> mime multipart jpeg) open source friendly. You definitely do not need DirectX. I have used it through C++/Golang and VLC. For the cheaper models I do not know though.
I suppose DX hurts you when you're trying to create some custom sw processing the cam feeds. Well, I've been using Basler IPcams, processing their feeds in c++ using their SDK, without the need to use any DX. You might also take a look at Allied Vision IPcams, they are pretty good as well.
I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
Yeah, really - Android. And an old phone. It has WiFi (can even act as a hotspot), a decent enough camera and there's an app for that - https://play.google.com/store/apps/details?id=com.pas.webcam - which serves the video stream and a nice web frontend to it. You can even tell it to take a full resolution snapshot. I've been using it as a digital babysitter and were quite happy with it.
Most Chinese cameras use a HiSilicon 3518C SoC running Linux 2.6 (or 2.4, I cannot remember).
A year ago a reverse engineered the firmware of one of those cameras (it was not easy to persuade the seller in Alibaba to send it). With that, I built a compiler toolchain for the Hi3518C, re-generated the firmware and flashed it. There is a binary blob for the camera and it's not easy to replace it because it's not a UVC driver (it pre-dates UVC).
The plan was to get rid of the ActiveX and replace it with an HTML5 player and some other nifty stuff but then I got involved in another project and never finished that.
they are damn near perfect and the more people that actually buy them the better !
I hope your cat is not heavy and cracks your iPhone - anyway, another upvote for Synology. I am continually impressed with the various packages that come with their NAS.
Without knowing what the OP means by affordable it's really hard to give suggestions. I've got multiple GrandStream cameras running on a ZoneMinder system. The cameras support 1920x1080, night vision with the IR LED's built-in, Power over Ethernet. I've used analog cameras plugged into a BlueCherry capture card. Resolution was low, night vision was OK (but not as good as the GrandStream), had to string the signal cable and power cable to the cams. Overall I like the new setup a lot more. Grandstream does require DirectX to view the stream through their web interface but I've never used it. I only use the web interface to set resolution, frame rate and other setttings. All the motion detection is done in ZoneMinder. When I want to view what the camera is seeing I either use ZoneMinder or vlc directly to the RTSP feed.
Do not meddle in the affairs of dragons, For you are crunchy and go well with ketchup.
I almost bought a webcam that could only be accessed via some cloud service provided by the manufacturer; it was *not* possible to access any streams locally. Useful for the clueless that just want to check up on the cat via the smart phone while doing some shopping, but not if you want to use it for security purposes... I.e. another gotcha to look out for when shopping for these things.
While not open, I was very impressed with what I could pull off with the Y-cam's several years ago.. Although not fancy with remote controls, they came with a built-in webserver for setting up the camera, including selectable areas for motion detection, multiple stream types, and RTSP output, readable in VLC. I've not used the camera for security applications, but theater. It was used to view the stage in complete blackout with a videofeed to the director so they could see when the stage was 100% clear. There was only a 1-2 second delay in the realtime feed. I would definitely consider the Y-cam for my home security as well. I haven't found a satisfactory solution that uses such universal and linux-friendly. Also, go with a wired setup, I wasn't too pleased with the wireless capabilities (drop-outs/lag/delays), but that may have been my terrible wireless setup as well. I had a Y-cam HD (Square-looking thing) ...and no, I am in no way affiliated with y-cam or the company. :)
Lemon-squeezy.
Ok, I have $200 burning here to pay you such a device. Can you make it installable outside? Under a roof, but still subject to temperature-changes? No? Ok, I'll set it up inside.
Sure. Take a week. But, if it does not work by then, you pay me back $300. Deal?
Oops... I'm afraid, you didn't quite get it. I don't want to listen peer with their transmitters. I just want to log their appearing. My own side should be as passive as possible — to conceal my own capabilities.
In Soviet Washington the swamp drains you.
what are you talking about? These $200 kits are plug and play. They're configured to record 24/7 even. You just need to plug the cameras in, and you're done.
Zoneminder needs a beefy PC for more than a few cameras. It's extremely inefficient.
Ubiquiti's AirVision software was based on that, and people were known to run 8-core xeons to manage 10-20 cameras. They rolled their own solution and now you can handle 10x as many cameras with the same hardware.