Example #1
0
 /**
  * Return a VOD entry (sourceType = RECORDED_LIVE) based on the flavorAsset that is
  * associated with the given mediaInfo object
  * @param mediaInfo $mediaInfo
  * @return entry|null
  */
 public static function getVodEntryBasedOnMediaInfoFlavorAsset($mediaInfo)
 {
     if (!$mediaInfo instanceof mediaInfo) {
         return null;
     }
     $flavorAsset = $mediaInfo->getasset();
     if (!$flavorAsset || !$flavorAsset->hasTag(assetParams::TAG_RECORDING_ANCHOR)) {
         return null;
     }
     $vodEntry = $flavorAsset->getentry();
     if (!$vodEntry || $vodEntry->getSourceType() != EntrySourceType::RECORDED_LIVE) {
         return null;
     }
     return $vodEntry;
 }
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      mediaInfo $value A mediaInfo object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(mediaInfo $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getId();
         }
         // if key === null
         self::$instances[$key] = $obj;
     }
 }
 /**
  * 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;
 }
 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;
 }
Example #6
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;
 }
Example #7
0
 /**
  * batch addMediaInfo adds a media info and updates the flavor asset 
  * 
  * @param mediaInfo $mediaInfoDb  
  * @return mediaInfo 
  */
 public static function addMediaInfo(mediaInfo $mediaInfoDb)
 {
     $mediaInfoDb->save();
     KalturaLog::log("Added media info [" . $mediaInfoDb->getId() . "] for flavor asset [" . $mediaInfoDb->getFlavorAssetId() . "]");
     if (!$mediaInfoDb->getFlavorAssetId()) {
         return $mediaInfoDb;
     }
     $flavorAsset = assetPeer::retrieveById($mediaInfoDb->getFlavorAssetId());
     if (!$flavorAsset) {
         return $mediaInfoDb;
     }
     if ($flavorAsset->getIsOriginal()) {
         KalturaLog::log("Media info is for the original flavor asset");
         $tags = null;
         $profile = myPartnerUtils::getConversionProfile2ForEntry($flavorAsset->getEntryId());
         if ($profile) {
             $tags = $profile->getInputTagsMap();
         }
         KalturaLog::log("Flavor asset tags from profile [{$tags}]");
         if (!is_null($tags)) {
             $tagsArray = explode(',', $tags);
             // support for old migrated profiles
             if ($profile->getCreationMode() == conversionProfile2::CONVERSION_PROFILE_2_CREATION_MODE_AUTOMATIC_BYPASS_FLV) {
                 if (!KDLWrap::CDLIsFLV($mediaInfoDb)) {
                     $key = array_search(flavorParams::TAG_MBR, $tagsArray);
                     if ($key !== false) {
                         unset($tagsArray[$key]);
                     }
                 }
             }
             $finalTagsArray = KDLWrap::CDLMediaInfo2Tags($mediaInfoDb, $tagsArray);
             $finalTags = join(',', array_unique($finalTagsArray));
             KalturaLog::log("Flavor asset tags from KDL [{$finalTags}]");
             //KalturaLog::log("Flavor asset tags [".print_r($flavorAsset->setTags(),1)."]");
             $flavorAsset->addTags($finalTagsArray);
         }
     } else {
         KalturaLog::log("Media info is for the destination flavor asset");
         $tags = null;
         $flavorParams = assetParamsPeer::retrieveByPK($flavorAsset->getFlavorParamsId());
         if ($flavorParams) {
             $tags = $flavorParams->getTags();
         }
         KalturaLog::log("Flavor asset tags from flavor params [{$tags}]");
         if (!is_null($tags)) {
             $tagsArray = explode(',', $tags);
             $assetTagsArray = $flavorAsset->getTagsArray();
             foreach ($assetTagsArray as $tag) {
                 $tagsArray[] = $tag;
             }
             $maxMbrBitrate = 8000;
             if (kConf::hasParam('max_mbr_flavor_bitrate')) {
                 $maxMbrBitrate = kConf::get('max_mbr_flavor_bitrate');
             }
             if ($mediaInfoDb->getContainerBitRate() >= $maxMbrBitrate) {
                 $tagsArray = array_unique($tagsArray);
                 $key = array_search(flavorParams::TAG_MBR, $tagsArray);
                 if ($key !== false) {
                     unset($tagsArray[$key]);
                 }
             }
             $finalTagsArray = $tagsArray;
             //				bypass, KDLWrap::CDLMediaInfo2Tags doesn't support destination flavors and mobile tags
             //				$finalTagsArray = KDLWrap::CDLMediaInfo2Tags($mediaInfoDb, $tagsArray);
             $finalTags = join(',', array_unique($finalTagsArray));
             KalturaLog::log("Flavor asset tags from KDL [{$finalTags}]");
             $flavorAsset->setTags($finalTags);
         }
     }
     KalturaLog::log("KDLWrap::ConvertMediainfoCdl2FlavorAsset(" . $mediaInfoDb->getId() . ", " . $flavorAsset->getId() . ");");
     KDLWrap::ConvertMediainfoCdl2FlavorAsset($mediaInfoDb, $flavorAsset);
     $flavorAsset->save();
     //		if(!$flavorAsset->hasTag(flavorParams::TAG_MBR))
     //			return $mediaInfoDb;
     $entry = entryPeer::retrieveByPK($flavorAsset->getEntryId());
     if (!$entry) {
         return $mediaInfoDb;
     }
     $contentDuration = $mediaInfoDb->getContainerDuration();
     if (!$contentDuration) {
         $contentDuration = $mediaInfoDb->getVideoDuration();
         if (!$contentDuration) {
             $contentDuration = $mediaInfoDb->getAudioDuration();
         }
     }
     if ($contentDuration && $entry->getCalculateDuration()) {
         $entry->setLengthInMsecs($contentDuration);
     }
     if ($mediaInfoDb->getVideoWidth() && $mediaInfoDb->getVideoHeight()) {
         $entry->setDimensionsIfBigger($mediaInfoDb->getVideoWidth(), $mediaInfoDb->getVideoHeight());
     }
     $entry->save();
     return $mediaInfoDb;
 }
Example #8
0
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      mediaInfo $value A mediaInfo object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(mediaInfo $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getId();
         }
         if (isset(self::$instances[$key]) || count(self::$instances) < kConf::get('max_num_instances_in_pool')) {
             self::$instances[$key] = $obj;
             kMemoryManager::registerPeer('mediaInfoPeer');
         }
     }
 }
Example #9
0
 /**
  * batch addMediaInfo adds a media info and updates the flavor asset 
  * 
  * @param mediaInfo $mediaInfoDb  
  * @return mediaInfo 
  */
 public static function addMediaInfo(mediaInfo $mediaInfoDb)
 {
     $mediaInfoDb->save();
     KalturaLog::log("Added media info [" . $mediaInfoDb->getId() . "] for flavor asset [" . $mediaInfoDb->getFlavorAssetId() . "]");
     if (!$mediaInfoDb->getFlavorAssetId()) {
         return $mediaInfoDb;
     }
     $flavorAsset = flavorAssetPeer::retrieveById($mediaInfoDb->getFlavorAssetId());
     if (!$flavorAsset) {
         return $mediaInfoDb;
     }
     if ($flavorAsset->getIsOriginal()) {
         KalturaLog::log("Media info is for the original flavor asset");
         $tags = null;
         $profile = myPartnerUtils::getConversionProfile2ForEntry($flavorAsset->getEntryId());
         if ($profile) {
             $tags = $profile->getInputTagsMap();
         }
         KalturaLog::log("Flavor asset tags from profile [{$tags}]");
         if (!is_null($tags)) {
             $tagsArray = explode(',', $tags);
             // support for old migrated profiles
             if ($profile->getCreationMode() == conversionProfile2::CONVERSION_PROFILE_2_CREATION_MODE_AUTOMATIC_BYPASS_FLV) {
                 if (!KDLWrap::CDLIsFLV($mediaInfoDb)) {
                     $key = array_search(flavorParams::TAG_MBR, $tagsArray);
                     unset($tagsArray[$key]);
                 }
             }
             $finalTagsArray = KDLWrap::CDLMediaInfo2Tags($mediaInfoDb, $tagsArray);
             $finalTags = join(',', $finalTagsArray);
             KalturaLog::log("Flavor asset tags from KDL [{$finalTags}]");
             $flavorAsset->setTags($finalTags);
         }
     }
     KalturaLog::log("KDLWrap::ConvertMediainfoCdl2FlavorAsset(" . $mediaInfoDb->getId() . ", " . $flavorAsset->getId() . ");");
     KDLWrap::ConvertMediainfoCdl2FlavorAsset($mediaInfoDb, $flavorAsset);
     $flavorAsset->save();
     //		if(!$flavorAsset->hasTag(flavorParams::TAG_MBR))
     //			return $mediaInfoDb;
     $entry = entryPeer::retrieveByPK($flavorAsset->getEntryId());
     if (!$entry) {
         return $mediaInfoDb;
     }
     $contentDuration = $mediaInfoDb->getContainerDuration();
     if (!$contentDuration) {
         $contentDuration = $mediaInfoDb->getVideoDuration();
         if (!$contentDuration) {
             $contentDuration = $mediaInfoDb->getAudioDuration();
         }
     }
     $entry->setLengthInMsecs($contentDuration);
     if ($mediaInfoDb->getVideoWidth() && $mediaInfoDb->getVideoHeight()) {
         $entry->setDimensions($mediaInfoDb->getVideoWidth(), $mediaInfoDb->getVideoHeight());
     }
     $entry->save();
     return $mediaInfoDb;
 }
