I have been trying for two weeks to solve this problem and now I am quite desperate.
I want to set up a small home surveillance system that records video to a hard drive if it detects motion. So I bought a Reolink RLC-420 IP-camera.
Some facts regarding the camera:
It supports HTTPS, SSL, TCP/IP, RTSP (Real Time Streaming Protocol) DHCP, FTP, ONVIF and some more
I gave it a static IP in the same subnet as my router
I set my router as default gateway
After I connected the camera to my router I was able to access it via its webinterface and via the "Reolink Client" on my Windows Laptop that is connected to the same network. Using the "Reolink Client" I was able to set up motion-detection and stream+record video onto my laptop.
Since I don't want my laptop running 24/7 I had the idea to use a Raspberry Pi instead. I never worked with a Raspberry before but eventually I installed Raspian on it (Pi 3B+) and connected it to my network. I gave the Raspberry a static IP too.
Solution Trial 1 (ONVIF Software on Raspberry)
However I realized that the Reolink Client is not available for Raspbian/Linux. Neither is there 3d-party software that works (or at least I didn't get it to work).
Solution Trial 2 (MotionEye OS)
Next try was to install the motioneye-OS on my Raspberry which is a special OS build for camera surveillance. I followed a tutorial but got stuck where I had to add my IP camera to the motioneye software. The guy in the tutorial uses a USB webcam but I didn't find any tutorials with IP cameras.
Solution Trial 3 (Utilize RSTP stream from camera)
As the camera supports RSTP I asked the support for the RSTP-URL. When I tried to stream the video using VLC-Player I only received audio from the camera, the screen was black. Here is the RSTP-URL: rtsp://(user name):(password)@(ip address):554//h264Preview_01_main. See the mail from the Reolink support here
Solution Trial 4 (Use Raspberry as FTP server)
Since this didn't work neither I installed Raspbian again and tried a different approach. I followed this tutotial on how to set up an FTP server using the raspberry (I am sorry it is written in german). I installed ProFTPD as described but left out the last step which was to make it accessible over the internet. I only want to connect to it in my local network so that should be fine.
Using FileZilla I connected to the FTP server and moved some files back and forth to test it. Other than getting disconnected when not doing anything for a while it worked fine. See screenshot of testing here.
However when I typed in the same settings into the Reolink Client I got an error message when pressing "FTP-Test". See screenshot here.
In order to eliminate the possibility that my Raspberry FTP server is the problem I created an account on cameraftp.com which is an online ftp service specially for camera ftp-uploads. After creating the account there and typing in the new settings like ftp server address, username, password and so on I got the message "Login sucessful". But when I connected to it with FileZilla I saw that there are only text files instead of the camera videos. I suppose this is because I only used the test-trial of the website and didn't pay anything yet. However everytime the camera was supposed to upload a video a text file was created so the connection works.
Now finally to the actual questions:
Is there a possibility that something is wrong with my Raspberry Pi ProFTPD server? As I wrote it works fine using FileZilla. Is there something special to do if I use the FTP server in a local network?
Is there a NVR (Network Video Recorder) under 100$ that is capable to save the cameras 2560x1440p video when motion is detected? I couldn't finde one but if somebody happens to know one please tell me.
Any other ideas on how I can record the video from the camera when motion is detected? I don't want to spend more than 100$ but I already have a hard drive, router, ethernet cables and so on.
It would be cool if I could plug the IP camera directly into the ethernet port of the raspberry. This way I won't stress my home network.
If you can point out where the problem is in one of my solution trials I would be really happy. Other solutions are welcome, too.
I am sorry for any spelling/grammar mistakes but I am not a native english speaker. :)