{"id":32589666,"url":"https://github.com/ultravideo/uvgrtp","last_synced_at":"2025-10-30T00:59:46.253Z","repository":{"id":37585836,"uuid":"198957904","full_name":"ultravideo/uvgRTP","owner":"ultravideo","description":"An open-source library for RTP/SRTP media delivery","archived":false,"fork":false,"pushed_at":"2025-07-11T08:24:46.000Z","size":4717,"stargazers_count":385,"open_issues_count":26,"forks_count":97,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-07-11T11:43:29.784Z","etag":null,"topics":["avc","h264","h265","h266","hevc","opus","rtp","rtp-library","rtp-payload-format","srtp","vvc","zrtp"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ultravideo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-07-26T06:16:40.000Z","updated_at":"2025-07-11T08:24:50.000Z","dependencies_parsed_at":"2024-01-12T14:13:31.938Z","dependency_job_id":"b3cacc1c-be4b-41c9-b9e4-1f007a08750a","html_url":"https://github.com/ultravideo/uvgRTP","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/ultravideo/uvgRTP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultravideo%2FuvgRTP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultravideo%2FuvgRTP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultravideo%2FuvgRTP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultravideo%2FuvgRTP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ultravideo","download_url":"https://codeload.github.com/ultravideo/uvgRTP/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultravideo%2FuvgRTP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281726170,"owners_count":26550920,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-29T02:00:06.901Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avc","h264","h265","h266","hevc","opus","rtp","rtp-library","rtp-payload-format","srtp","vvc","zrtp"],"created_at":"2025-10-30T00:59:10.244Z","updated_at":"2025-10-30T00:59:46.247Z","avatar_url":"https://github.com/ultravideo.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# uvgRTP\n\nuvgRTP is an *Real-Time Transport Protocol (RTP)* library written in C++ with a focus on simple to use and high-efficiency media delivery over the Internet. It features an intuitive and easy-to-use *Application Programming Interface (API)*, built-in support for transporting *Versatile Video Coding (VVC)*, *High Efficiency Video Coding (HEVC)*, *Advanced Video Coding (AVC)* encoded video and Opus encoded audio. Furthermore, uvgRTP can be used to transport *Visual Volumetric Video-based Coding (V3C)* encoded volumetric video. uvgRTP also supports *End-to-End Encrypted (E2EE)* media delivery using the combination of *Secure RTP (SRTP)* and ZRTP. uvgRTP has been designed to minimize memory operations to reduce its CPU usage and latency.\n\nuvgRTP is licensed under the permissive BSD 2-Clause License. This cross-platform library can be run on both Linux and Windows operating systems. Mac OS is also supported, but the support relies on community contributions. For SRTP/ZRTP support, uvgRTP uses the [Crypto++ library](https://www.cryptopp.com/).\n\nCurrently supported specifications:\n   * [RFC 3550: RTP: A Transport Protocol for Real-Time Applications](https://datatracker.ietf.org/doc/html/rfc3550)\n   * [RFC 3551: RTP Profile for Audio and Video Conferences with Minimal Control](https://datatracker.ietf.org/doc/html/rfc3551)\n   * [RFC 6184: RTP Payload Format for H.264 Video](https://datatracker.ietf.org/doc/html/rfc6184)\n   * [RFC 7798: RTP Payload Format for High Efficiency Video Coding (HEVC)](https://datatracker.ietf.org/doc/html/rfc7798)\n   * [RFC 9328: RTP Payload Format for Versatile Video Coding (VVC)](https://datatracker.ietf.org/doc/html/rfc9328)\n   * [RFC 7587: RTP Payload Format for the Opus Speech and Audio Codec](https://datatracker.ietf.org/doc/html/rfc7587)\n   * [RFC draft: RTP Payload Format for Visual Volumetric Video-based Coding (V3C)](https://datatracker.ietf.org/doc/draft-ietf-avtcore-rtp-v3c/)\n   * [RFC 3711: The Secure Real-time Transport Protocol (SRTP)](https://datatracker.ietf.org/doc/html/rfc3711)\n   * [RFC 6189: ZRTP: Media Path Key Agreement for Unicast Secure RTP](https://datatracker.ietf.org/doc/html/rfc6189)\n\nYou are welcome to contact us in our Discord if you have questions or comments regarding the library [![Discord](https://img.shields.io/discord/973260924288901140?style=plastic)](https://discord.gg/fZpub7BPUA)\n\n## Notable features\n\n* AVC/HEVC/VVC video streaming, including packetization\n* V3C Atlas streaming, including packetization\n* Ready support for many formats which don't need packetization, including Opus\n* Delivery encryption with SRTP\n* Encryption key negotiation with ZRTP\n* UDP firewall hole punching\n* Simple to use API\n* Working examples\n* Permissive license\n\n## Building and linking\n\nSee [BUILDING.md](BUILDING.md) for instructions on how to build and use uvgRTP.\n\n## Learning to use uvgRTP\n\nTo get started using uvgRTP, check out [usage](USAGE.md) file which contains a step-by-step tutorial for using uvgRTP. To see uvgRTP in action, the [examples](examples) folder contains many working examples to illustrate how to use uvgRTP in variety of situations. For a more detailed description, check the [documentation](docs/README.md) where you can find info on advanced topics and descriptions of all uvgRTP flags.\n\nFurthermore, we also provide a Doxygen documentation of the [public API](https://ultravideo.github.io/uvgRTP/html/index.html) on Github.\n\n## Contributing\n\nWe warmly welcome any contributions to the project. If you are considering submitting a pull request, please read [CONTRIBUTING.md](CONTRIBUTING.md) before proceeding.\n\n## Papers\n\nIf you use uvgRTP in your research, please cite one of the following papers:\n\n[Open-Source RTP Library for High-Speed 4K HEVC Video Streaming](https://researchportal.tuni.fi/en/publications/open-source-rtp-library-for-high-speed-4k-hevc-video-streaming)\n\n```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.```\n\n[UVGRTP 2.0: Open-Source RTP Library For Real-Time VVC/HEVC Streaming](https://researchportal.tuni.fi/en/publications/uvgrtp-20-open-source-rtp-library-for-real-time-vvchevc-streaming)\n\n```A. Altonen, J. Räsänen, A. Mercat, and J. Vanne, “uvgRTP 2.0: open-source RTP library for real-time VVC/HEVC streaming,” in Proc. IEEE Int. Conf. Multimedia Expo, Shenzhen, China, July 2021.```\n\n[Open-source RTP Library for End-to-End Encrypted Real-Time Video Streaming Applications](https://researchportal.tuni.fi/en/publications/open-source-rtp-library-for-end-to-end-encrypted-real-time-video-)\n\n```J. Räsänen, A. Altonen, A. Mercat, and J. Vanne, “Open-source RTP library for end-to-end encrypted real-time video streaming applications,” in Proc. IEEE Int. Symp. Multimedia, Naples, Italy, Nov.-Dec. 2021.```\n\n## Test framework\n\nWe also have an easy to use performance test framework for benchmarking uvgRTP against FFmpeg and Live555 on Linux OS. The framework can be found [here](https://github.com/ultravideo/rtp-benchmarks).\n\n## Origin\n\nThe original version of uvgRTP is based on Marko Viitanen's [fRTPlib library](https://github.com/fador/fRTPlib).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultravideo%2Fuvgrtp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fultravideo%2Fuvgrtp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultravideo%2Fuvgrtp/lists"}