/**
  * validateThumbAndMediaInfo validate and manipulate a thumbnail params according to the given media info
  * 
  * @param thumbParams $thumbParams
  * @param mediaInfo $mediaInfo
  * @param string $errDescription
  * @return thumbParamsOutput or null for fail
  */
 protected static function validateThumbAndMediaInfo(thumbParams $thumbParams, mediaInfo $mediaInfo = null, &$errDescription)
 {
     $thumbParamsOutput = new thumbParamsOutput();
     $thumbParamsOutput->setFlavorParamsId($thumbParams->getId());
     $thumbParamsOutput->setFlavorParamsVersion($thumbParams->getVersion());
     $thumbParamsOutput->setName($thumbParams->getName());
     $thumbParamsOutput->setTags($thumbParams->getTags());
     $thumbParamsOutput->setDescription($thumbParams->getDescription());
     $thumbParamsOutput->setReadyBehavior($thumbParams->getReadyBehavior());
     $thumbParamsOutput->setFormat($thumbParams->getFormat());
     $thumbParamsOutput->setWidth($thumbParams->getWidth());
     $thumbParamsOutput->setHeight($thumbParams->getHeight());
     $thumbParamsOutput->setConversionEngines($thumbParams->getConversionEngines());
     $thumbParamsOutput->setConversionEnginesExtraParams($thumbParams->getConversionEnginesExtraParams());
     $thumbParamsOutput->setOperators($thumbParams->getOperators());
     $thumbParamsOutput->setEngineVersion($thumbParams->getEngineVersion());
     $thumbParamsOutput->setFileExt('jpg');
     $thumbParamsOutput->setCropType($thumbParams->getCropType());
     $thumbParamsOutput->setQuality($thumbParams->getQuality());
     $thumbParamsOutput->setCropX($thumbParams->getCropX());
     $thumbParamsOutput->setCropY($thumbParams->getCropY());
     $thumbParamsOutput->setCropWidth($thumbParams->getCropWidth());
     $thumbParamsOutput->setCropHeight($thumbParams->getCropHeight());
     $thumbParamsOutput->setCropProvider($thumbParams->getCropProvider());
     $thumbParamsOutput->setCropProviderData($thumbParams->getCropProviderData());
     $thumbParamsOutput->setVideoOffset($thumbParams->getVideoOffset());
     $thumbParamsOutput->setWidth($thumbParams->getWidth());
     $thumbParamsOutput->setHeight($thumbParams->getHeight());
     $thumbParamsOutput->setScaleWidth($thumbParams->getScaleWidth());
     $thumbParamsOutput->setScaleHeight($thumbParams->getScaleHeight());
     $thumbParamsOutput->setBackgroundColor($thumbParams->getBackgroundColor());
     if ($mediaInfo) {
         if ($thumbParamsOutput->getVideoOffset() && $mediaInfo->getVideoDuration()) {
             $videoDurationSec = floor($mediaInfo->getVideoDuration() / 1000);
             if ($thumbParamsOutput->getVideoOffset() > $videoDurationSec) {
                 $thumbParamsOutput->setVideoOffset($videoDurationSec);
             }
         }
     }
     return $thumbParamsOutput;
 }
 /**
  * validateThumbAndMediaInfo validate and manipulate a thumbnail params according to the given media info
  *
  * @param thumbParams $thumbParams
  * @param mediaInfo $mediaInfo
  * @param string $errDescription
  * @return thumbParamsOutput or null for fail
  */
 protected static function validateThumbAndMediaInfo(thumbParams $thumbParams, mediaInfo $mediaInfo = null, &$errDescription, $srcAsset = null)
 {
     $thumbParamsOutput = new thumbParamsOutput();
     $thumbParamsOutput->setFlavorParamsId($thumbParams->getId());
     $thumbParamsOutput->setFlavorParamsVersion($thumbParams->getVersion());
     $thumbParamsOutput->setName($thumbParams->getName());
     $thumbParamsOutput->setTags($thumbParams->getTags());
     $thumbParamsOutput->setDescription($thumbParams->getDescription());
     $thumbParamsOutput->setReadyBehavior($thumbParams->getReadyBehavior());
     $thumbParamsOutput->setFormat($thumbParams->getFormat());
     $thumbParamsOutput->setWidth($thumbParams->getWidth());
     $thumbParamsOutput->setHeight($thumbParams->getHeight());
     $thumbParamsOutput->setConversionEngines($thumbParams->getConversionEngines());
     $thumbParamsOutput->setConversionEnginesExtraParams($thumbParams->getConversionEnginesExtraParams());
     $thumbParamsOutput->setOperators($thumbParams->getOperators());
     $thumbParamsOutput->setEngineVersion($thumbParams->getEngineVersion());
     $extensionTypes = kConf::hasParam('image_file_ext') ? kConf::get('image_file_ext') : array();
     $ext = null;
     if ($srcAsset) {
         $ext = $srcAsset->getFileExt();
     }
     if (!is_null($ext) && in_array($ext, $extensionTypes)) {
         $thumbParamsOutput->setFileExt($ext);
     } else {
         $thumbParamsOutput->setFileExt('jpg');
     }
     $thumbParamsOutput->setRotate($mediaInfo ? $mediaInfo->getVideoRotation() : null);
     $thumbParamsOutput->setCropType($thumbParams->getCropType());
     $thumbParamsOutput->setQuality($thumbParams->getQuality());
     $thumbParamsOutput->setCropX($thumbParams->getCropX());
     $thumbParamsOutput->setCropY($thumbParams->getCropY());
     $thumbParamsOutput->setCropWidth($thumbParams->getCropWidth());
     $thumbParamsOutput->setCropHeight($thumbParams->getCropHeight());
     $thumbParamsOutput->setCropProvider($thumbParams->getCropProvider());
     $thumbParamsOutput->setCropProviderData($thumbParams->getCropProviderData());
     $thumbParamsOutput->setVideoOffset($thumbParams->getVideoOffset());
     $thumbParamsOutput->setWidth($thumbParams->getWidth());
     $thumbParamsOutput->setHeight($thumbParams->getHeight());
     $thumbParamsOutput->setScaleWidth($thumbParams->getScaleWidth());
     $thumbParamsOutput->setScaleHeight($thumbParams->getScaleHeight());
     $thumbParamsOutput->setBackgroundColor($thumbParams->getBackgroundColor());
     if ($mediaInfo && $mediaInfo->getVideoDuration()) {
         $videoDurationSec = floor($mediaInfo->getVideoDuration() / 1000);
         if ($thumbParamsOutput->getVideoOffset()) {
             if ($thumbParamsOutput->getVideoOffset() > $videoDurationSec) {
                 $thumbParamsOutput->setVideoOffset($videoDurationSec);
             }
         } elseif (!is_null($thumbParams->getVideoOffsetInPercentage())) {
             $percentage = $thumbParams->getVideoOffsetInPercentage() / 100;
             $thumbParamsOutput->setVideoOffset(floor($videoDurationSec * $percentage));
         }
     }
     return $thumbParamsOutput;
 }
 public static function ConvertMediainfoCdl2Mediadataset(mediaInfo $cdlMediaInfo, KDLMediaDataSet &$medSet)
 {
     //		KalturaLog::log(__METHOD__."->".$cdlMediaInfo->getRawData());
     $medSet->_container = new KDLContainerData();
     $medSet->_streamsCollectionStr = $cdlMediaInfo->getMultiStreamInfo();
     $medSet->_container->_id = $cdlMediaInfo->getContainerId();
     $medSet->_container->_format = $cdlMediaInfo->getContainerFormat();
     $medSet->_container->_duration = $cdlMediaInfo->getContainerDuration();
     $medSet->_container->_bitRate = $cdlMediaInfo->getContainerBitRate();
     $medSet->_container->_fileSize = $cdlMediaInfo->getFileSize();
     if ($medSet->_container->IsDataSet() == false) {
         $medSet->_container = null;
     }
     $medSet->_video = new KDLVideoData();
     $medSet->_video->_id = $cdlMediaInfo->getVideoCodecId();
     $medSet->_video->_format = $cdlMediaInfo->getVideoFormat();
     $medSet->_video->_duration = $cdlMediaInfo->getVideoDuration();
     $medSet->_video->_bitRate = $cdlMediaInfo->getVideoBitRate();
     $medSet->_video->_width = $cdlMediaInfo->getVideoWidth();
     $medSet->_video->_height = $cdlMediaInfo->getVideoHeight();
     $medSet->_video->_frameRate = $cdlMediaInfo->getVideoFrameRate();
     $medSet->_video->_dar = $cdlMediaInfo->getVideoDar();
     $medSet->_video->_rotation = $cdlMediaInfo->getVideoRotation();
     $medSet->_video->_scanType = $cdlMediaInfo->getScanType();
     /*		{
     				$medLoader = new KDLMediaInfoLoader($cdlMediaInfo->getRawData());
     				$md = new KDLMediadataset();
     				$medLoader->Load($md);
     				if($md->_video)
     					$medSet->_video->_scanType = $md->_video->_scanType;
     		}
     */
     if ($medSet->_video->IsDataSet() == false) {
         $medSet->_video = null;
     }
     $medSet->_audio = new KDLAudioData();
     $medSet->_audio->_id = $cdlMediaInfo->getAudioCodecId();
     $medSet->_audio->_format = $cdlMediaInfo->getAudioFormat();
     $medSet->_audio->_duration = $cdlMediaInfo->getAudioDuration();
     $medSet->_audio->_bitRate = $cdlMediaInfo->getAudioBitRate();
     $medSet->_audio->_channels = $cdlMediaInfo->getAudioChannels();
     $medSet->_audio->_sampleRate = $cdlMediaInfo->getAudioSamplingRate();
     $medSet->_audio->_resolution = $cdlMediaInfo->getAudioResolution();
     if ($medSet->_audio->IsDataSet() == false) {
         $medSet->_audio = null;
     }
     return $medSet;
 }
