PHP code example of meysamhashemi / vod-client-sdk
1. Go to this page and download the library: Download meysamhashemi/vod-client-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
meysamhashemi / vod-client-sdk example snippets
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*/
public function boot()
{
}
/**
* Register any application services.
*/
public function register()
{
$this->app->bind('arvan-vod-sdk', function ($app) {
return VodSdk::setToken('Apikey xxxxxxxxxxxx');
});
}
}
// SomeController.php
$vodSdk = app('arvan-vod-sdk');
**
* UserDomain:
* There are only two end points for userDomains (create and show).
* please be informed that, create action is only available for just one time and if a user wants to change
* their userDomain, they need to cantact to Arvan support.
*/
// POST
$userDomain = $vodkSdk->userDomain();
$createdDomain = $userDomain->createDomain(['subdomain' => 'whatever']);
// GET
$getUserDomain = $userDomain->getDomain();
**
* in order to create a channel create method is available which accepts and array as the sample in below
*/
// Post
$channel = $vodSdk->channel();
$newChannel = $channel-> create([
'title' => 'string',
'description' => 'string',
'secure_link_enabled' => false,
'secure_link_key' => 'string',
'secure_link_with_ip' => true,
'ads_enabled' => false,
'present_type' => 'auto',
'campaign_id' => 'string'
]);
// GET (all channels)
$allChannels = $channel->showAll();
// GET (get specific channhel by id)
$channelDetails = $channel->show('********-****-****-****-********')
// PATCH (update a channel)
$updatedChannel = $channel->update('5c6b18de-9763-423f-8d3e-f2e84e93c9d5', [
'title' => 'whatever from sdk'
]);
// DELETE (delete a channel)
$channel->update('********-****-****-****-********');
// GET (get the whole channel files)
$channelId = 'xxxx-xxxx-xxxx-xxxx';
$file = $vodSdk->file();
$allChannelFiles = $file->showAll($channelId) // channel ID must be set as a string
$music = storage_path('music.mp3');
$storageUrl = $file->createStorage($channelId, $music);
**
* response will be file id and URL, URL can be used to get file offset
* in order to findout whether the file is completely uploaded or not.
*/
$uploadedFile = $file->upload($storageUrl);
// HEAD (Uploaded file url is
$channelId = 'xxxx-xxxx-xxxx-xxxx';
$fileId = 'xxxx-xxxx-xxxx-xxxx';
$video = $file->video();
// GET (get the whole channel videos)
$allChannelVideos = $video->showAll($channelId);
// GET (get specific video by ID)
$getVideo = $video->showAll('********-****-****-****-********'); //VideoId
// POST (convert an uploaded file / upload with an address (URL)
$newVideo = $video->create([
[
'title' => 'string',
'description' => 'string',
'video_url' => 'string', // should be null or removed if file_id is exist
'file_id' => 'string',
'convert_mode' => 'auto/manual/profile',
'profile_id' => 'string',
'parallel_convert' => false,
'thumbnail_time' => 0,
'watermark_id' => 'string',
'watermark_area' => 'CENTER', // ');
// GET (get all channel watermarks)
$channelId = 'xxxx-xxxx-xxxx-xxxx';
$watermark = $vodSdk->watermark();
$allChannelWarermark = $watermark->showAll($channelId) // channel ID must be set as a string
// GET (get specific watermkark)
$getWatermark = $watermark->showAll('********-****-****-****-********'); //WatermarkId
// Post
$newWatermark = $watermark->create([
'title' => 'test',
'description' => 'dasdas',
'watermark' => storage_path('1.jpg')
], 'channel_id');
// PATCH
$updatedWatermark = $watermark->update([
'title' => 'new Name',
'description' => 'updated description'
]);
// DELETE (by watermark ID)
$watermark->delete('********-****-****-****-********'); //WatermarkId
$subtitle = $vodSdk->subtitle();
// GET (get all video subtitles)
$videoSubtitles = $subtitle->showAll('********-****-****-****-********'); //VideoId
// GET (get specific subtitle)
$subtitle = $subtitle->show('********-****-****-****-********'); //SubtitleId
// POST (create a subtitle)
$newSubtitle = $subtitle->create([
'lang' => 'en',
'subtitle' => storage_path('test.vtt')
], '********-****-****-****-********'); //VideoId
// DELETE
$subtitle->delete('********-****-****-****-********'); //SubtitleId