GitHub - pions/webrtc: A pure Golang implementation of the WebRTC Native API
source link: https://github.com/pions/webrtc
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
Pion WebRTC
A Golang implementation of the WebRTC API.
See DESIGN.md for the features it offers, and future goals.
Getting Started
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.
What can I build with pion-WebRTC?
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
Prerequisites
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.
Ubuntu/Debian
sudo apt-get install libssl-dev
OSX
brew install openssl
Fedora
sudo yum install openssl-devel
Windows
- 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)
Example Programs
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
Writing your own application
The API should match the Javascript WebRTC API, and the GoDoc is actively maintained
Roadmap
pion-WebRTC is in active development, you can find the roadmap here.
Questions/Support
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]
Contributing
See CONTRIBUTING.md
Contributors
- John Bradley - Original Author
- Sean DuBois - Original Author
- Michael Melvin Santry - Mascot
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)
License
MIT License - see LICENSE.md for full text
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK