The WinRTC project hosts everything needed to build apps with interoperable real time communications for modern Windows. It brings the power of WebRTC to modern Windows apps written in C#, C++ and VB. WinRTC enables real-time voice calling, video chat and data functionality (file transfer etc.) with web browsers via WebRTC.
This repository contains the following sections:
The WinRTC project aims to host everything needed to build apps with interoperable real time communications for windows. It brings the power of WebRTC to Windows apps written in C#, C++ and VB. With WinRTC, native Windows apps can have real time communications with web browsers via WebRTC.
For an overview and live walkthrough of building with WinRTC please see our session from Build 2020!
Session Breakdown: - 00:00 to 11:30 - Excellent WinRTC overview, history, use cases and customer success stories from Dina Ayman, PM for WinRTC - 11:30 to 25:10 - Awesome end to end demo of using WinRTC in code from Augusto Righetto, Sr Engineer for WinRTC
WinRTC's compatibility extends to .Net and RN4W, as well as UWP and Win32 applications. For more insight into the architecture, check out our frequently asked questions page.
As is, the WebRTC code base has a Win32 port that doesn't build for UWP. Get started with building WebRTC for Windows with the patches available in this repo. We recommend applying the M84 patch, which has the most recent security updates and features.
These patches are being contributed back. Some of these patches were already merged into their original repos, but didn't rolled over WebRTC yet.
Note: The WinRTC NuGet is now live and ready to download. You can download the NuGet from Nuget.org or through Visual Studio.
For more information about WinRTC, you may find some of these resources useful and interesting:
Check out our frequently asked questions page which we will update periodically.
Have an urgent question and can't find the answer? Don't hesitate to ask!
A big goal for us this month was to improve the hardware accelerated capabilities for audio and video capture, rendering, encoders and decoders in WinRTC.
We'd like to thank everyone who filed a bug, gave feedback, or made a pull-request. The WinRTC team is extremely grateful to have the support of an amazing active community.
In our most recent update, we have: - Added port WebRTC-UWP H264 Encoder & Decoder over WinRTC - Added port WebRTC-UWP supporting Camera Profiles over WinRTC - Enabled libWebRTC built-in camera capture module for Arm64 devices - Created public documentation on GitHub wiki about how to change libWebRTC build system
For our next release, we are proactively working on: - Creating NuGet packages for WinRTC wrappers
We're in the midst of building our road map to showcase which features we'll be working on in the near-future. You can help by filing issues for features you'd like to see! For example, you can propose an idea for a new API. It's fine if you don't have all the details: you can start with a summary and rationale.
We want to hear from you!
File a new issue! Tell us what problem you're trying to solve, how you've tried to solve it so far, and what would be the ideal solution for your app. Bonus points if there's a gist or existing repo we can look at with you.
Read more about the contribution guide here.
Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution.
Did you find this page helpful? Let us know by providing your feedback.
You can also file an issue to report a bug or propose a new feature.
This project has adopted the Microsoft Open Source Code of Conduct.