Two-way Video Communication on STB

This is a European Union sponsored project related to providing better living standards for elders. One of the components is two way video communication on the television, without requiring special TV sets, just consumer level STBs.

For this, we are currently building a very complex solution, that sidesteps issues with connectivity (NAT traversal), the fact that STBs don’t have cameras (so the camera has to be a separate independent device controlled by the STB), and the transcoding of content (STBs support H264/AAC, mobile devices support Flash or WebRTC browsers, etc).

The solution involves (currently) a custom built RTSP server (built in C++ by me and some colleagues), an open source WebRTC gateway (the Kurento server), a call manager (written in C++) and NodeJS, frontend applications (written in Javascript), a smart-camera device (currently, a Raspberry PI running a custom C++ app connected to a Logitech C920 camera) that does the encoding of video and sends it to the RTSP server that provides it to the STB or PC client, transcoding as needed using the Kurento server.

In this project I developed a lot of it (all of the Raspberry PI solution, most of the RTSP server, a little of the frontend clients), and I architected the overall solution.

This project has led to my employer filing for a patent on this, in which I have credit as patent creator.

You can see more information regarding the project (which has many more components beyond two-way video communication) on the Salig++ website.