All Blog Posts  |  Next Post  |  Previous Post

Real-time video communication from TMS WEB Core apps


Friday, June 12, 2020

TMS Software Delphi  Components   TMS Software Delphi  Components

As software developers having worked from home during the covid-19 lockdown, chances are you will have communicated with colleagues or customers over the web and shared audio, video, desktop... all from the browser. And to do this, no software installation was needed and it works on any Windows PC, macOS Apple device or Linux computer with a modern browser. The wonderful technology behind this is WebRTC (Web Real-Time Communication) and is an open-source protocol specification/protocol controlled by the World Wide Web Consortium (W3C).

WebRTC is usable on one side via the WebRTC API meanwhile available in any current popular browser and on the other side WebRTC servers.

During the covid-19 lockdown, Michael Van Canneyt, one of the two masterminds behind the pas2js compiler and RTL, was tasked to write a web application for real-time video communication. For his project, the web application could make use of existing free to use WebRTC servers Jitsi or OpenTok.

As Jitsi and Tokbox offer both JavaScript libraries for WebRTC communication with their servers from a web application, Michael wrote the necessary Object Pascal classes for consuming these WebRTC libraries from a TMS WEB Core web client application. Michael Van Canneyt was so impressed with these libraries, that he re-created and extended these classes for inclusion in pas2js so the open-source community could enjoy them and also wrote two demos for the TMS WEB Core framework using these classes and showcasing the integration of real-time video communication from a TMS WEB Core application.

TMS Software Delphi  Components
Demo running with 3 attendees in a room and cameras of two attendees pointing to each other's screen

You can explore the Jitsi demo here:

You can explore the Opentok demo here:

Note that for Opentok you need to register for an OpenTok API key, Session ID and Token from Tokbox. After getting this information from a test account, you can use OpenTok free.

The full source code of both demos can be downloaded here. You need the latest version of TMS WEB Core v1.4 Ravenna for this. You will notice that these demos are HTML template based. That means that the layout of the page is done with HTML/CSS (Bootstrap) and bound to TMS WEB Core web controls via which all UI logic is provided. The nice thing is that you can not only explore these projects via your Delphi IDE, but if you are a TMS ALL-ACCESS user, you can now also open and run these demos from our beta version of TMS WEB Core for Visual Studio Code on Windows, macOS or Linux.

It clear that web technology and TMS WEB Core exposing this in an easy RAD component based way to Object Pascal developers is fascinating. Let us hear your thoughts and comments or other challenges for web based applications you would want to see covered here!

Bruno Fierens


This blog post has received 1 comment.

1. Thursday, February 23, 2023 at 4:51:28 PM

very nice

Motion Byte In

Add a new comment

You will receive a confirmation mail with a link to validate your comment, please use a valid email address.
All fields are required.

All Blog Posts  |  Next Post  |  Previous Post