responsive website templates

Distance Schooling Based on IP Video Conferences

A Project Example

The task of the customer was to develop a solution for remote schooling. A realistic analogue of being present at a lesson was implemented: a student fully participates in a discussion, completes tasks in a group, comments, asks questions, and submits homework for checking. This solution is is actively used in Belgian schools.

Application area: Education

Customer: McNolia BV, Utrecht, Netherlands for Bednet, Belgium. 

Project’s aim: This project is focused on helping children that are not able to attend school classes for valid reasons. With the help of equipment that the child has at home and in the classroom, the student can virtually “attend” the lesson, i.e. see and hear teachers and other students, ask and answer questions, “raise a hand” by pressing a button, receive and send written tasks (using a printer and scanner). 

Project scope:

This solution is based on the Vidyo conferencing system ( but with significant modifications according to the customer’s requirements.

Tasks implemented:

  • Design and development of a specific customer app using the Vidyo API
  • Use of Vidyo API functions (self view, share desktop, public / private chat)
  • Support for IP cameras and far end camera control
  • Adding functionality for scanning and printing documents, exchanging documents with the school server.
  • Designing user interface based on the customer’s requirements.

Technologies and standards:

  • The Vidyo API in C and the SOAP Web Service API to set up a video conference
  • XML RPC to exchange configuration data and documents with the classroom server
  • H.264/MPEG4/MJPEG video streaming using gstreamer
  • IP camera control using HTTP requests
  • Scanner access through SANE, printer access through CUPS

Development environment:

  • Programming languages: С/C++
  • Compiler: gcc/g++
  • Operating Systems: Linux Ubuntu and Debian (32/64bit)
  • Project Management System: Redmine, a SCRUM-like methodology with short 2-week sprints
  • User interface framework: Qt, IDE: Qt Creator
  • Streaming video support: gstreamer command line tools and a v4l2loopback driver
  • SOAP client: KD SOAP, XML RPC client: libxmlrpc_client++
  • Deployment: apt-get and shell scripts
Project size:
  • 15 thousand lines of C++ code
  • 2 months, a team of 3 developers

Solution usage video:

© Copyright 2020 ProWide Labs Ltd. All rights reserved.