This library requires a minimum PHP version of 8.1
This is a PHP client library for the Vonage Video API. It extends the Vonage PHP library. To use this, you'll need a Vonage account. Sign up [for free at nexmo.com][signup].
To use the client library you'll need to have [created a Vonage account][signup].
To install the PHP client library to your project, we recommend using Composer.
composer require vonage/videoPLEASE NOTE that this package is not designed to be used as a standalone. It requires the
vonage/client-corepackage to work, but you might not have a PSR-11-compliant HTTP Client installed which is required for this. In order to get around this, installvonage/client-corefirst, thenvonage/video. This will cover all requirements of the package.
If you're new to Composer, here are some resources that you may find useful:
- Composer's Getting Started page from Composer project's documentation.
- A Beginner's Guide to Composer from the good people at ScotchBox.
If you're using Composer, make sure the autoloader is included in your project's bootstrap file:
require_once "vendor/autoload.php";Create a client with your Vonage application ID and private key:
use Vonage\Client;
use Vonage\Client\Credentials\Keypair;
use Vonage\Video\ClientFactory;
$credentials = new Keypair('private-key-string', 'application-id');
$client = new Client($credentials);
$vonageVideoClient = $client->video();For testing purposes you can change the API URL that the client makes requests to
from https://video.api.vonage.com to something else. To do this, pass the base_video_url option
when creating the Vonage client:
$credentials = new Keypair('private-key-string', 'application-id');
$options = ['base_video_url' => 'https://local-testing.video.example.com'];
$client = new Client($credentials. $options);$session = $client->video()->createSession();
echo $session->getSessionId();use Vonage\Video;
use Vonage\Video\Archive\ArchiveMode;
$session = $client->video()->createSession(new SessionOptions(['archiveMode' => ArchiveMode::ALWAYS]));
echo $session->getSessionId();$token = $client->video()->generateClientToken($session->getSessionId());The following is a list of Vonage Video APIs and whether the SDK provides support for them:
| API | Supported? |
|---|---|
| Session Creation | ✅ |
| Signaling | ✅ |
| Force Muting | ✅ |
| Archiving | ✅ |
| Custom S3/Azure buckets | ❌ |
| SIP Interconnect | ❌ |
| Live Streaming Broadcasts | ❌ |
| Experience Composer | ❌ |
| Account Management | ❌ |