Beispiel #4
0
 public static function ConvertMediainfoCdl2Mediadataset(mediaInfo $cdlMediaInfo, KDLMediaDataSet &$medSet)
 {
     $medSet->_container = new KDLContainerData();
     /**/
     $contentStreams = $cdlMediaInfo->getContentStreams();
     if (isset($contentStreams)) {
         if (is_string($contentStreams)) {
             $fromJson = json_decode($contentStreams);
             $medSet->_contentStreams = isset($fromJson) ? $fromJson : null;
         } else {
             $medSet->_contentStreams = $contentStreams;
         }
     }
     $medSet->_container->_id = $cdlMediaInfo->getContainerId();
     $medSet->_container->_format = $cdlMediaInfo->getContainerFormat();
     $medSet->_container->_duration = $cdlMediaInfo->getContainerDuration();
     $medSet->_container->_bitRate = $cdlMediaInfo->getContainerBitRate();
     $medSet->_container->_fileSize = $cdlMediaInfo->getFileSize();
     $medSet->_container->_isFastStart = $cdlMediaInfo->getIsFastStart();
     if ($medSet->_container->IsDataSet() == false) {
         $medSet->_container = null;
     }
     $medSet->_video = new KDLVideoData();
     $medSet->_video->_id = $cdlMediaInfo->getVideoCodecId();
     $medSet->_video->_format = $cdlMediaInfo->getVideoFormat();
     $medSet->_video->_duration = $cdlMediaInfo->getVideoDuration();
     $medSet->_video->_bitRate = $cdlMediaInfo->getVideoBitRate();
     $medSet->_video->_width = $cdlMediaInfo->getVideoWidth();
     $medSet->_video->_height = $cdlMediaInfo->getVideoHeight();
     $medSet->_video->_frameRate = $cdlMediaInfo->getVideoFrameRate();
     $medSet->_video->_dar = $cdlMediaInfo->getVideoDar();
     $medSet->_video->_rotation = $cdlMediaInfo->getVideoRotation();
     $medSet->_video->_scanType = $cdlMediaInfo->getScanType();
     /*		{
     				$medLoader = new KDLMediaInfoLoader($cdlMediaInfo->getRawData());
     				$md = new KDLMediadataset();
     				$medLoader->Load($md);
     				if($md->_video)
     					$medSet->_video->_scanType = $md->_video->_scanType;
     		}
     */
     if ($medSet->_video->IsDataSet() == false) {
         $medSet->_video = null;
     }
     $medSet->_audio = new KDLAudioData();
     $medSet->_audio->_id = $cdlMediaInfo->getAudioCodecId();
     $medSet->_audio->_format = $cdlMediaInfo->getAudioFormat();
     $medSet->_audio->_duration = $cdlMediaInfo->getAudioDuration();
     $medSet->_audio->_bitRate = $cdlMediaInfo->getAudioBitRate();
     $medSet->_audio->_channels = $cdlMediaInfo->getAudioChannels();
     $medSet->_audio->_sampleRate = $cdlMediaInfo->getAudioSamplingRate();
     $medSet->_audio->_resolution = $cdlMediaInfo->getAudioResolution();
     if ($medSet->_audio->IsDataSet() == false) {
         $medSet->_audio = null;
     }
     return $medSet;
 }