We use an IP camera as a video monitor for Benjamin, and our old D-Link one is starting to show signs of becoming unreliable so I am thinking of a replacement.
The issue is that since I got our latest camera, the cheap, readily available IP cameras have become 'smart' and talk to remote servers so you can view your video stream from outside of the house etc.
This is way more than I want - I'd rather not connect it to the internet and just manually configure an IP address and username/password for an RTSP stream - then it is done, I don't need any more.
It looked like the 'consumer' level D-Link cameras no longer support RTSP (or you have to be very careful which one you get to make sure it has it), but I found that TP-Link do say on their web site that you can enable RTSP to use the camera with third party devices - so I decided to try a TP-Link One - I got their base model (C100), which is wifi-only device for less than £20 from amazon.
The official instructions say you have to install a Tapo app on your phone to configure it, but I thought I'd try and do it manually by dong the following.
Attempt at Manual Configuration
- Switch On Camera
- It appeared as wifi SSID Tapo_Cam_11CB - connect (no password required)
- The camera provied my laptop with an ip address 192.168.191.100
- Ran nmap -sP 192.168.191.10/24, which found a host at 192.168.191.1 (in addition to my laptop)
- nmap 192.168.191.1 showed that ports 443 (https), 554 (rtsp), 2020 and 8800 were open.
- Pointing browser at https://192.168.191.1 gave a 'No such file or directory' response
- Pointing mplayer at rtsp://192.168.191.1/stream1 gave an unauthorised error (probably because we have not enabled RTSP yet).
- Pointing browser at https://192.168.191.1/index.html returned a json string which included a key - is this some sort of oauth response?
At this point I gave up for now and decided to see what the Tapo app does. I think it should be possible to reverse engineer the configuration and authentication if I am feeling very keen, but there might be some pre-shared key involved which could mean it is not possible.
Configuration using Tapo App
- Used Tapo app to configure camera to connect to my router. It did not work at first for some reason - it said it did not receive an IP address -
- This may be because it connected to a new access point that I installed a few days ago and haven't tested thoroughly, so I moved the camera and switched off the access point and it worked.
- Used Tapo app to enable RTSP stream with username and password - we can now use mplayer to connect to the stream using mplayer rtsp://<uname>:<passwd>@192.168.191.1/stream1
- I can also use the Tapo app to view the stream from outside of the house, which is not something I want to be able to do.
- Deleted my Tapo account and have confirmed that the camera still works with RTSP.
- I do not know whether it is still connecting to the TP-Link servers, even though I deleted my account though.
- The only way I have thought of doing it is to run my own DHCP server and a simple router app on a Raspberry Pi which will block internet access for the camera - Maybe there is a better way.
Or am I just being too paranoid about trusting remote servers with my live video stream? I guess the vast majority of customers will just follow the TP-Link instructions without worrying about it.......