Fragmented generic frames whose sequence numbers crossed the overflow boundary were incorrectly reconstructed as the last fragments of the frame were in the beginning of the buffer. |
||
---|---|---|
docs | ||
include | ||
src | ||
.gitignore | ||
BUILDING.md | ||
CMakeLists.txt | ||
COPYING | ||
Doxyfile | ||
README.md | ||
uvgRTP.pro |
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 reach 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:
- RFC 3350: RTP: A Transport Protocol for Real-Time Applications
- RFC 7798: RTP Payload Format for High Efficiency Video Coding (HEVC)
- RFC 6184: RTP Payload Format for H.264 Video
- RFC 7587: RTP Payload Format for the Opus Speech and Audio Codec
- RFC 3711: The Secure Real-time Transport Protocol (SRTP)
- RFC 6189: ZRTP: Media Path Key Agreement for Unicast Secure RTP
- Draft: RTP Payload Format for Versatile Video Coding (VVC)
Based on Marko Viitanen's fRTPlib
Notable features
- Builtin support for:
- AVC
- HEVC
- Opus
- SRTP/ZRTP
- Preliminary VVC support
- 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
Documentation and examples
See documentation and examples to get a better understanding of uvgRTP
Paper
Please cite this 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.