Skip to content

Latest commit

 

History

History
105 lines (75 loc) · 2.42 KB

README.md

File metadata and controls

105 lines (75 loc) · 2.42 KB

PHP client library for encoding videos with Coconut

Install

To install the Coconut PHP library, you need composer first:

curl -sS https://getcomposer.org/installer | php

Edit composer.json:

{
    "require": {
        "opencoconut/coconut": "2.*"
    }
}

Install the depencies by executing composer:

php composer.phar install

Submitting the job

Use the API Request Builder to generate a config file that match your specific workflow.

Example of coconut.conf:

var s3 = s3://accesskey:secretkey@mybucket

set webhook = http://mysite.com/webhook/coconut?videoID=$vid

-> mp4  = $s3/videos/video_$vid.mp4
-> webm = $s3/videos/video_$vid.webm
-> jpg:300x = $s3/previews/thumbs_#num#.jpg, number=3

Here is the PHP code to submit the config file:

<?php

$job = Coconut_Job::create(array(
  'api_key' => 'k-api-key',
  'conf' => 'coconut.conf',
  'source' => 'http://yoursite.com/media/video.mp4',
  'vars' => array('vid' => 1234)
));

if($job->{'status'} == 'ok') {
  echo $job->{'id'};
} else {
  echo $job->{'error_code'};
  echo $job->{'error_message'};
}

?>

You can also create a job without a config file. To do that you will need to give every settings in the method parameters. Here is the exact same job but without a config file:

<?php

$vid = 1234;
$s3 = 's3://accesskey:secretkey@mybucket';

$job = Coconut_Job::create(array(
  'api_key' => 'k-api-key',
  'source' => 'http://yoursite.com/media/video.mp4',
  'webhook' => 'http://mysite.com/webhook/coconut?videoId=' . $vid,
  'outputs' => array(
    'mp4' => $s3 . '/videos/video_' . $vid . '.mp4',
    'webm' => $s3 . '/videos/video_' . $vid . '.webm',
    'jpg:300x' => $s3 . '/previews/thumbs_#num#.jpg, number=3'
  )
));

?>

Note that you can use the environment variable COCONUT_API_KEY to set your API key.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Released under the MIT license.