Voice & Data Streaming, Remote Recording from Application on Embedded Linux

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.

Challenges Requirements

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.

Solution

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.

Value Addition

  • Developed customized web player for real time & play back of session.
  • Cross Platform server application written using native c library.

Major Achievement

  • 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