Skip to content

Vonage/vonage-php-sdk-video

Vonage PHP SDK for Video

Contributor Covenant Build Status Latest Stable Version License codecov

The Vonage logo

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].

Installation


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, install vonage/client-core first, then vonage/video. This will cover all requirements of the package.

If you're new to Composer, here are some resources that you may find useful:

Usage

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);

Examples

Creating a new Session

$session = $client->video()->createSession();
echo $session->getSessionId();

Create a new session with an Archive

use Vonage\Video;
use Vonage\Video\Archive\ArchiveMode;

$session = $client->video()->createSession(new SessionOptions(['archiveMode' => ArchiveMode::ALWAYS]));
echo $session->getSessionId();

Generating a Client Token

$token = $client->video()->generateClientToken($session->getSessionId());

Supported APIs

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

About

Vonage Video SDK for PHP

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 6

Languages