vonage/video

Client package for the Vonage Video API Server operations

1.0.2 2024-01-12 11:46 UTC

This package is auto-updated.

Last update: 2024-04-15 12:03:11 UTC


README

Contributor Covenant Build Status Latest Stable Version License codecov

The Vonage logo

This library requires a minimum PHP version of 8.0

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

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

Generating a Client Token

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

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