|
||
---|---|---|
examples | ||
include | ||
src | ||
.gitignore | ||
BUILDING.md | ||
CMakeLists.txt | ||
COPYING | ||
Makefile | ||
README.md | ||
uvgRTP.pro | ||
uvgRTP.sln | ||
uvgRTP.vcxproj | ||
uvgRTP.vcxproj.filters |
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 and 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:
- RFC 3350: RTP: A Transport Protocol for Real-Time Applications
- RFC 7798: RTP Payload Format for High Efficiency Video Coding (HEVC)
- 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
Based on Marko Viitanen's fRTPlib
Notable features
- Builtin support for:
- 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