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/video
PLEASE NOTE that this package is not designed to be used as a standalone. It requires the
vonage/client-core
package 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-core
first, 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 | ❌ |