We need to develop a software that will be deployed on three machines- a PC, a server and a smart phone, which will communicate with each other through the internet.
The part of the program for PC and for the server must be done in C/C++, the one for the smart phone in JAVA for Android (and the same thing in Objective-C for iOS).
The developer should:
- Have much experience working on these platforms.
- Must master the work with IO ports for both PC and smart phones as they are connected to external devices.
- Write clean, modular, robust code, easy to debug or improve in the future.
- Contribute ideas for making the application better and easier to use.
Some of the necessary elements of the program are:
- Establishing a communication channel through internet between machines (including handshake protocol, etc).
- Capture of audio/video signal from an external USB hand video camera by the smart phone.
- Transmitting, receiving and recording streaming AV signal via internet, in real time.
- Coding and decoding the AV signal to/from streaming/mp4, etc (in real time) - OK to embed currently existing third party software code if available.
- Encryption/decryption of the AV stream (for security) in real time - OK to embed currently existing third party software code if available.
- Video editing options (like sharpening, color saturation, view in black&white, etc ) - OK to embed currently existing third party software code if available.
- User login & validation (cross-checking with ID and passwords from an existing database) - OK to embed currently existing third party software code if available.
- Using the information from the electronic compass inside the smart phone.
- User menu, options settings.
To make things easier, I will provide the general logic diagram of each program, as well as the graphic design of the user interface.