The Client & Project
Client had small sized embedded device which runs on Debian Linux & captures voice/ data & looking for ability to host session which allows real time view of activity (voice + visual synchronized) from across the globe and easy to play it back for those who missed live action.
Separately transmitted data & voice from device needed real-time synchronization at server. Support for multiple devices, streaming & recording at high speed adds complexity & challenge for performance.
Quick identification of technology, project approach and best utilization of existing development library helped to built high performance application.
Application was designed utilizing separate server & client components to achieve desire business functionality.
- Web Server for rendering request handling & queuing
- Main server comprised of streaming server, queuing of data & web application manages availability of streaming sever & web interface for user management and monitoring the connected devices and clients.
- Administration section allows registration & administration of application via secure authentication.
- Streaming Server
- The stream server application is receiving the data from device/client, queuing data for respective client/device, mixing the audio data, sending it to device/client.
- Streaming server also perform rapid switching between data storage, streaming & delivers smooth experience to end user.
- Recording & PlayBack Server
- This is sub set of streaming server which storing of streamed data & allows people to playback previously recorded session. When playback is requested it stream data hence improves performance on moderate bandwidth availability.
- Playback Web Client
- Activex control designed to play from web browser for easy viewing of previously recorded sessions of real time session.
- Developed customized web player for real time & play back of session.
- Cross Platform server application written using native c library.
- 60% saving from projected cost while implementing custom streaming server.
- Easy user management, device management & real time status helps reduce time for maintenance and monitoring
- Achieved 98% accuracy in synchronization of Voice & Data Streaming