DIY Raspberry Pi Surveillance Display: Secure Your Space with Ease!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] Hi, I'm Stu from Hive Mind Automation and welcome back to the Hive. In this video we're going to be looking at setting up a DIY surveillance display to display our IPTV cameras on an old computer monitor. We're going to be doing that with a Raspberry Pi 3. So while I roll the intro, why don't you take a moment to subscribe and if you hit the bell icon you'll get notified when I release new videos each week. While you're at it, if you like what I do here and you want to support the channel, there's some affiliate links to Smart Home Gadgets that you can buy for your very own Smart Home and support the channel at the same time without paying any extra or you can support the channel directly through my Buy Me A Coffee link. Of course, affiliate links and my Buy Me A Coffee link can usually be found on my website hivemindautomation.com.au With all of that out of the way, let's get started. So if you've been watching the channel for a while, you'll know that I've got network connected cameras around the house. For the most part I've got Ubiquiti UniFi cameras, but I've also got some TP-Link Tarpo cameras, a Mirabella Genio camera, there's a camera in the cat feeder, and there's even a couple of very cheap low quality cameras that I picked up from Kmart for $50 about 10 or 11 years ago. One of the things that's bothered me for some time about the camera setup is that I don't have a real time view of those cameras without then opening up an app on my phone or a web browser. And I realised that I had a spare Raspberry Pi 3 that used to be my home assistant server, but I've since upgraded to my home assistant Yellow and the Compute Module 4. I also have an old 24" 1080p monitor left over from when I upgraded to my 49" ultra wide monitor. So I started looking into how I could use those pieces of hardware to set up a surveillance display. The idea being to set up something like what you might see at a service station or convenience store where it has a multi camera view, and if there's more cameras than will fit on a single screen it then cycles through those cameras. I found a couple of different open source projects that suit and I settled on one called display cameras. Now I saw some other YouTubers do videos on this and these videos are not particularly new. That said, the process still works almost exactly the same. And unfortunately it also seems that display cameras hasn't had an update to it since about 2018. All of that said though I will put a link to the GitHub repository for display cameras in the video description. I may take a look at investigating other Raspberry Pi surveillance monitor projects, one of which I saw while looking for this one was called rpy serve. I might take a look at that in the future but that also has some of the same limitations in that it needs to run on an older version of the Raspberry Pi OS. At least for now display cameras does exactly what I need and, spoiler alert, I've been running this for a couple of months now and it's been fantastic but we'll get to that a bit later on. So we're going to need a couple of things to make this work. Before we go too deep down the rabbit hole, it's important to understand that any cameras that we're wanting to show on the surveillance display need to be able to send real-time streaming protocol or RTSP video. In my particular case my Ubiquity Unified Dream Machine Pro has the ability to re-stream multiple RTSPs streams over the network from any of the cameras connected to it. I also found out that the TP-Link Tarpo C210 cameras that I've reviewed in previous videos also have RTSP streaming available. You may be able to get a bit creative with some intermediary services if you have a camera that doesn't have RTSP built in but it's going to be a lot easier if RTSP is native. All of that stuff is not the topic of today's video. We're just going to be looking at cameras that do RTSP streaming without having to add anything else into the stack. We're going to try and keep this as basic as possible just to get display cameras up and running and create our surveillance display. Before we get started we're also going to have a much better time if we take note of the RTSP stream addresses that you want to make use of. I'm not going to go through finding the RTSP addresses in this video either. Again that's not the purpose of this video. What you can do once you have an RTSP address is you can open up VLC Media Player on your computer and if you go to file and then open network or the command n on a Mac, most likely control n on a Windows device, what you can then do is grab that RTSP address which I will grab from my notes here, copy an RTSP address and then paste it into this URL. We can then click on open and if everything has worked we should get an RTSP stream there. Now in some cases you'll also get audio but not in all cases, not all cameras will have audio carrying over the RTSP stream and some might not even have a microphone. But if I unmute this in OBS, just turn that off. So provided when we do that in VLC we get the camera stream then everything is fine, that address is the correct one and we're going to use that one when we come back later and put this into our configuration for display cameras. Hardware wise we're going to need a Raspberry Pi. Now it does seem from the documentation it may need to be a Pi 3 but I'm not 100% certain of that at this point. In my case it's perfect because I do have a Pi 3 here that would otherwise be sitting there gathering dust. Display cameras also seems to have a bit of a hard requirement for a specific version of Raspbian. The Raspberry Pi operating system as well seems to have a requirement for Raspbian Buster which is a little bit older now and the GitHub repo recommends the light install of Raspbian as well so there's less stuff getting loaded during the boot to keep some system resources free. I will put a link in the video description for where you can download Raspbian Buster light from the Raspberry Pi Foundation as well so that you have a source and it's from the Raspberry Pi Foundation not from any kind of mirror sites or anything. We'll obviously need a way to power the Pi and we're going to need some kind of display and a cable to plug the Raspberry Pi into the display. The Raspberry Pi 3 has a full-size HDMI port on there so you should be good to go if your display has an HDMI input. Just any old HDMI cable will do. For the setup we're also going to benefit from having a keyboard handy so that we can type some commands into the Raspberry Pi. That said we could also enable SSH on the Pi so that we can then get a remote shell and set it up that way and obviously that's my personally preferred way to do it but for the purposes of this tutorial I'm going to use a keyboard and the display connected directly to the Pi. In my setup I've also got a 3D printed case for the Raspberry Pi that then mounts onto the VESA mount of the back of the monitor to then keep the setup relatively tidy. I may at some point look into investing in a much shorter HDMI cable to tidy the cabling up even more but at this point it's perfectly fine as is. Not too worried about it for the most part I don't really see the cabling at all. So first things first we're going to need to flash the raspbian buster light image onto a micro sd card to boot the Raspberry Pi up. I have a micro sd card and an adapter here and I'm going to plug that into my Mac here and we've got our Raspberry Pi image open already and I'm just going to choose my device here and I'm going to choose a Raspberry Pi 3 from that list. From the OS I'm going to scroll all the way down and choose use custom and in our downloads folder here I've got my 2020 02 13 raspbian buster light image there which I will open and then I just need to choose storage and I will choose my Apple SD XC reader media. I'm going to click on next here and then it's asking would you like to apply OS customization settings. Now I've previously cleared these settings so I'm going to click on edit settings and I'm going to set my host name to display cameras. For the purposes of demonstration I'm not going to change the username and password but it is probably ideal to make sure that you do change that. I'm going to configure my wireless network settings here as well. I'm going to select hive mind iot and put in the password for that and hive mind iot is my 2.4 gigahertz only Wi-Fi network. For the Raspberry Pi it shouldn't matter. I will set my locale settings to Australia, Melbourne and the keyboard layout to US. On services I'm going to enable SSH and for now I'll leave use password authentication on but it would probably be better at some point in future to use the public key authentication only and set an authorized key so that we're only using SSH keys rather than sending passwords over SSH. I'm just going to hit save on that we will apply those customizations. It's going to erase all the data on the card. I'm going to click yes and it's going to ask me for my password for the computer which I will type in here and it's writing the card. This will take a couple minutes it'll then verify the card as well and once that's done we can head over to the Raspberry Pi and boot it up. Okay and it's telling us that Raspberry Pi and Buster Light image has been written to the card and we can remove the card from the reader so I'll tap continue and then we can take the card out. So now that the SD card is flashed and verified we can go put it into our Raspberry Pi and boot it up and powering it up. And powering it up. And we should start up sequence. Okay so my Raspberry Pi started up I'm going to log in with Pi and then Raspberry which is the username and password that I set. Those are normally the default username and passwords for a Raspberry Pi. It's recommended that you change them. It says their SSH is enabled in the default password for the Pi user not being changed to security risk blah blah blah. Normally I would not use those default usernames and passwords and I would also normally enable SSH keys. So with the Pi up and running we can start getting display cameras installed. Now normally I would go through ensuring that a whole bunch of prerequisites are met but it does seem that the install script for display cameras handles most of that for me and the install script will tell me as well if there's something missing that I need to either install or configure. Before we do that though I am going to do a couple of things just to make sure that our OS is up to date because this is an older version of Raspberry Pi and Buster. I want to make sure that we don't have any old software on here. So I'm going to run sudo apt-get and then dash dash allow dash release info dash change and then update and I'm going to try that again because I mistyped it. That's better and that's just going to run an apt-get update and allow for the suite value to have changed from what it was as stable and now it's changed to old old stable and I had a couple of issues before and I've done some research and found that this is the way that we can then bypass that particular problem and it should also then allow us to just run apt-get normally now. So I can then run the sudo apt-get update and end sudo apt-get upgrade minus y and this should work just fine now because we've done that allow release info change and you can see there's quite a bit of stuff that's getting patched there including some cryptographic libraries open ssh and a couple of other things there so there would have been some vulnerabilities on this device as it was with those older versions of some of those things. That took about 30 minutes or so to install all of those updates so I'm kind of glad that I did it but also kind of annoyed at the same time. What I am going to do and purely because I saw a couple of prompts that suggested that this needed to be done is I'm going to run a sudo reboot before we kick off and then we should be able to go. Okay so now that we have rebooted I can type in pi and then raspberry and we are logged in everything should now be up to date and we should be good to go. I'm just going to see if there's anything in this folder which there isn't this is my home folder and I'm now going to run wget and then I'm going to type in the address of the tar file or the display cameras repository this way I don't need to download it using a browser and then transfer it to the raspberry pi so http s colon slash slash github on slash anonym dog display camera slash archive slash refs slash tags slash zero dot eight dot three dot three dot tar dot gz and so we should be able to run that and we got not bound so I've stuffed something up there there we go there we go third time's the charm and we downloaded 19.7k so if I just lslah that we should see now that we have zero dot eight dot three dot three tar or just ls there just to make that a bit tidier and so we've got zero eight three three tar gzip so what I need to do now is untar that which I'm going to write type in tar x z v f and zero dot eight dot three dot three tar gzip and we should then have lslah and we should now have display cameras zero eight three three as a folder there and I'm going to cd into display camera zero eight three three there and see what's in here so we can see the install dot sh file in there I'm going to need to run chmod plus x install dot sh and then what we should have is it is now executable now we should be able to run this install script with root privileges which is required I'm going to run sudo dot slash install dot sh and it's going to try to install anything that it needs and hopefully it'll also warn me if there's a problem for being prompted enter a custom GPU split if required GPU memory in megabytes or hit enter to use a recommended split I'm going to just hit enter and let that do its thing it's chosen 192 megabytes of GPU memory allocation there we can then also view the readme and this is the same as what we would have seen on the github site I can type yes there and it says use the space bar or page down to page down page up to page up and queue to quit so we'll enter and we can just kind of scroll through there I'm going to hit queue just to quit out of that so now that means that display cameras is actually installed and now we need to go about setting it up and configuring it with both some camera feeds and a layout so we're going to need to cd to slash etc slash display cameras and what that should do if I ls lah in here we've got our display cameras dot conf and our layout dot conf dot default both these files define the behavior of display cameras and then our layout dot conf default is obviously the default layout that's going to load but you can have additional layout files for different screen resolutions what I'm going to do I'm going to run sudo nano display cameras dot conf and we need the sudo there because of the ownership of the file won't allow us to write to it if we don't put sudo there so I'm going to open that up and we're just going to scroll through here and I'm going to take a look at some of the settings so our global options do we need screen blanking before displaying the cameras the default is false I'm going to remove the comment at the start of that line and change it to true and the reason I want that is so that it blacks out the screen before it starts to load the camera streams otherwise when we start the Raspberry Pi up after boot we've got all of the Raspberry Pi boot sequence stuff happening you end up seeing the Raspberry Pi boot sequence stuff before those cameras load up I just like to have it blank the full screen first it's not super important but it is something that can make it a little bit nicer now we've got the amount of sleep time that we allow per camera when starting restarting or repairing and it suggests recommending no less than three seconds of start sleep and no less than one second of feed sleep and you can increase this if you're running higher resolution feeds a large number of cameras or you're running over a slow network link I like to bump this up to about 10 seconds and that's just so that because we're on wi-fi it allows us a little bit more time then we've got retry as how many seconds of sleep that the script waits after the start or feed sleep for the player to first then report playback so we'll leave that at five seconds we can come back and change this later if we need to we've got enable display detection which is disabled by default what this allows us to do is if we're setting up multiple layout configuration files so like I mentioned if we had layout.com 1280 by 1024 it would then detect the display size and then go and load that particular layout we've got when rotating camera feeds across the display how many seconds does each rotation last the default is five and you can change that so you can change that say for example they have a rotate delay of eight in there I'm going to leave that at five is the default again if we wanted to we can come and change that later because we've changed something in this file I'm going to hit ctrl o to write the file out and then I'll hit return and then I'll hit ctrl x to exit out and I'm just going to clear the screen and then LSLAH again and now we want to sudo nano our layout.conf.default and this is where some of the magic kind of happens this is where we define window names window positions our camera names our camera feeds and lastly whether or not we're going to rotate cameras through the window matrix first things first I'm going to uncomment the rotate true there because I do want to rotate our cameras through the window matrix we have our windows so we've got upper left upper right lower left lower right off screen off screen two and off screen three so we can define with this default setup up to seven camera feeds if you wanted to define more you are going to need to then add in another camera feed so for example we could put in off underscore screen four and then we would also need to define a window position for that now as you'll see in the comments at the top this example defines seven half HD windows three of which are off screen to the right through which the service rotates six camera feeds it actually only uses six windows on a full HD monitor if that suits your needs we can modify only the camera names to taste and the feed URLs to what our cameras or NVR is providing now this should for the most part be perfectly fine but I've added the off screen four in here and we would actually then also need to define that window position for off screen so we've got off screen one off screen two and off screen three there so I'll go here and I'll go nine so I'll go 960 five five forty window we've had 19 20 and then 28 80 so I'm going to go 28 80 and then 540 we're going from 28 80 to 3 8 3 9 and 540 and we're going to go to 10 79 what you might note here is that 0 to 9 5 9 and 0 to 5 3 9 960 by 540 which conveniently is exactly half of 19 20 by 10 80 so this row here that starts at 0 0 that starts at the first pixel in the very top left hand corner of the screen to the 960th pixel down and the 540th pixel across basically meaning that it's going to take up the top left hand quarter and this one is then going to be the top right hand quarter bottom left hand quarter bottom right hand quarter and then these four here including the one that I've just defined are now off screen down here we can now define our camera names and we just add these as an array of string camera names can't have a space in them they can only have underscores I'm going to start with topo cam underscore one a po underscore cam underscore two we could keep going but we would probably need to define those windows just up here so with those eight names defined here we now in our camera feed section need to enter our camera stream URLs so we're going to be putting our rtsp addresses in here and it is worth noting that there's little to no point in sending full quality streams to display cameras because it's not going to be doing any recording and sending full quality streams is going to introduce some latency into the stream so you're going to be better off making use of the lowest quality streams that you can bear and that's going to reduce the load on your raspberry pi especially if you're connecting the raspberry pi to the network wirelessly something else to mention here is that streams from topo cameras are authenticated so unfortunately we're also going to need to enter the username and password details in clear text into the url for these streams so I will fill out the details of one of these streams and then I might kind of speed through the rest there so and then we'll get the service started up and fingers crossed everything's going to work so I'll start off with our first camera here and I'm going to start with rtsp colon slash slash now this first one which was topo cam one is going to be so I'll just put topo cam one here this first one in here uh topo cam one is going to be a topo cam as the name suggests so it needs the authentication details so I set up a local account on this camera called home assistant and I just set the password for the purposes of demonstration password and we're going to then put an at so we've got home assistant and then a full colon and then at and then we can put in the ip address which is in this case 192.168.1.51 and then slash stream two stream two there is simply about making sure that we're using the lower quality stream from the topo camera because we don't want to overload with the higher quality stream I'm going to put topo cam two in there and we're going again rtsp colon slash slash home assistant colon password and then at 192.168.1.122 slash stream two for this one and this one's coming from my ubiquity dream machine pro which introduces a bit of an interesting challenge so we have rtsp colon slash slash 192.168.1.1 which is the ip address of my udm pro and then we're going to go colon 7447 for the port and this is because we're going over rtsps um which is a an ssl encrypted channel there so then for the camera address I need to grab a encrypted string here which is a little bit challenging to copy over without using copy paste so I'll just type this in so that base 64 string and then we've got a question mark and I've got enable srtp in that string there now what I'm going to do here is ctrl o and then return to write that file out and what I'll do is ssh in so that I can copy and paste the rest of the camera dreams here I will do that very quickly and I'll reopen the file to show you when I'm done okay so I've edited the file I'm just going to sudo nano layout dot com default again and we'll scroll down I've added a couple of extra cameras in as well I added my office camera and my lounge camera in as well so what I'm going to do is I'm just going to add those in here so I've got so now we've got hand cameras so I think I actually am going to need to define at least two more windows I'm going to try without doing that though so now that I've added the names correctly I'm just going to exit out and I'm going to clear the screen so now that I've set up everything I mean theoretically we should be good to go I just don't know whether or not we're going to break something because I haven't defined the screens for those additional cameras I'm going to try and start up display cameras now and there's a couple of different ways that we can do this we could just reboot the Raspberry Pi and because it was installed as a system d service it should start up as soon as it finds that it's got an IP address etc and start displaying the camera feed we can also run a sudo systemctl start display cameras and that should also start up the service as well what I want to do and just because we're going to do some troubleshooting here is I'm going to type in slash usr slash bin slash display cameras and I'll run that and it says it must be run as root so I'll type in sudo bang bang and it's going to tell me that I've got the usage wrong so I need to run it at start stop restart repair status positions rotate or rotate reverse so sudo user bin display cameras and I'll type in start here as well and it's blanked out the screen which is a good start and we have a camera loaded that camera is the tarpo cam one that's pointed at the back of the screen and you can see the 3d printed enclosure with the raspberry pi there we've now got the second camera there which is the tarpo 2 camera which is pointed directly at me and we've got the front window camera which is another tarpo c210 camera that I have around that is pointing out my front window we've got our front door camera that's one of the ubiquity unify cameras and it's loading cameras now off screen so what we should start to see is it should start to rotate through these cameras but you should also notice that the timestamp in the top left hand corner of each of those cameras is in sync I'm noticing that the stream's roughly a second behind maybe half a second to a second so as I'm talking my lips are out of sync with what I'm saying so that's something to bear in mind that there is a little bit of a delay there but it's not too bad and especially considering we're on wi-fi and that's actually pretty reasonable now something I'm not seeing here is it then cycling through some additional cameras so I am wondering a little bit if maybe if we haven't defined those additional displays that yeah this is causing the problem here let me just check okay so I've just run a status call on the service and it's telling me that the other cameras are not playing I'm gonna take a guess that that's because I've broken something there so I'm gonna hit uh control c a couple of times here so yeah we've got waiting for alfresco cam breezewa can failed playback so hard to say what's going on there so I'm ssh into my display cameras raspberry pi here I'm going to install vim so I'm going to run a pseudo vim dot slash layout and I'm just using vim purely because I'm personally a little bit more comfortable with it than nano but you can probably just use nano if you like so I'm going to again go in here and so we're also going to need our list of windows here screen five and off screen six okay so we've got those I can write that out what I'm also going to do is the same so pseudo vim display cameras dot conf and I'm going to update some of the feeds here I'm going to set my retry here to I'm going to set that to 10 seconds I'm going to set start sleep I'm going to set that to about 15 seconds so I'm going to write that out and then we should be good to go what I'm going to do is I'll run the pseudo user bin display cameras and start and I'll run that from here but I'll swap over to other screen capture so that we've got that there and hopefully when I press return on my ssh terminal we should get that kick off which it has started and I'm also able to see my output my console output on my laptop screen here so you can see we've got our console output I'll pop back over to the actual output from the erasbryk pie there though and it's starting up tarpo cam 2 now starting up the front window camera now should be the front door camera now there we go that's trying to start the driveway camera now and hopefully it will then rotate through on the display here as well to show us that the driveway camera started starting up the breezeway camera now okay so had some trouble with the breezeway camera is starting up the alfresco camera now it's having some trouble with that as well trying to start up the garage camera and I'd be willing to bet that it's probably going to have trouble here as well and it is trying the office camera trouble with that lounge room camera and it's having trouble with that one as well so something kind of funky going on with my configuration here I might need to take a closer look so it says it's running a repair on the failed feeds so it's trying to start the breezeway camera now we head back over to the capture there you'll note that it's not cycling through the feeds even the ones that it started I'm not sure why it wouldn't do that I'm actually going to cancel this so the capture is now blanked out what I'm going to do is I'm going to pseudo reboot from my ssh session going to restart the rajbukh here and we'll see if it comes up when it reboots and it's uh automatically started up which is a good thing okay so um this time it's having trouble loading the second tarpo cam so I'm not sure what that's about so because this is now running as a service after rebooting I'll head back over here I'm going to sudo systemctl stop display cam mirrors and I'll head back over to the capture and if I run that command now it's going to stop the service and you'll see that we're sitting at the login window now so um we didn't even need to log in for display cameras to start up so what I've done is I've modified our layout configuration back to the default so it's just got the seven tiles but it's still got the 10 cameras defined so I'm going to see if that helped me out at all so as you so as before user bin display cameras stopped and we'll run that and it's going to try and kick off okay so we've got our main four and drive phase loading now and this is where we started to have trouble with that it's trying to load the breezeway cam and it started this time starting with the garage cam it could also be that I just had to restart the system now it's had a okay so it's glitching out a bit out of the lounge cam okay so it's kicking off the camera rotation so the lounge room camera okay so it's actually having trouble because I don't have all of the tiles to find yeah I'm going to need to have another look at that layout so this is going to put us at 3840 0 and we're going from 3840 0 to uh we're going to go 4800 3840 plus 160 yeah 4800 and then 540 and what I'm going to do now I've updated that I'm going to go sudo reboot and we'll go over to my capture card I'll sudo reboot that and let's see how that looks now so the pie's rebutted and everything's starting up now so we've got our first camera feed up our second camera feed third camera feeds up fourth camera feeds up and now we kind of don't actually know what's happening until it starts cycling everything so fingers crossed everything works this time and it just starts cycling through okay so apparently all of the cameras are playing so any second now it should start cycling through there we go so it is cycling through those cameras and it should be doing that about every five seconds it's going to cycle to the next set of tiles and we've got our 10 tiles defined and it's cycling through and everything's looking nice and clean we're not getting any kind of glitching this time around the office camera's currently got a bunch of stuff piled up near it so it's not very clear but that's perfectly fine as you can see though everything is working now so it took us a little bit of time to get there but you can see now that everything's running because display cameras is set up to be a system demon it starts up as soon as the raspberry pie has finished booting and it finds the network etc so it's actually really clever about waiting for the network before it starts so that's been setting up a raspberry pie surveillance display it took us a while but we got there in the end now i've been running a setup very similar to this life for a few months now and it's been pretty awesome i have it set up in my office up in my peripheral vision so that i can see when delivery is arriving when i'm working from home see when guests are arriving if we're expecting company and i even get a reasonable idea of things like weather conditions and i can keep an eye on any kind of issues that might be going on outside the best part is that i don't end up needing to keep a browser window open on my laptop or an app open on my phone to see what's going on and it's also all in one place instead of having to have the protect app for my unify cameras or the tapo app for the tapo cameras or so on and so forth because having to open the app for example by the time the post is rung the doorbell it's already too late for me to open the app by the time it loads they'll have left the sorry we missed you card and driven away so if you're looking for a way to display your surveillance camera rtsp streams using a raspberry pi 3 this is a pretty great way to do it and it's not just for home use you could reasonably set up something like this in a business context as well i will be taking a look at a bunch more video surveillance related projects over the next little while including using some machine learning to identify objects that are appearing on our cameras and then pass that information on to home assist as always let me know what you thought of this video in the comments section below if you like this kind of DIY problem solving content please let me know of other problems that you're looking to solve and it might end up becoming a video that's all we have for this video and i do hope that it's helped you in your home automation and home surveillance journey be sure to drop a comment below with home automation ideas that you'd like to see me cover in a future video and don't forget to follow hive mind automation on instagram and facebook if you like this video hit that thumbs up button down below to give it a like and if you're not already subscribed now's a great time to change that if you hit the subscribe button followed by the bell you'll get a notification when i release new videos which is normally each week lastly if you like what i do here and you want to help to support the channel there's a buy me a coffee link in the video description any contribution you make through buy me a coffee does get put towards making more and hopefully better content for you to enjoy don't forget to check out my website hive mind automation.com.au thanks so much for watching i'm Stu from hive mind automation and i'm looking forward to seeing you next time bye for now
Info
Channel: Hive Mind Automation
Views: 1,878
Rating: undefined out of 5
Keywords: home automation, raspberry pi, home assistant, smart home, smart home ideas, home automation ideas, cctv, video surveillance, surveillance monitor, raspberry pi projects, raspberry pi 4, raspberry pi surveillance, surveillance, raspberry pi surveillance system, raspberry pi surveillance camera, raspberry pi camera, raspberry pi surveillance monitor, raspberry pi 3, raspberry pi surveillance camera tutorial, raspberry pi zero, surveillance camera, raspberry pi security system
Id: DUt82YP1p0U
Channel Id: undefined
Length: 45min 7sec (2707 seconds)
Published: Sun Apr 07 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.