Overview of Pion WebRTC features
mainPion WebRTC is a pure Go implementation of the WebRTC API. Key capabilities include:
PeerConnection API
- Implementation of webrtc-pc and webrtc-stats.
- Support for DataChannels and audio/video transmission.
- Renegotiation and support for both Plan-B and Unified Plan.
SettingEnginefor Pion-specific extensions.
Connectivity
- Full ICE Agent with support for ICE Restart, Trickle ICE, STUN, and TURN (UDP, TCP, DTLS, and TLS).
- mDNS candidates.
DataChannels
- Support for Ordered/Unordered and Lossy/Lossless data.
Media
- Direct RTP/RTCP access.
- Packetizers for Opus, PCM, H264, VP8, and VP9 (with support for custom packetizers).
- Support for Simulcast, SVC, NACK, and Bandwidth Estimation.
- Easy integration with x264, libvpx, GStreamer, and ffmpeg.
Security
- DTLS v1.2 with
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256andTLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA. - SRTP with
SRTP_AEAD_AES_256_GCMandSRTP_AES128_CM_HMAC_SHA1_80. - Hardware acceleration for GCM suites.
Platform Support
- Pure Go: No Cgo required for core functionality.
- Supported OS: Windows, macOS, Linux, FreeBSD, iOS, and Android.
- WASM: Supports WebAssembly development and testing.