|
|
||
|---|---|---|
| benchmarks | ||
| 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