Today I have experimented with the positions for my CCTV cameras. I have prepared the installation last night with the implementation of the video display in the central application as well as an application on my phone to see the streaming video from the cameras.
The plan is to use 4 cameras for all around coverage. They are Ip cameras and can stream over the LAN and also the Internet. I mounted a camera on by step ladder and moved it around to search for the best angles and mounting points. Originally I wanted these on the side walls, but the viewing angle is not sufficient to cover the length of the van. Even two on each side would not cover it sufficiently.
The only way to cover the full length is to mount it on the front and let it look backwards. The image below shows the camera view on the passenger side, but not yet in the right mounting position. It is still a bit high, needs adjustment downwards.
Then I adjusted the lens and mounted the one on the driver side in the front corner just under the neck. This is a good spot, well protected from the elements, easy to mount and to wire. Will have an angled shield covering it from the font and it will be out of sight. I will install the other side in the same way. The cables go straight into the battery compartment. The front facing camera will be mounted above the battery hatches as the eye of the cyclops, one in the centre of the head. I need only 3 shorter cables for these cameras and the router will sit on the battery compartment. It is a POE router, so I need only the Ethernet cable to the cameras. I prefer wired cameras over Wifi. I consider them more reliable and running one cable is not that hard anyway. Even the Wifi cameras need at least a power cable, so not much difference. If I really run the rear camera into the POE router at the front is not clear yet. I have the LAN in the back anyway, so I might just plug it into another router and supply power separately. However this would require to power this router from the same circuit as the front one, because I want to minimise power use and the supply for the cameras and the NVR comes from the small inverter which also powers the fridge. When we are away and run the cameras we do not want to run the big inverters. The other option is to not use the AC adapter for the NVR but then I need a step down power supply. Neither is a problem, but I have simply not decided yet. I have a separate AC circuit for the Wifi points anyway, which can also run the NVR in away mode.
The image below shows the camera view on the driver side. I still needs adjusting, a bit rotation and slightly more outward lens position, but it covers the whole length. The rear is covered by the fourth camera in the centre of the rear wall. There is one more issue, which may lead to the solution with a separate router for the rear. We need the coverage with the rear gate up and also when the deck is down. This requires either a higher mound point of the rear camera above the roof or a 5th camera inside the recess when the deck is down. I have the extractor fan from the bathroom in the rear which is higher anyway, so I might just make a bracket and mount the rear camera above the ramp. This could also be a bullet camera, which I have anyway, and not the same dome camera as the one in the front. I think I will use the bullet camera as the only one in the rear, mounted above the roof that the ramp can open and close without interference.
The app is made for 4 cameras at the moment anyway, although this is just a 30 second job to change, but the 4 make more sense on several levels. I am not really a Java crack and I was looking for Java examples and simple web view solutions for IP cameras, but there is not much out there which was useful for me. It took a moment and I had to dig deep to get this done in an easy way and not include huge libraries of decoders and stuff just to display a camera image on my screen. Authentication problems with the camera using some Javafx components, runtime issues with image loading and a couple of other aspects had to be solved. I may make a separate post for the Java enthusiasts out there seeking for a similar simple solution. Most example you find on the web in forums are pure speculation and don’t even withstand a syntax check. That’s when you realise that the code has never really been tested. And the stuff which is tested was complex and total overkill for my purpose. At the end I managed to do this with only a few lines of code.