Page content last modified on 2026-05-15.

uvgComm Video Communication

An example image of uvgComm calling another uvgComm with settings and statistics visible

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, H. Tampio, A. Mercat, and J. Vanne, “ uvgComm: Open Software for Low-Latency Multi-party Video Communication,” in Proc. 32nd ACM International Conference on Multimedia, Melbourne VIC, Australia, Oct. 2024. [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.
RTCP Real-time Transport Control Protocol (RTCP) enables monitoring of network conditions and has helpful features such as latency measurement. RTCP is implemented by our uvgRTP library.
Architectures
P2P Mesh Peer-to-peer Mesh (P2P Mesh) is a low latency architecture where each client sends their media to each other client directly. Unlike typical P2P Mesh implementations, uvgComm uses one common video encoder for all links, avoiding excess CPU usage. Client upload bandwidths are higher than in SFU, but there is no need for media server. Connectivity is poor in GSM and Wifi networks tough.
SFU Selective Forwarding Unit (SFU) is the state-of-the-art video conferencing architecture. UvgComm can server as either a client or a SFU server, all in one application.
Hybrid uvgComm also supports a hybrid archtitecture between P2P mesh and SFU, achieving the advantages of both. Each connection between clients decides in real time whether to use the P2P or the SFU link using RTCP-based Round-trip time (RTT) measurements.

Flexible Settings

Structures tab of uvgComm video settings for adjusting video encoder parameters.

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

Structures tab of uvgComm video settings for adjusting video encoder parameters.

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

Structures tab of uvgComm video settings for adjusting video encoder parameters.

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.

Comprehensive Evaluation Framework

uvgComm can be used in video communication architecture evaluation framework alled uvgComm-benchmark. The framework measures Peak Signal-to-Noise Ratio(PSNR)-quality, latency, and client/server bandwidth usages. It supports various parameters such as simulated latencies, different client counts, different bandwidth limitations and much more.

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. [Tuni.fi] [PDF]

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]