danog/php-rtc-opus

Lazy libopus FFI bindings for PHP audio encoding and decoding. MadelineProto's PHP 8.2+ fork keeps FFI optional within the modular danog/php-rtc stack.

Maintainers

Package info

github.com/danog/php-rtc-opus

pkg:composer/danog/php-rtc-opus

Transparency log

Fund package maintenance!

php-webrtc

Statistics

Installs: 18

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1005 2026-08-25 17:57 UTC

This package is auto-updated.

Last update: 2026-08-25 18:48:36 UTC


README

PHP Version License

Deprecation Notice: This library will be replaced with the AV library in a future update.

A lightweight PHP wrapper for the libopus audio codec using PHP FFI.
This package provides encoder and decoder classes for working with raw PCM audio and the Opus format.

About this fork

This is the danog/php-rtc-opus fork used by MadelineProto. It targets PHP 8.2+, loads and publishes the libopus FFI binding lazily after validating the native library, and therefore does not require FFI merely to install the wider WebRTC stack.

All internal Composer dependencies use their danog/php-rtc-* package names directly, so installing a component selects the maintained danog packages throughout the dependency graph.

Features

  • Encode raw PCM audio to Opus format
  • Decode Opus-encoded audio back to PCM
  • Based on FFI bindings to the native libopus library
  • Compatible with multi-channel and variable sample rate audio

Requirements

  • PHP ≥ 8.2
  • FFI and libopus only when encoding or decoding audio
  • Linux environment (Windows/macOS support planned)

Documentation

This package is part of the PHP WebRTC library. For complete documentation, examples, and API reference, visit:

PHP WebRTC Documentation

Credits

Authors

Reporting Issues

Found a bug? Please report it on our issues.

License

BSD 3-Clause License. See LICENSE for details.