Go to file
Aaro Altonen b85e35ded1 Maintain the order for fragments when saving them to fragment buffer
Previous implementation did not consider the fact that sequence number
could overflow and start fragment would thus appear later than the end
fragment.

This caused distortions in the video as the frames were constructed
incorrectly. By adjusting the overflown sequence number, the fragments
can be stored efficiently to std::map while maintaining their order.
2020-10-06 06:21:29 +03:00
examples Separate HEVC code into H265 and H26x 2020-09-08 09:01:45 +03:00
include Maintain the order for fragments when saving them to fragment buffer 2020-10-06 06:21:29 +03:00
src Maintain the order for fragments when saving them to fragment buffer 2020-10-06 06:21:29 +03:00
.gitignore Proctect CryptoPP calls with __RTP_CRYPTO__ 2020-09-04 11:37:06 +03:00
BUILDING.md Rename kvzRTP to uvgRTP 2020-04-28 11:18:07 +03:00
CMakeLists.txt Update project files 2020-09-16 10:56:57 +03:00
COPYING Update copyright 2020-04-21 08:46:54 +03:00
Makefile Proctect CryptoPP calls with __RTP_CRYPTO__ 2020-09-04 11:37:06 +03:00
README.md Add support for H.264/AVC 2020-09-25 10:23:12 +03:00
uvgRTP.pro Fix Windows compilation issues 2020-09-17 12:45:20 +03:00
uvgRTP.sln Rename kvzRTP to uvgRTP 2020-04-28 11:18:07 +03:00
uvgRTP.vcxproj Update project files 2020-09-16 10:56:57 +03:00
uvgRTP.vcxproj.filters Update project files 2020-09-16 10:56:57 +03:00

README.md

uvgRTP

uvgRTP is an RTP library written in C++ with a focus on usability and efficiency. It features a very intuitive and easy-to-use API, built-in support for HEVC, AVC, Opus, SRTP and ZRTP. In ideal conditions it is able to receive a goodput of 600 MB/s for HEVC stream.

uvgRTP is licensed under the permissive BSD 2-Clause License

For SRTP/ZRTP support, uvgRTP uses Crypto++

Supported specifications:

Based on Marko Viitanen's fRTPlib

Notable features

  • Builtin support for:
    • AVC
    • HEVC
    • Opus
    • SRTP/ZRTP
  • Generic interface for custom media types
  • UDP hole punching
  • Simple API
  • Permissive license

Building and linking

See BUILDING.md for instructions on how to build and use uvgRTP

Examples

See examples directory for different uvgRTP examples

Paper

Please cite the following paper for uvgRTP:

A. Altonen, J. Räsänen, J. Laitinen, M. Viitanen, and J. Vanne, “Open-source RTP library for high-speed 4K HEVC video streaming,” in Proc. IEEE Int. Workshop on Multimedia Signal Processing, Tampere, Finland, Sept. 2020.