There are many tools you could use. I am not aware that such a service does exsist, but it might, as this is extremely simple to do. You dont even need to know much anything as you can find these ready made for several software and even in photoshop its no more work than drag and drop when you have that template loaded.
Software (Other than photoshop) that can do this include:
- Your browser
If i was paid to do such a service I would turn to imagemagik. And have a passable service up and running within a hour.
New information in comments
There is no reason why you can not automate Photoshop. All you need is to know where the corners of your screen are. Whether or not this will work for you is another thing. All you need to do is bring in a suitably sized smart object. then
- Hit Ctrl+t with the smart object selected
- Hold control down and drag each corner to position.
Now all you need to do is replace the image in the smart object for all images you want to display on the image. This is easy to do. Wether or not you do thsi in Photoshop is up to you you could equally easily do it in imagemagick the complexity per image is the same. After the template is done its no more work in either software. 10 or 10000 images not much more work.
The biggest issue is that if you have one screenshot but 10000 template images to process. Then no method really helps. Manually doing the corner pin takes about 1 minute per picture. So 100 images would take a few hours max.
Automagically detect corners
It is possible to automagically (pun intended) detect corners? Yes it is, but only if you planned the shots very carefully. You could put a cyan/magenta/clearly visible different chekerboard on the screen before shooting. This would let you search for the selected area for corners and you could detect this.
Second if its always the same phone you could detect the phones features and compare it with something like FLANN to detect the position. But given the phones, and their lack of features, we have its better if you have a fixed image in the screen to detect.
Look into using open CV
If you have a video
If you have a video then you should use corner pin with corner tracking. This is not very hard to set up in say after effects, or say syntheyes. But important here is that the object corners should be easily detectable and more trackable. Again plan before you shoot shoving static image makes it MUCH easier,