Ejemplo n.º 1
0
 private function fixInputAssets($inputFiles)
 {
     $localTmpPath = dirname($this->data->destFileSyncLocalPath);
     $fixedInputFiles = array();
     $inputFiles = explode(',', $inputFiles);
     $returnValue = 0;
     $output = array();
     foreach ($inputFiles as $inputFile) {
         $fixedInputFile = $localTmpPath . '/' . basename($inputFile);
         $cmd = KWidevineBatchHelper::getFixAssetCmdLine($this->params->ffmpegCmd, $inputFile, $fixedInputFile);
         $lastLine = exec($cmd, $output, $returnValue);
         KalturaLog::info('Command execution output: ' . print_r($output, true));
         if ($returnValue != 0) {
             KBatchBase::unimpersonate();
             $logMessage = 'Asset fix failed: ' . $inputFile . ' error: ' . $lastLine;
             KalturaLog::err($logMessage);
             throw new KOperationEngineException($logMessage);
         }
         $fixedInputFiles[] = $fixedInputFile;
     }
     return implode(',', $fixedInputFiles);
 }