Page content last modified on 2023-09-13.
Kvazzup Video Communication
Kvazzup is a High Efficiency Video Coding (HEVC) video communication application written in C++ and built on Qt application framework. Kvazzup aims to provide a testbed for novel video conferencing solutions, while also advancing the field of Real-Time Communication (RTC). Kvazzup is licensed under permissive ISC-license.
Please cite the following paper or any other paper below if you use Kvazzup in your research:
J. Räsänen, M. Viitanen, J. Vanne, and T. D. Hämäläinen, “ Kvazzup: open software for HEVC video calls,” in Proc. IEEE Int. Symp. Multimedia, Taichung, Taiwan, Dec. 2017. [Tuni.fi] [PDF]
|What?||Video communication using state-of-the-art technologies|
|Why?||To test improvements to the quality of video communication|
|How?||Implementing protocols using the Qt framework and C++|
|SIP||Session Initiation Protocol (SIP) is a signaling protocol that enables Kvazzup to start, answer or end calls. Kvazzup has its own SIP implementation and does not use any existing library. Kvazzup has been tested with Kamailio SIP proxy.|
|SDP||Session Description Protocol (SDP) is used for describing the media parameters wanted for the call and is used to negotiatiate various aspects of the call. SIP messages carry SDP messages as a payload during call initiation.|
|ICE||Interactive Connectivity Establishement (ICE) protocol is used to find the optimal route for media traversal when call is starting. ICE candidates are transferred inside the SDP messages.|
|RTP||Real-time Transport Protocol (RTP) is responsible for the media delivery. Kvazzup sets up the delivery using our uvgRTP library. uvgRTP handles the fragmentation of video frames so they go smoothly through the network.|
Kvazzup is under development and new features will become available. Currently, the goal is to make Kvazzup work in all network situations.
Since Kvazzup uses the codecs directly, Kvazzup can also offer full control for the codecs directly to user. User can adjust almost any codec parameter to their liking from settings User Interface.
The statistics of Kvazzup show 1) the SIP log, 2) the call parameters, 3) statistics for delivery, 4) Filter Graph buffer statuses, and 5) the call performance. The statistics window can be used to verify correct operations and monitor the performance characteristics of Kvazzup.
Kvazzup is divided into subsystems than handle a particular task. There is a controller or manager class which handles the interactions between subcomponents. This division enables easier understanding of the program as a whole and also makes modifications easier because a smaller segment of the program is affected when making changes. Easy modifications should make implementing new technologies and techniques fast and convenient.
J. Räsänen, A. Altonen, A. Mercat, and J. Vanne, “Live demonstration: interactive quality of experience evaluation in Kvazzup video call,” in Proc. IEEE Int. Symp. Multimedia, Naples, Italy, Dec. 2020. [Tuni.fi] [PDF]