function doIt($clientObj, $mixFileName, $aviDemuxScp) { kLog::Log($mixFileName); $xml = simplexml_load_file(realpath($mixFileName)); // print_r($xml); $jnDataArr = array(); foreach ($xml->VideoAssets->vidAsset as $vidAsset) { $jnData = new JoinEntityData(); $attr = $vidAsset->attributes(); $jnData->_entryId = (string) $attr[k_id]; // $entryId = $eId[0]; // print_r($entryId); // $attr = $vidAsset->StreamInfo->attributes(); // $jnData->_fileName = (string)$attr[file_name]; $assets = $clientObj->flavorAsset->getByEntryId($jnData->_entryId); $jnData->_assetId = null; foreach ($assets as $asset) { if ($asset->isOriginal == 1) { $jnData->_assetId = $asset->id; break; } } $jnData->_fileName = dofileSync($clientObj, $jnData->_assetId); if (!isset($jnData->_fileName)) { return null; } $filter = new KalturaMediaInfoFilter(); $filter->flavorAssetIdEqual = $asset->id; $mediaInfos = $clientObj->mediaInfo->listAction($filter, null); $jnData->_fps = $mediaInfos->objects[0]->videoFrameRate; $jnData->_dur = $mediaInfos->objects[0]->videoDuration; $jnDataArr[] = $jnData; print_r($jnData); // print_r($asset); // echo "\nEntryId ($entryId), FileName($fileName), Asset($assetId)\n"; //print_r($mediaInfos); } $fHd = fopen($aviDemuxScp, "w"); fwrite($fHd, "var app = new Avidemux();\n"); $totalDur = 0; $str1 = null; $str2 = null; $idx = 0; foreach ($jnDataArr as $jnData) { if ($str1 == null) { $str1 = 'app.load("' . $jnData->_fileName . '");' . "\n"; } else { $str1 .= 'app.append("' . $jnData->_fileName . '");' . "\n"; } $str2 .= "app.addSegment({$idx},0," . (int) ($jnData->_dur * $jnData->_fps / 1000) . ");\n"; //."\n"; " // $str2.='app.addSegment(0,0,'.$jnData->_dur.');';//."\n"; " $totalDur += $jnData->_dur; $idx++; } fwrite($fHd, $str1); fwrite($fHd, $str2); fwrite($fHd, "app.markerA=0;\n"); $totalDur = (int) ($totalDur * $jnData->_fps / 1000) - 1; fwrite($fHd, "app.markerB={$totalDur};\n"); fwrite($fHd, "app.video.setPostProc(3,3,0);\n"); fwrite($fHd, "app.video.fps1000 = " . $jnData->_fps * 1000.0 . ";\n"); fwrite($fHd, 'app.video.codec("Copy", "CQ=4", "0 ");' . "\n"); //** Audio ** fwrite($fHd, 'app.audio.reset(); app.audio.codec("copy",0,0,""); app.audio.normalizeMode=0 app.audio.normalizeValue=0; app.audio.delay=0; app.audio.mixer="NONE"; app.setContainer("MP4"); setSuccess(1);'); fclose($fHd); }