VIMANTRA PHP SDK Introduction

25
Cloud Video Platform - PHP API Introduction

Transcript of VIMANTRA PHP SDK Introduction

Page 1: VIMANTRA PHP  SDK Introduction

Cloud Video Platform -PHP API Introduction

Page 2: VIMANTRA PHP  SDK Introduction

Next 3 Slides may be skipped if you know what’s VIMANTRA

Page 3: VIMANTRA PHP  SDK Introduction

95% of Asian Video Streaming

Suffers fromDON’T SUPPORT MOBILE VIDEO, NOT ENOUGH BANDWIDTH, BUGGY VIDEO PLAYERS

Page 4: VIMANTRA PHP  SDK Introduction

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

Page 5: VIMANTRA PHP  SDK Introduction

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.

Page 6: VIMANTRA PHP  SDK Introduction

CLOUD ECOSYSTEM

IntegratedVimantra is integrated with popular file storage like Google

Drive, Dropbox , Amazon S3 and Box.com

Page 7: VIMANTRA PHP  SDK Introduction

WHERE CAN I GET THE API

www.vimantra.com Login/API -> Vimantra API

Page 8: VIMANTRA PHP  SDK Introduction

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

Page 9: VIMANTRA PHP  SDK Introduction

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

Page 10: VIMANTRA PHP  SDK Introduction

VIMANTRA KEY & TOKEN

You can get your VIMANTRA Key & Token from VIMANTRA

Content Management Console. Its under Settings->My User

Profile.

Page 11: VIMANTRA PHP  SDK Introduction

API USE CASE

Upload Video to

Vimantra

Generate Embed

Code

Paste Embed Code on

your website.

It works across devices

globally.

Page 12: VIMANTRA PHP  SDK Introduction

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

Page 13: VIMANTRA PHP  SDK Introduction

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";….

Page 14: VIMANTRA PHP  SDK Introduction

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

Page 15: VIMANTRA PHP  SDK Introduction

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

Page 16: VIMANTRA PHP  SDK Introduction

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)

Page 17: VIMANTRA PHP  SDK Introduction

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";…….

Page 18: VIMANTRA PHP  SDK Introduction

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

Page 19: VIMANTRA PHP  SDK Introduction

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";…..

Page 20: VIMANTRA PHP  SDK Introduction

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(&#039;CT_defaultSV_0nApksHymX_1381304907&#039; , &#039;SPLASH_defaultSV_0nApksHymX_1381304907&#039;, &#039;media&#039;)" ondblclick="$vm(&#039;CT_defaultSV_0nApksHymX_1381304907&#039; , &#039;SPLASH_defaultSV_0nApksHymX_1381304907&#039;, &#039;media&#039;)"><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(&#039;CT_defaultSV_0nApksHymX_1381304907&#039; , &#039;SPLASH_defaultSV_0nApksHymX_1381304907&#039;, &#039;media&#039;)" ondblclick="$vm(&#039;CT_defaultSV_0nApksHymX_1381304907&#039; , &#039;SPLASH_defaultSV_0nApksHymX_1381304907&#039;, &#039;media&#039;)"></a>

Page 21: VIMANTRA PHP  SDK Introduction

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(&#039;CT_defaultSV_0nApksHymX_1381304907&#039; , &#039;SPLASH_defaultSV_0nApksHymX_1381304907&#039;, &#039;media&#039;)" ondblclick="$vm(&#039;CT_defaultSV_0nApksHymX_1381304907&#039; , &#039;SPLASH_defaultSV_0nApksHymX_1381304907&#039;, &#039;media&#039;)"><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(&#039;CT_defaultSV_0nApksHymX_1381304907&#039; , &#039;SPLASH_defaultSV_0nApksHymX_1381304907&#039;, &#039;media&#039;)" ondblclick="$vm(&#039;CT_defaultSV_0nApksHymX_1381304907&#039; , &#039;SPLASH_defaultSV_0nApksHymX_1381304907&#039;, &#039;media&#039;)"></a>

</body></html>

Page 22: VIMANTRA PHP  SDK Introduction

BROADCAST - PC FLASH

Adaptive Bit Rate

Embed in HTML

Broadcast from your site

Automatic Device Detection

- PC FLASH HDS Adaptive

Bit Rate

Page 23: VIMANTRA PHP  SDK Introduction

BROADCAST – iOS .m3u8

Adaptive Bit Rate

Embed in HTML

Broadcast from your site

Automatic Device Detection

- iOS .m3u8 Adaptive Bit

Rate

Page 24: VIMANTRA PHP  SDK Introduction

BROADCAST – Android

Embed in HTML

Broadcast from your site

Automatic Device Detection

- Android

Page 25: VIMANTRA PHP  SDK Introduction

BROADCAST - Ubuntu FLASH

Adaptive Bit Rate

Embed in HTML

Broadcast from your site

Automatic Device Detection

- Ubuntu FLASH HDS

Adaptive Bit Rate