Pion WebRTC
A (almost) pure Golang implementation of the WebRTC Native API.
Status
Things need to be completed before it is usable for public consumption.
- ICE-lite (peers can communicate directly via host candidates)
- DTLS
- SRTP
- API that matches WebRTC spec
Things that I plan to do, but will happen only when someone requests/I need it.
- Native DTLS (Currently we use OpenSSL)
- Native SRTP (Currently we use libsrtp2)
- DataChannels
- TURN/STUN/ICE
- Sending Video
How to use
This project provides an API to work with WebRTC clients. To see a quick demo we provide an example.
Build (or run) save-to-disk This will first ask for your browsers SDP, and then provide yours
Open the demo page and get the base64 from the browser, then provide ours and press 'Start Session'
The Go application should print when it gets any packets, and the web page will print it's status as well.
Project Ideas
I am looking to support other interesting WebRTC projects, so if you have something to build please reach out! pion-WebRTC would make a great foundation for.
- Easy language bindings (Python)
- Golang SFU
- Server side processing (video effects or an MCU)