WebRTC

Pion is a modern stack for web real-time communication

Pion is a modern stack for web real-time communication. It works almost everywhere thanks to Go. Ship to Mobile, Desktop, Servers and WASM all with one code base.

This is free and open source software.

Key Features

  • PeerConnection API
  • Go implementation of webrtc-pc and webrtc-stats
  • DataChannels
  • Send/Receive audio and video
  • Renegotiation
  • Plan-B and Unified Plan
  • SettingEngine for Pion specific extensions
  • Connectivity
  • Full ICE Agent
  • ICE Restart
  • Trickle ICE
  • STUN
  • TURN (UDP, TCP, DTLS and TLS)
  • mDNS candidates
  • DataChannels
  • Ordered/Unordered
  • Lossy/Lossless
  • Media
  • API with direct RTP/RTCP access
  • Opus, PCM, H264, VP8 and VP9 packetizer
  • API also allows developer to pass their own packetizer
  • IVF, Ogg, H264 and Matroska provided for easy sending and saving
  • getUserMedia implementation (Requires Cgo)
  • Easy integration with x264, libvpx, GStreamer and ffmpeg.
  • Simulcast
  • SVC
  • NACK
  • Sender/Receiver Reports
  • Transport Wide Congestion Control Feedback
  • Bandwidth Estimation
  • Security:
    • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 and TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA for DTLS v1.2
    • SRTP_AEAD_AES_256_GCM and SRTP_AES128_CM_HMAC_SHA1_80 for SRTP
    • Hardware acceleration available for GCM suites
  • Pure Go:
    • No Cgo usage
    • Wide platform support
    • Linux, FreeBSD, Android, iOS macOS, and Windows.
    • iOS, Android
    • WASM
    • 386, amd64, arm, mips, ppc64
    • Easy to build Numbers generated on Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
    • Time to build examples/play-from-disk – 0.66s user 0.20s system 306% cpu 0.279 total
    • Time to run entire test suite – 25.60s user 9.40s system 45% cpu 1:16.69 total
    • Tools to measure performance provided

Website: pion.ly
Support:
Developer: The Pion community
License: MIT License

Pion is written in Go. Learn Go with our recommended free books and free tutorials.


Related Software

WebRTC Tools
mediasoupServer-side WebRTC library, specifically a Selective Forwarding Unit (SFU
PionModern stack for web real-time communication
JitsiInnovative voice and video conferencing
LiveKitEnd-to-end stack for WebRTC
SRSReal-time media server
OpenViduPlatform to develop WebRTC real-time applications
JanusGneral purpose WebRTC server
BigBlueButtonVirtual classroom platform
aiortcLibrary for WebRTC and ORTC
MiroTalk SFUSelf-hosted WebRTC videoconferencing platform
MiroTalk P2PSelf-hosted WebRTC video conferencing application
coturnImplementation of TURN and STUN Server
GaleneEasy to deploy videoconference server
Nextcloud TalkChat, video and audio calls for Nextcloud
SelkiesRemote desktop and application streaming platform
libpeerPortable WebRTC library for IoT/embedded devices
libdatachannelWebRTC network library
KurentoWebRTC media server
str0mSans I/O WebRTC implementation
Elixir WebRTCElixir implementation of the W3C WebRTC API
GrytSelf-hostable, WebRTC-based voice communication app
PairUXCollaborative screen sharing with simultaneous remote control

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments