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; }
/** * 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; }
/** * 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->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) { if ($thumbParamsOutput->getVideoOffset() && $mediaInfo->getVideoDuration()) { $videoDurationSec = floor($mediaInfo->getVideoDuration() / 1000); if ($thumbParamsOutput->getVideoOffset() > $videoDurationSec) { $thumbParamsOutput->setVideoOffset($videoDurationSec); } } } return $thumbParamsOutput; }
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; }