A Golang implementation of the WebRTC API.
See DESIGN.md for the features it offers, and future goals.
This project provides a Go implementation of the WebRTC API. There isn't a application that will fit all your needs, but we provide a few simple examples to show common use cases that you are free to modify and extend to your needs.
pion-WebRTC is here to help you get media/text from A<->B, here are some of the cool things you could build.
- Send a video file to multiple browser in real time, perfectly synchronized movie watching.
- Send a webcam on a small device to your browser, with no additional server required
- Securely send video between two servers
- Record your webcam and do special effects server side
- Build a conferencing application that processes audio/video and make decisions off of it
We still use OpenSSL for DTLS (we are actively working on replacing it) so make sure to install the OpenSSL headers for your platform before using pion-WebRTC.
sudo apt-get install libssl-dev
brew install openssl
sudo yum install openssl-devel
- Install mingw-w64
- Install pkg-config-lite
- Build (or install precompiled) openssl for mingw32-w64
- Set PKG_CONFIG_PATH to the directory containing openssl.pc (i.e. c:\mingw64\mingw64\lib\pkgconfig)
Examples for common use cases, extend and modify to quickly get started.
- gstreamer-receive Play video from your Webcam live using GStreamer
- save-to-disk Save video from your Webcam to disk
The API should match the Javascript WebRTC API, and the GoDoc is actively maintained
pion-WebRTC is in active development, you can find the roadmap here.
Sign up for the Golang Slack and join the #pion channel for discussions and support
You can also use Pion mailing list
If you need commercial support/don't want to use public methods you can contact us at [email protected]
See CONTRIBUTING.md
- John Bradley - Original Author
- Sean DuBois - Original Author
- Michael Melvin Santry - Mascot
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)
MIT License - see LICENSE.md for full text