- Notifications
You must be signed in to change notification settings - Fork0
Pure Go implementation of the WebRTC API
License
shakahl/webrtc
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
SeeDESIGN.md for an overview of features and future goals.
Pion WebRTC v2.0.0 has arrived! See therelease notes to learn about new features and breaking changes.
Have any questions? Jointhe Slack channel to follow development and speak with the maintainers.
We are actively planningv2.1.0 and would love your feedback! Anyone can add issues, and anything that you think can empower Pion users.
Check out theexample applications to help you along your Pion WebRTC journey.
For more full featured examples that use 3rd party libraries see ourexample-webrtc-applications repo.
The Pion WebRTC API closely matches the JavaScriptWebRTC API. Most existing documentation is therefore also usefull when working with Pion. Furthermore, ourGoDoc is actively maintained.
Now go forth and build some awesome apps! Here are someideas to get your creative juices flowing:
- Send a video file to multiple browser in real time for perfectly synchronized movie watching.
- Send a webcam on an embedded device to your browser with no additional server required!
- Securely send data between two servers, without using pub/sub.
- Record your webcam and do special effects server side.
- Build a conferencing application that processes audio/video and make decisions off of it.
Pion WebRTC can be used when compiled to WebAssembly, also known as Wasm. Inthis case the library will act as a wrapper around the JavaScript WebRTC API.This allows you to use WebRTC from Go in both server and browser side code withlittle to no changes. Check out theexample applications for instructions onhow to compile and run the WebAssembly examples. You can also visit theWiki page on WebAssembly Developmentfor more information.
The library is in active development, please refer to theroadmap to track our major milestones.
Pion has an active community on theGolang Slack. Sign up and join the#pion channel for discussions and support. You can also usePion mailing list.
We are always looking to supportyour projects. Please reach out if you have something to build!
If you need commercial support or don't want to use public methods you can contact us atteam@pion.ly
- pion/turn: A simple extendable Golang TURN server
- [WIP]pion/media-server: A Pion WebRTC powered media server, providing the building blocks for anything RTC.
Check out thecontributing wiki to join the group of amazing people making this project possible:
- John Bradley -Original Author
- Michael Melvin Santry -Mascot
- Raphael Randschau -STUN
- Sean DuBois -Original Author
- Michiel De Backker -SDP, Public API, Project Management
- Brendan Rius -Cleanup
- Konstantin Itskov -SDP Parsing
- chenkaiC4 -Fix GolangCI Linter
- Ronan J -Fix STCP PPID
- wattanakorn495
- Max Hawkins -RTCP
- Justin Okamoto -Fix Docs
- leeoxiang -Implement Janus examples
- Denis -Adding docker-compose to pion-to-pion example
- earle -Generate DTLS fingerprint in Go
- Jake B -Fix Windows installation instructions
- Michael MacDonald -Plan B compatibility, Remote TURN/Trickle-ICE, Logging framework
- Oleg KovalovUse wildcards instead of hardcoding travis-ci config
- Woodrow DouglassRTCP, RTP improvements, G.722 support, Bugfixes
- Tobias FridénSRTP authentication verification
- Yutaka TakedaFix ICE connection timeout
- Hugo ArreguiFix connection timeout
- Rob DeutschRTPReceiver graceful shutdown
- Jin Lei -SFU example use http
- Will Watson -Enable gocritic
- Luke Curley
- Antoine Baché -OGG Opus export
- frank -Building examples on OSX
- mxmCherry
- Alex Browne -JavaScript/Wasm bindings
- adwpc -SFU example with websocket
- imalic3 -SFU websocket example with datachannel broadcast
- Žiga Željko
- Simonacca Fotokite
- MarouaneFix Offer bundle generation
- Christopher Fry
- Adam Kiss
- xsbchen
- Alex Harford
- Aleksandr Razumov
- mchlrhw
- AlexWoo(武杰)Fix RemoteDescription parsing for certificate fingerprint
- Cecylia Bocovich
MIT License - seeLICENSE for full text
About
Pure Go implementation of the WebRTC API
Resources
License
Stars
Watchers
Forks
Packages0
Languages
- Go98.9%
- Other1.1%