VIMANTRA PHP SDK Introduction
-
Upload
vimantra -
Category
Technology
-
view
3.052 -
download
1
Transcript of VIMANTRA PHP SDK Introduction
Cloud Video Platform -PHP API Introduction
Next 3 Slides may be skipped if you know what’s VIMANTRA
95% of Asian Video Streaming
Suffers fromDON’T SUPPORT MOBILE VIDEO, NOT ENOUGH BANDWIDTH, BUGGY VIDEO PLAYERS
Problem with WebTV
Infrastructure
Its Expensive
Technically Complex
- Global Content Delivery networks have high upfront costs- Video Transcoding to convert the video for multiple end user devices requires
expensive software and hardware infrastructure- Costly and lengthy development cycle to build players which work across devices.- High Capital Costs for video storage.
- As viewers become mobile across devices, new video encoding formats have to be handled
- Integration with ad exchanges to monetize your content requires complex integration
- your player has to be aware of the end users device before it requests an ad
VIMANTRA Solves
This Problem
Upload Your
Video to
Vimantra
Vimantra converts for
over 100+ devices and
stores your video.
Integrated with CDN with
presence in 140+ cities
across the world.
Vimantra’s Unique Embed
Codes and API have
automatic device
detection and CDN
integration. Play the right
format from the server
nearest to the viewer.
CLOUD ECOSYSTEM
IntegratedVimantra is integrated with popular file storage like Google
Drive, Dropbox , Amazon S3 and Box.com
WHERE CAN I GET THE API
www.vimantra.com Login/API -> Vimantra API
WHERE CAN I GET THE API –
DIRECT Links
Documentation
Tar File with PHP SDK
Tar File with PHP SDK and Test
Videos
http://fpc.vimantra.com/corp/VIMANTRA+PHP+SDK+-+3+Steps+to+Get+You+Started.pdf
http://fpc.vimantra.com/corp/sdkvimantra_php_1.0_lite.tar
http://fpc.vimantra.com/corp/sdkvimantra_php_1.0.tar
SETUP – Untar and Start
VIMANTRA KEY
CONFIG FILE
<?php
/****/// Vimantra access infoif (!defined('vimantraAccessKey'))
define('vimantraAccessKey',’YOUR-ACCESS-KEY’);if (!defined('vimantraToken'))
define('vimantraToken', 'YOUR-API-TOKEN');if (!defined('AWSKEY'))
define('AWSKEY', ‘YOUR-AWS-KEY');if (!defined('AWSSECRET'))
define('AWSSECRET', 'YOUR-AWS-SECRET');
?>
VIMANTRA TOKEN
AWS TOKEN
AWS SECRET
AWS KEY & AWS SECRET are required only if you are uploading videos from AmazonS3
cd sdkvimantra_php_1.0vi vimantra.config.php
VIMANTRA KEY & TOKEN
You can get your VIMANTRA Key & Token from VIMANTRA
Content Management Console. Its under Settings->My User
Profile.
API USE CASE
Upload Video to
Vimantra
Generate Embed
Code
Paste Embed Code on
your website.
It works across devices
globally.
VIMANTRA - Instance
…..if (!class_exists('vimantra'))
require_once '../vimantra.php';require_once '../vimantra.config.php';
// Instantiate the class$vim = new vimantra(vimantraAccessKey, vimantraToken);……
All sample code is under subdirectory samples
Instantiate vimantra
UPLOAD - From Desktop
Upload Video
File from PC
Sample Code File: vimantra.fileupload.php
……$data = array("displayname" => "SINTEL Trailer desktop video upload",
"file_contents" => '@./sintel480p.mp4',"actiontype" => "File-Upload");
$media_upload = $vim->fileUpload($data);echo "Vimantra::fileUpload(): " . print_r($media_upload) . "\n";….
UPLOAD - From AmazonS3
Upload Video
File from
AmazonS3
- Public
Access
Sample Code File: vimantra.uploads3public.php
……
$data = array(
"amazon_bucket" => "mybucket","amazon_directory_name" => "video/video2.mp4",
"displayname" => "Public post_" . time(),"actiontype" => "Upload-S3"
);
$media_upload = $vim->UploadS3($data);echo "\nVimantra::UploadS3(): " . print_r($media_upload) . "\n";
….
If your S3 file has granted read-only access for everyone then you don’t have to use the AWS KEY & SECRET
UPLOAD - From AmazonS3
Upload Video
File from
AmazonS3
- Private
Access
Sample Code File: vimantra.uploads3private.php
…..
$data = array("bucket_permission" => 'private',"amazon_aws_key" => AWSKEY,"amazon_aws_secretkey" => AWSSECRET,"amazon_bucket" => "myprivatebucket","amazon_directory_name" => "video/video.mp4",
"displayname" => "S3 Private Upload post_" . time(),"actiontype" => "Upload-S3");
$media_upload = $vim->UploadS3($data);…..
UNIQUE ID
Upload Video
File
Typical Result : You get a unique ID for your video
([responsetype] => media/postAction/File-Upload[status] => OK[session] => Array
([0] => Array
([account] => mycompany[ipAddress] => XXX.XXX.XXX.XXX[location] => Array
([countryCode] => XX[regionCode] => 00
)
[message] => File uploaded successfully.)
)
[Parentmediaid] => 0nApksHymX)
WHERE IS MY VIDEO ?
Whats
happening to
my video.
Sample Code File: vimantra.findmedia.php
…….
$parentid = "0nApksHymX";$media = $vim->findMedia($parentid);echo "Vimantra::findMedia(): " . print_r($media) . "\n";…….
DIRECT Access LinksVIMANTRA Converts Your Videos for ABR
Whats
happening to
my video.
Result: vimantra.findmedia.php[contents] => Array
([id] => 0nApksHymX[idtype] => parent[media] => Array
(
[parentmediaid] => 0nApksHymX[displayname] => SINTEL Trailer desktop video upload
……..(
[mediatype] => TRAILER[displayname] => SINTEL Trailer desktop video upload
……………………………………..)[Conversions] => Array
([tnoc] => 1[conversion] => Array
([0] => Array
(
[conversiontype] => Adaptive Bit Rate[convertedmediaid] => abr_0nApksHymX
[conversionstatus] => Ready[convertedon] => 2013-10-04 14:13:42
[hls] =>
http://hmc.vimantra.com/4/0MlorFc0La/abr/abr_0MlorFc0La.m3u8[hds] =>
http://smc.vimantra.com/4/0MlorFc0La/abr/abr_0MlorFc0La.f4m
GET EMBED CODE
Get Embed Code
- traditionalembed
- autoembed
- iframe
Sample Code: vimantra.getembedcode.php….$mid = "0nApksHymX";$playerid = "defaultSV";
$embedtype = "traditionalembed";
$embed_code = $vim->getEmbedCode($mid, $playerid, $embedtype);print_r(html_entity_decode($embed_code['contents']['embedCode'])) . "\n";…..
GET EMBED CODE
Result Embed Code
- traditionalembed
Result: vimantra.getembedcode.php
<script id="embedCode" class="embedCode" type="text/javascript" src="http://prod.vimantra.com/js/player/embedjs.js?traditionalembed=true&playerid=defaultSV&mid=0nApksHymX&tr="></script><a id="CT_defaultSV_0nApksHymX_1381304907" style="cursor:pointer;float:left;width:640;height:360;" class="player play_arrow" onclick="$vm('CT_defaultSV_0nApksHymX_1381304907' , 'SPLASH_defaultSV_0nApksHymX_1381304907', 'media')" ondblclick="$vm('CT_defaultSV_0nApksHymX_1381304907' , 'SPLASH_defaultSV_0nApksHymX_1381304907', 'media')"><img alt="" class="player play_arrow" id="SPLASH_defaultSV_0nApksHymX_1381304907" src="http://dmc.vimantra.com/vimantra/4/0nApksHymX/thumb/default_0nApksHymX.png?1381304907" width="640" height="360" onclick="$vm('CT_defaultSV_0nApksHymX_1381304907' , 'SPLASH_defaultSV_0nApksHymX_1381304907', 'media')" ondblclick="$vm('CT_defaultSV_0nApksHymX_1381304907' , 'SPLASH_defaultSV_0nApksHymX_1381304907', 'media')"></a>
BROADCAST
Embed in HTML
Broadcast from your site
Automatic Device Detection
<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>VIMANTRA Traditional Embed Code</title></head><body>
<script id="embedCode" class="embedCode" type="text/javascript" src="http://prod.vimantra.com/js/player/embedjs.js?traditionalembed=true&playerid=defaultSV&mid=0nApksHymX&tr="></script><a id="CT_defaultSV_0nApksHymX_1381304907" style="cursor:pointer;float:left;width:640;height:360;" class="player play_arrow" onclick="$vm('CT_defaultSV_0nApksHymX_1381304907' , 'SPLASH_defaultSV_0nApksHymX_1381304907', 'media')" ondblclick="$vm('CT_defaultSV_0nApksHymX_1381304907' , 'SPLASH_defaultSV_0nApksHymX_1381304907', 'media')"><imgalt="" class="player play_arrow" id="SPLASH_defaultSV_0nApksHymX_1381304907" src="http://dmc.vimantra.com/vimantra/4/0nApksHymX/thumb/default_0nApksHymX.png?1381304907" width="640" height="360" onclick="$vm('CT_defaultSV_0nApksHymX_1381304907' , 'SPLASH_defaultSV_0nApksHymX_1381304907', 'media')" ondblclick="$vm('CT_defaultSV_0nApksHymX_1381304907' , 'SPLASH_defaultSV_0nApksHymX_1381304907', 'media')"></a>
</body></html>
BROADCAST - PC FLASH
Adaptive Bit Rate
Embed in HTML
Broadcast from your site
Automatic Device Detection
- PC FLASH HDS Adaptive
Bit Rate
BROADCAST – iOS .m3u8
Adaptive Bit Rate
Embed in HTML
Broadcast from your site
Automatic Device Detection
- iOS .m3u8 Adaptive Bit
Rate
BROADCAST – Android
Embed in HTML
Broadcast from your site
Automatic Device Detection
- Android
BROADCAST - Ubuntu FLASH
Adaptive Bit Rate
Embed in HTML
Broadcast from your site
Automatic Device Detection
- Ubuntu FLASH HDS
Adaptive Bit Rate