function runWrapperTest($contentDir, $patern)
{
    echo "<br>\n";
    $kdlSrcMedSet = getMediasetFromFile("{$contentDir}\\{$patern}");
    $cdlSrcMedInf = new mediaInfo();
    $cdlSrcMedInf->LoadFromMediaset($kdlSrcMedSet);
    $cdlFlavors[] = new flavorParams();
    $cdlFlavors[0]->simulate(KDLContainerTarget::MP4, KDLVideoTarget::H264B, 0, 352, 2500, KDLAudioTarget::AAC, 96, 22050, "2,3");
    $cdlTargets;
    $cdlTargets = KDLWrap::CDLGenerateTargetFlavors($cdlSrcMedInf, $cdlFlavors);
    $cmdLine = KDLWrap::CDLProceessFlavorsForCollection($cdlTargets->_targetList);
    if ($cdlTargets->_targetList[0]->engine_version == 0) {
        $cmdLine = $cdlTargets->_targetList[0]->command_lines;
    } else {
        $cmdLine = $cdlTargets->_targetList[0]->operators;
        $oprSets = new kOperatorSets();
        //		$operators = stripslashes($operators);
        //kLog::log(__METHOD__."\ncdlOperators(stripslsh)==>\n".print_r($operators,true));
        $oprSets->setSerialized($cdlTargets->_targetList[0]->operators);
        $oprArr = $oprSets->getSets();
        $cmdLine = $oprArr[0][0]->command;
    }
    $outFile = "aaa111.mpg";
    $exec_cmd = str_replace(array(KDLCmdlinePlaceholders::InFileName, KDLCmdlinePlaceholders::OutFileName, KDLCmdlinePlaceholders::ConfigFileName), array("{$contentDir}\\{$patern}", $outFile, "mko"), $cmdLine);
    /*
    $xmlFileName = "k:\\pre.xml";
    		$fHd = fopen($xmlFileName, "w");
    		fwrite($fHd,$exec_cmd);
    		fclose($fHd);
    		//c:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -file C:\opt\kaltura\app\batch\batches\Convert\scripts\runee3.ps1 C:\expressionencoder\ExpressionEncoder.dll W:\/content/entry/data/29/399/0_0bybp8ez_0_t75dk08i_1.mov C:\opt\kaltura\tmp\convert\convert_0_0bybp8ez_4c24801bbb92f.xml >> "C:\opt\kaltura\tmp\convert\0_0bybp8ez_0_2.log" 2>&1
    		$fHd = fopen("k:\\run.bat", "w");
    		fwrite($fHd,"c:\\Windows\\SysWOW64\\WindowsPowerShell\\v1.0\\powershell.exe -file K:\\opt\\kaltura\\app\\batch\\batches\\Convert\\scripts\\runee3.ps1 C:\\expressionencoder\\ExpressionEncoder.dll $contentDir\\$patern $xmlFileName\npause");
    		fclose($fHd);
    */
    echo "1<br>\n";
    echo $exec_cmd;
    //		exec("ffmpeg ".$exec_cmd);
    if (!file_exists($outFile) || kFile::fileSize($outFile) == 0) {
        kLog::log("\nFailed");
    } else {
        kLog::log("\nSucceeded, Filesize:" . kFile::fileSize($outFile));
    }
    //		$cdlAsset = new flavorAsset;
    //		KDLWrap::ConvertMediainfoCdl2FlavorAsset($cdlMedInf, $cdlAsset);
    $cdlMedInf = new mediaInfo();
    $kdlMedSet = getMediasetFromFile("{$outFile}");
    $cdlMedInf->LoadFromMediaset($kdlMedSet);
    kLog::log("\npre CDLValidateProduct\n");
    KDLWrap::CDLValidateProduct($cdlSrclMedInf, $cdlTargets->_targetList[0], $cdlMedInf);
    //		print_r($kdlFlavor);
    return;
}