So I have talked a lot recently about RTSP in some of my posts and I am not sure how many people are familiar with the software needed. There are several different ways to get RTSP streaming setup in your home. The main one I have seen brought up here is a software called Surveillance Station that kind of comes as part of a Synology NAS. But there are free options out there and that take almost no investment to get started with. I have dabbled in it for some of my other uses and right now the primary one I have been working with is Motion with MotionEye as a front end. It is dirt cheap to get started with and so far works really well.
Motion is a free open source NVR surveillance software that you can run on a ton of different stuff. Motion is just the core of the software though as there is also a wonderful UI that was created called MotionEye. So I am going to cover what is needed to get this all going for anyone. And some of the options you may try to enhance your use case or make it simpler.
There are several different ways you can get motion eye running for you, so I am going to cover the most basic to start with. Which is simply running a prebuilt MotionEyeOS on a Raspberry Pi.
MotionEyeOS is a prebuilt image of the application Motion, and Motioneye that has been minimalized to function as an appliance. I have tested this out with my Raspberry pi4 and 2 2k indoor cameras and it has been streaming fine for some time.
Getting it loaded is pretty simple. The first thing to accomplish though is to get a Raspberry Pi and a storage device to use with the PI to have the OS and store your footage. The Pi’s range from $35 to 85$ for the new 8GB pi 4. If you don’t have a MicroSD card to do the initial OS load make sure you have one with atleast 8GB of capacity, but the larger the better. If you choose to store recordings on the card this will impact your ability to store it locally. Once you have the Raspberry pi you need to download the image for MotionEyeOS from the below link.
Use your Decompression tool of choice to uncompress the downloaded image file and then use the appropriate image program to load the image to the microSD CARD. The method to load a Image on the card can be found on the Raspberry Pi’s website here. Once the image is on the MicroSD card simply insert it into the Raspberry Pi, connect a network cable(needed for initial setup) and attach power and let the pi boot up. It make take a few mins to fully start but that is all is needed to get MotionEyeOS installed.
Once everything is started use your computer to browse your local network and find the new Raspberry pi/MotoinEyeOS device on your network. You should be able to just type the IP of the device in any webrowser and get a log in screen to MotionEyeOS. The default log in is admin and no password is set. Simply type in admin for the user and click on the login. At this point you should have a working instance of MotionEyeOS with no cameras connected. So now it is time to setup a camera
Setup a camera:
Motioneye will either already expand it’s admin menu, or you can expand it by selecting the 3 sandwich line icon in the upper left corner of the webpage window. Click in the drop down menu just to the right of that icon and you should see an option to “Add camera”. When you click on Add Camera a new box will appear with a few fields to select from. Update the first field to Network Camera. This will change the rest of the fields for that type. Now you need to enter the RTSP url for your camera in the URL field. If you haven’t setup your camera for RTSP this would be a decent time to do so. You can always get that URL from your camera if you need to. It will generally be something like rtsp://xxx.xxx.xxx.xxx/live0. Once you populate the URL field press the TAB button to leave that field. Motion will review the parameters and now say in the last field it is a RTSP camera. Click on ok and your camera has been added. Now repeat this for any camera you want to use.
Now you should have your cameras listed in the configuration but you will probably notice that the image doesn’t look quite right. We will need to tweak a few things now to ensure that Motion/MotionEye are set to match what your camera is doing. Click on the hamburger icon in the upper left again so you can see the settings of the configuration. Select your first camera and now lets make sure it is configured with matching settings to your camera. Expand the section for Video Device and change Video Resolution to 1920x1080 and the Frame Rate to 15. Expand the Video Streaming section and update the frame rate to 15 and Streaming Quality to 100%. After the last field is updated press the tab button. Now click on the apply button in the top of the configuration menu. Repeat these steps for each camera.
At this point you should have a default setup that will allow you to view your cameras from MotionEye’s interface. Now comes the time where you can customize the appliance to your liking.
At this point you can configure motion eye to record continuously, or by motion detection. You can tell it where to store your content. Potentially how you want the content stored and in what format on the device, when it will record by schedule, and a good amount more.
This option with MotioneyeOS is probably the simplest option to get started, but much more powerful options can be accomplished by using the regular MotinoEye loaded on Raspberry pi os, or even a larger computer with linux. There are also MotionEye Dockers built to use for larger NAS appliances.
I have tested this software out on multiple machines in different configurations. I started with MotionEye running over top of Raspberry pi os. That evolved into using it over a Docker on Unraid. I then ended up using VM on UNRAID with Ubuntu and MotionEye, and lastly i have been experimenting with MotionEyeOS on the original Raspberry Pi. In my case each configuration had it’s unique options. And in some cases my desire to try an option was simply to learn what the differences were.
With all of that said, I would point out this is a great option for those of us that don’t have infrastructure already at home that can support this function affordably and in a reasonable manor, If you have a bunch of cameras, or a home server or NVR software freely available this is probably not the best option, but if you want something at home and don’t mind picking up a Raspberry pi 4 and a Large SD Card or external usb drive this can be a very affordable way to get a NVR at home with a good set of features. If you have your own infrastructure and don’t have software like Blue Iris, then you can always load MotionEye on your own equipment like i did with a VM or Docker.
One last note, before you do anything real serious with MotionEye on any install, please change the admin password to something other than blank.