quasarstream / webrtc
This package provides a complete WebRTC implementation written entirely in PHP
Fund package maintenance!
php-webrtc
Requires
- php: ^8.4
- evenement/evenement: ^3.0
- quasarstream/dtls: ^1.0
- quasarstream/exception: ^1.0
- quasarstream/ice: ^1.0
- quasarstream/ntp: ^1.0
- quasarstream/rtp: ^1.0
- quasarstream/sctp: ^1.0
- quasarstream/sdp: ^1.0
- quasarstream/stats: ^1.0
Requires (Dev)
- phpunit/php-code-coverage: 11.0.x-dev
- phpunit/phpunit: ^11.3
This package is auto-updated.
Last update: 2025-05-14 21:13:20 UTC
README
This package provides a complete WebRTC implementation written entirely in PHP, including support for ICE, DTLS, SRTP, SCTP, RTP, and data channels. Designed for real-time audio, video, and data communication, it enables peer-to-peer connectivity without relying on external WebRTC libraries. Built with modular components and fully asynchronous using ReactPHP.
Features
- Full peer-to-peer WebRTC stack in native PHP
- Implements ICE for NAT traversal and candidate negotiation
- Secure communication via DTLS and SRTP
- Reliable data transfer with SCTP and support for data channels
- RTP/RTCP handling for real-time audio and video streaming
- Modular design with support for custom signaling implementations
- Built on top of ReactPHP for asynchronous, non-blocking performance
Requirements
- PHP ≥ 8.4 with FFI and GMP extension enabled
- OpenSSL development libraries
- Srtp development libraries
- Linux environment (Windows/macOS support planned)
- FFmpeg/libav shared libraries (libavcodec, libavfilter, etc.)
- Compatible with FFmpeg version 7.1.1
- libopus development libraries
- libvpx development libraries
- Compatible with libvpx version 1.15.0
Documentation
This package is part of the PHP WebRTC library. For complete documentation, examples, and API reference, visit:
Credits
Authors
-
Amin Yazdanpanah
- Website: aminyazdanpanah.com
- Email: github@aminyazdanpanah.com
-
Sana Moniri
- GtiHub: sanamoniri
Reporting Issues
Found a bug? Please report it on our issues.
License
BSD 3-Clause License. See LICENSE for details.