You need to set up port forwarding on your router so that it forwards an incoming request from the outside world to your internet IP and a port number to the DVR.
In order to get it to work reliably you either need to have a static IP address with your service provider (so if your router reboots due to a power cut or the like it gets the same IP on reconnection) or use a service like dyndns which allows your to dynamically tie your IP address to a name you can enter into a browser.
Also your DVR needs to have a static IP on your home network rather than allocated by DHCP because to forward ports to it, the DVR always needs the same local IP
Lets say your DVR is, and always is due to static IP allocation on your router, 192.168.1.70
You then pick a port to forward, lets say 1234
You set up a port forwarding rule in the router to forward any incoming traffic on port 1234 to local IP 192.168.1.70
Then you need to know your internet IP address (ie your presence on the web)
Lets say it is 87.114.222.70 (that is a plusnet IP and not mine before anyone asks). You can get it easily if you just go to google and put "whats my iP" in the search box
Then, from anywhere else on the internet, entering 87.114.222.70:8080 in the address bar should hit your DVR just like you were accessing it locally.
If your phone is on the internet then that will work, as would an Internet Cafe, mates computer etc
If you dont have a static IP then, if your IP changes when you are away from home, suddenly you wont be able to connect
To get around that, get a static IP from your provider or register it with a dynamic dns client. That gives you a name (lets say kendodd.dyndns.com)
In some routers you can just enter the dynamic dns name. If not then you can run a small client program on a pc at home which updates the dns name with your IP. Built into the router is much better
Then, no matter what your IP, just enter kendodd.dyndns.com:8080 into any internet address bar and you should be able to connect
Clear as mud eh?