Page content last modified on 2023-09-13.
uvgComm Video Communication
uvgComm is a High Efficiency Video Coding (HEVC) video communication application written in C++ and built on Qt application framework. uvgComm aims to provide a testbed for novel video conferencing solutions, while also advancing the field of Real-Time Communication (RTC). uvgComm is licensed under permissive ISC-license.
Please cite the following paper or any other paper below if you use uvgComm 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]
Quick info | |
---|---|
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++ |
Protocols | |
---|---|
SIP | Session Initiation Protocol (SIP) is a signaling protocol that enables uvgComm to start, answer or end calls. uvgComm has its own SIP implementation and does not use any existing library. uvgComm 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. uvgComm sets up the delivery using our uvgRTP library. uvgRTP handles the fragmentation of video frames so they go smoothly through the network. |
uvgComm is under development and new features will become available. Currently, the goal is to make uvgComm work in all network situations.
Flexible Settings
Since uvgComm uses the codecs directly, uvgComm 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.
Useful Statistics
The statistics of uvgComm 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 uvgComm.
Clear Architecture
uvgComm 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.
Publications
J. Räsänen, H. Tampio, A. Mercat, and J. Vanne, “uvgComm: Open software for low-latency multi-party video communication,” in Proc. ACM Int. Conf. Multimedia, Melbourne, Australia, Oct.-Nov. 2024.
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]
J. Räsänen, M. Viitanen, J. Vanne, and T. D. Hämäläinen, “Live demonstration: Kvazzup 4K HEVC video call,” in Proc. IEEE Int. Symp. Multimedia, Taichung, Taiwan, Dec. 2018. [Tuni.fi] [PDF]
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]