protected function doOperation() { KalturaLog::debug("starting"); KBatchBase::impersonate($this->job->partnerId); $drmPlugin = KalturaDrmClientPlugin::get(KBatchBase::$kClient); $profile = $drmPlugin->drmProfile->getByProvider(KalturaDrmProviderType::CENC); KBatchBase::unimpersonate(); $udrmData = $this->getUDRMdata($profile->licenseServerUrl, $profile->signingKey); if (!isset($this->data->srcFileSyncs) || !isset($this->data->srcFileSyncs[0])) { $logMsg = "Did not get input file"; KalturaLog::err($logMsg); throw new KOperationEngineException($logMsg); } $encryptResult = $this->encryptWithEdash($udrmData); $mpdResult = $this->createMPD(); $mpdOutPath = $this->data->destFileSyncLocalPath . ".mpd"; $fsDescArr = array(); $fsDesc = new KalturaDestFileSyncDescriptor(); $fsDesc->fileSyncLocalPath = $mpdOutPath; $fsDesc->fileSyncObjectSubType = 7; //FILE_SYNC_ASSET_SUB_TYPE_MPD; $fsDescArr[] = $fsDesc; $this->data->extraDestFileSyncs = $fsDescArr; return true; }
protected function doOperation() { KBatchBase::impersonate($this->job->partnerId); $entry = KBatchBase::$kClient->baseEntry->get($this->job->entryId); $this->buildPackageName($entry); KalturaLog::info('start Widevine packaging: ' . $this->packageName); $drmPlugin = KalturaDrmClientPlugin::get(KBatchBase::$kClient); $profile = $drmPlugin->drmProfile->getByProvider(KalturaDrmProviderType::WIDEVINE); $wvAssetId = $this->registerAsset($profile); $this->encryptPackage($profile); $this->updateFlavorAsset($wvAssetId); KBatchBase::unimpersonate(); return true; }
/** * Send asset notify request to VOD Dealer to update widevine assets * * @param KalturaBatchJob $job * @param KalturaWidevineRepositorySyncJobData $data */ private function sendModifyRequest(KalturaBatchJob $job, KalturaWidevineRepositorySyncJobData $data) { $dataWrap = new WidevineRepositorySyncJobDataWrap($data); $widevineAssets = $dataWrap->getWidevineAssetIds(); $licenseStartDate = $dataWrap->getLicenseStartDate(); $licenseEndDate = $dataWrap->getLicenseEndDate(); $this->impersonate($job->partnerId); $drmPlugin = KalturaDrmClientPlugin::get(KBatchBase::$kClient); $profile = $drmPlugin->drmProfile->getByProvider(KalturaDrmProviderType::WIDEVINE); foreach ($widevineAssets as $assetId) { $this->updateWidevineAsset($assetId, $licenseStartDate, $licenseEndDate, $profile); } if ($data->monitorSyncCompletion) { $this->updateFlavorAssets($job, $dataWrap); } $this->unimpersonate(); }
private function getLicenseParamsStr() { // impersonite KBatchBase::impersonate($this->job->partnerId); $drmPlugin = KalturaDrmClientPlugin::get(KBatchBase::$kClient); if (!isset($drmPlugin)) { KalturaLog::err("FAILED to get drmPlugin"); return false; } $profile = $drmPlugin->drmProfile->getByProvider(KalturaDrmProviderType::PLAY_READY); if (!isset($profile)) { KalturaLog::err("FAILED to get profile"); return false; } $playReadyPlugin = KalturaPlayReadyClientPlugin::get(KBatchBase::$kClient); if (!isset($playReadyPlugin)) { KalturaLog::err("FAILED to get playReadyPlugin"); return false; } $playReadyData = $playReadyPlugin->playReadyDrm->getEntryContentKey($this->job->entryId, true); if (!isset($playReadyData)) { KalturaLog::err("FAILED to get playReadyData"); return false; } // un-impersonite KBatchBase::unimpersonate(); $paramsStr = " -keyId {$playReadyData->keyId} -contentKey {$playReadyData->contentKey} -laUrl {$profile->licenseServerUrl}"; KalturaLog::info($paramsStr); return $paramsStr; /* $keyId = "b6e16839-eebd-4ff6-ab76-8d482d8d2b6a"; $keySeed = "XVBovsmzhP9gRIZxWfFta3VVRPzVEWmJsazEJ46I"; $laSrv = "http://playready.directtaps.net/pr/svc/rightsmanager.asmx?"; $paramsStr = " -keyId $keyId -keySeed $keySeed -laUrl $laSrv"; return $paramsStr; */ }