2017 © Pedro Peláez
 

library transcodebundle

Simple Amazon transcode bundle

image

coshi/transcodebundle

Simple Amazon transcode bundle

  • Wednesday, May 6, 2015
  • by kozog
  • Repository
  • 12 Watchers
  • 4 Stars
  • 0 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 1 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

CodeShushi's TranscodeBundle

TranscodeBundle - for symfony 2.6, (*1)

TranscodeBundle is designed to work with Amazon Elastic Transcoder, (*2)

Amazon Elastic Transcoder is media transcoding in the cloud. It is designed to be a highly scalable, easy to use and a cost effective way for developers and businesses to convert (or “transcode”) media files from their source format into versions that will playback on devices like smartphones, tablets and PCs., (*3)

Install

Add TranscodeBundle by running the command, (*4)

$ php composer.phar require codesushi/transcodebundle

Composer will install the bundle to your project's vendor/codesushi directory. You also need to install aws-sdk., (*5)

Configure

Add to your config.yml :, (*6)

coshi_transcode:
    media_class: #path to media class. Must to implement TranscodeableInterface
    aws_access_key_id: #access key
    aws_secret_key: #secret key
    aws_s3_videos_bucket: #bucket name
    aws_transcoder_videos_pipeline_id: #pipeline id
    aws_transcoder_videos_presets:
        generic: #generic presets
        iphone4: #iphone4 presets
    aws_transcoder_region: #region
    media_provider: #must to implement TranscodeableProviderInterface
        type: #repository or service
        name: #name of provider

Read more about pipeline and presets, (*7)

Usage

Example:, (*8)

$amazonVideo = $this->getContainer()->get('coshi.amazon_transcoder.transcoder');
$amazonVideo->setVideo($video); //$video can be a Media entity (TranscodeableProviderInterface) or a s3 key 
$s3Object = $amazonVideo->upload();
if (is_null($s3Object)) {
   //This video has been uploaded already!
} else {
   //Upload Finished!
}

$job = $amazonVideo->convert();

if (is_null($job)) {
   //This video has been queued for conversion already!
} else {
   //Transcoder job created! id: ' . $job['Job']['Id']
}

Instead of using a service in your code you can just to use ProcessVideosCommand for uploading and converting videos. Bundle also has its own type of events., (*9)

TODO

-tests, (*10)

The Versions