Here is a walkthrough to get you started. I have written these steps while confirming they work on my machine. Lots of text here, but only because I'm thorough
With your specific requirement in mind, as opposed to taking the FTP file that is being deposited and renaming it, another possible approach is this one. Confirmed as working on 5.2.0 firmware, and should work on some earlier ones as well. This is an authenticated approach, which is necessary to grab images on 5.2.0 (earlier it wasn't necessary to authenticate to pull the jpg).
1) Go to this address:
http://admin:12345@192.168.1.150:80/Streaming/channels/1/picture
- for this example I'm using the default admin and 12345 password, but you can make another account on the camera with less permissions that can do this
- change 192.168.1.150 to whatever your camera's IP address is
- note the specification of port 80. You can leave that out, as port 80 is default, but if you change the TCP port you can put a different one in
- When you visit that URL you should see a JPG pulled. Unlike the FTP setup you can't specify its image quality (there may be a way with variations on the URL but in very brief fiddling I didn't find one that worked well)
Assuming step 1 worked, go to step 2:
2) Install Power Shell in your system if it's not already there. It is installed by default in modern versions of windows. If you don't have it on XP you can google how to install. It's a free microsoft product
3) Create a folder called c:\powerimages (or whatever, it doesn't matter what!). Within that folder create a new text file, give it an extension of .ps1. Call the file something like imagepull.ps1
4) Put exactly this into imagepull.ps1, changing only where you see a word encapsulated with < >. Then save.
$url = "http://<ip address>:<TCP port>/Streaming/channels/1/picture"
$wc = New-Object System.Net.WebClient
$wc.Credentials = New-Object System.Net.NetworkCredential("<username>", "<password>");
$wc.DownloadFile($url, "C:\powerimages\snapshot.jpg")
5) You now have a powershell script that when executed pulls an image from the camera and names it snapshot.jpg. It will overwrite previous snapshot.jpg if there is one.
6) With your powershell window open go:
c: <enter>
cd powerimages <enter>
.\imagepull.ps1 <enter>
Notice how you probably received an error message about permissions? That's because powershell isn't setup to allow even locally created scripts to run. Fix that by typing:
Set-ExecutionPolicy RemoteSigned <enter>
Now try again. Is the script working properly?
Just had another idea. If it's STILL not working properly, google "download .net", to make sure you have a recent version of .net running, since this script leverages that. Assuming your XP machine is being used for anything though chances are it's already got a version on there that will work here.
7) if it is, now you can right-click the imagepull.ps1 within your windows explorer and say "run with powershell"
Assuming all the above is working for you, let me know and then the final step will be to get your machine to automatically run this script on the interval you specify, which you'll do with windows scheduled tasks, as they can be set to run 24/7 on whichever interval you like, specifically with this syntax:
powershell -file c:\powerimages\imagepull.ps1 -WindowStyle Hidden
One caveat there is that even with windowstyle hidden your system may still have a brief pop up every time it runs. If so, and that is unacceptable, you'll need to create a second user account on your system and specify that account for the windows scheduler to run under. That way, since you're logged in as John Doe, and the other user account that the windows scheduled tasks is running is Jane Doe, you never see what she's doing, thus the powershell runs without you seeing a pop up.