Is there a Blender Virtual Camera? Or How to create a Virtual Camera?
I don't think it is a good idea to use a phone for running Blender. You will probably need to come up with some other hardware solutions to display the scene that would be portable as in the example video. 

If you know how to get movement and orientation data from some device, moving camera in Blender via Python is not a big deal at all. You could use an accelerometer and gyroscope sensor connected to some microcontroller board - probably would be easiest to use an Arduino, maybe have a look at this one that comes with Bluetooth Maybe then receive data with pySerial...

Once in Blender, you can take any camera and move it with scene update Application Handler continuously. It's as easy as bpy.data.objects['Camera.001'].location = ... and bpy.data.objects['Camera.001'].rotation_quaternion = ... You might want to add functionality, like for example recording the movement to keyframes and so on. That is obviously also achievable with Blender's Python API.

I suspect that you might want to add quite a lot of additiona features like that and probably some sort of an interface so at the end of the day, this might not be the most suitable/enjoyable first project to try for someone without any knowledge of Blender's Python API. You might want to dedicate some time to learning to use it first.