Today has been a learning day (I think), and I'm looking for some verification as to what I think is going on, and possibly some hints/tips for doing things a better way...
Just bought a trio of Pro HD cams to monitor the household (i.e. Did I forget to put the garage door down *again*? Are the cats torturing the Roomba? Which one of my buddies is stealing my beer?), and have spent a couple of days trying to figure out the best option for connecting to them with my various devices (phone, computer, and tablet).
Most of the Amcrest guides point you to using the phone app for connecting the first time, and that was fairly painless. The connection is made via P2P, which unfortunately for me, is the connection method that I least understand. Also, the app doesn't have the most intuitive interface, and you can't get to all of the camera's gory options from there, either.
Enter Amcrest Web View (Chrome app). After using Amcrest IP Config to figure out my camera's IP (could have done it through the router client table, as well), I could hook up using Web View, which does seem to give me the full suite of my camera's configuration capabilities. I ultimately wanted to be able to access the cameras remotely, so I enabled DDNS (using No-IP, already have an account set up there for a game server I host) and successfully got that working through Web View as well without too much trouble.
I then went to set things up using Amcrest Surveillance Pro, and this is where my problems began. Initially, I created a connection to my camera using my DDNS domain. The connection was made, but I was surprised when I was met with an atrocious amount of latency. When initially connecting, the video stream would play for a few seconds, then freeze, and would occasionally update with a few frames every 20 seconds or so after that. Accessing the camera's settings was also sluggish, and at times completely unresponsive. Curiously, Web View had neither of these issues when connecting via DDNS. Establishing a direct IP connection (via the LAN internal IP) worked just fine, as did a P2P connection, but again, I don't quite understand P2P connections, so I was wary of connecting that way.
I then downloaded Amcrest View Pad Pro to my tablet, and attempted to set up a DDNS connection there. Same story - lots of lag in the stream, and unresponsiveness when navigating the camera's settings. Again, though, both a direct IP and P2P connection worked just fine.
So I proceeded to do some reading on P2P connections, since that appears to be the method I'm going to have to live with, and I think I now understand the basics of their operation... I think... But I still have some questions.
But first, let's start with a synopsis of DDNS in order to compare the two (for "fun")... With DDNS, a remote (DNS) server maintains a record of your router's/modem's external IP address (as it's common for ISPs to rotate them). Something on your local network has to tell the DNS server what your IP address is so that, when it changes, the record on the server can be updated. When an external connection is desired to your local network, the address (domain) of the DNS server is provided, and the DNS server proceeds to route traffic to your local network. All traffic continually bounces through the DNS server.
With P2P (again, I think), a remote server is pinged only when the initial connection request is made. The server responds to both end points giving them the details of how to establish a connection to one another, which the devices then proceed to do. After that, traffic is routed between those devices in the most direct (?) manner possible, and the external server is no longer involved.
My main question is... When establishing a P2P connection, can the internet gremlins determine when both devices are on the same local network, and direct them to connect without bouncing through any external network points?
Also, because I'm me, I wanted to set up all of my devices to be able to connect to my cams both remotely (when I'm not at home), and locally using internal IPs. As stated above, I haven't had any trouble creating the P2P connections. However, when I tried to create a direct IP connection on my phone (using the Amcrest View Pro app), it gives a "login timeout" error. No problems doing the same thing on the computer (via either Web View or Surveillance Pro) or on the tablet (via the Amcrest View Pad Pro app). Has anybody else had trouble establishing a direct IP connection using the Amcrest View Pro app?
For those that made it to the end, thanks for reading, and if you throw some advice back at me, thanks for that too!
P2P vs. Local IP vs. DDNS
Re: P2P vs. Local IP vs. DDNS
I use tinycam with static IPs and port forwarding.
Re: P2P vs. Local IP vs. DDNS
If I understand your question I think my setup is doing what you want to do. I am using dyndns as my ddns service and have my router keep the wan address up to date. When viewing cameras using the iPhone app I simply have my nvr setup twice, remote uses the xxxx.dyndns.org IP address and the local uses the nvr local IP address. When on my home WiFi I simply use the local nvr setup which stays on my local network. Hope this helps.