This really is not a coding question per se; as you don't even know what language to use much less have any code which would have a problem.
That said; let's go over the various questions you have.
which programming language is the best for this aim
The best language to use is the one you are most comfortable with that can do the job you want. I personally am a C# developer and there are packages and SDKs that I can use to accomplish this task.
which Software ... is the best for this aim
The best software is most likely going to have to be custom written for what you want. Now there are going to be various pieces of software that you would be able to integrate into your application. The way to determine which is best for you is going to be based on cost, licensing, and how much support you are going to get in your integration.