本文整理汇总了PHP中entry::getSubpId方法的典型用法代码示例。如果您正苦于以下问题:PHP entry::getSubpId方法的具体用法?PHP entry::getSubpId怎么用?PHP entry::getSubpId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类entry
的用法示例。
在下文中一共展示了entry::getSubpId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: buildRtmpFlavorsArray
/**
* @param int $duration
* @param string $baseUrl
* @return array
*/
private function buildRtmpFlavorsArray(&$duration, &$baseUrl)
{
$flavorAssets = $this->buildRtmpFlavorAssetArray();
$duration = $this->entry->getDurationInt();
$flavorDuration = $this->getDurationFromFlavorAssets($flavorAssets);
if ($flavorDuration) {
$duration = $flavorDuration;
}
$flavors = array();
if ($this->storageId) {
$storage = StorageProfilePeer::retrieveByPK($this->storageId);
if (!$storage) {
die;
}
$baseUrl = $storage->getDeliveryRmpBaseUrl();
$urlManager = $this->getUrlManagerByStorageProfile($this->storageId);
// get all flavors with external urls
foreach ($flavorAssets as $flavorAsset) {
$key = $flavorAsset->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET);
$fileSync = kFileSyncUtils::getReadyExternalFileSyncForKey($key, $this->storageId);
if (!$fileSync) {
continue;
}
$this->setupUrlManager($urlManager, $fileSync, $flavorAsset);
$url = $urlManager->getFileSyncUrl($fileSync, false);
$url = ltrim($url, "/");
$flavors[] = $this->getFlavorAssetInfo($url, '', $flavorAsset);
}
}
$partner = $this->entry->getPartner();
if (!$this->storageId || !count($flavors) && $partner->getStorageServePriority() != StorageProfile::STORAGE_SERVE_PRIORITY_EXTERNAL_ONLY) {
$partnerId = $this->entry->getPartnerId();
$subpId = $this->entry->getSubpId();
$partnerPath = myPartnerUtils::getUrlForPartner($partnerId, $subpId);
$baseUrl = myPartnerUtils::getRtmpUrl($partnerId);
// allow to replace {deliveryCode} place holder with the deliveryCode parameter passed to the action
// a publisher with a rtmpUrl set to {deliveryCode}.example.com/ondemand will be able to use different
// cdn configuration for different sub publishers by passing a different deliveryCode to the KDP
if ($this->deliveryCode) {
$baseUrl = str_replace("{deliveryCode}", $this->deliveryCode, $baseUrl);
}
$rtmpHost = parse_url($baseUrl, PHP_URL_HOST);
$urlManager = $this->getUrlManagerByCdn($rtmpHost);
// get all flavors with kaltura urls
foreach ($flavorAssets as $flavorAsset) {
/* @var $flavorAsset flavorAsset */
$this->setupUrlManager($urlManager, null, $flavorAsset);
$url = $urlManager->getAssetUrl($flavorAsset, false);
$url = ltrim($url, "/");
$flavors[] = $this->getFlavorAssetInfo($url, '', $flavorAsset);
}
}
if (strpos($this->protocol, "rtmp") === 0) {
$baseUrl = $this->protocol . '://' . preg_replace('/^rtmp.*?:\\/\\//', '', $baseUrl);
}
$urlManager->finalizeUrls($baseUrl, $flavors);
$this->tokenizer = $urlManager->getTokenizer();
return $flavors;
}
示例2: toPlaylistUrl
public static function toPlaylistUrl(entry $playlist, $host, $uid = null)
{
$partner_id = $playlist->getPartnerId();
$subp_id = $playlist->getSubpId();
if ($playlist->getMediaType() == entry::ENTRY_MEDIA_TYPE_GENERIC_1) {
$playlist_url = urlencode($playlist->getDataContent());
// when of type GENERIC === MRSS -> the data content is the url to point to
} else {
$playlist_url = urlencode($host . "/index.php/partnerservices2/executeplaylist?" . "uid={$uid}&partner_id={$partner_id}&subp_id={$subp_id}&format=8&" . "ks={ks}&" . self::toQueryString($playlist, false));
}
// $str = "k_pl_autoContinue=true&k_pl_autoInsertMedia=true&k_pl_0_name=" . $playlist->getName() . "&k_pl_0_url=" . $playlist_url;
$str = "k_pl_0_name=" . $playlist->getName() . "&k_pl_0_url=" . $playlist_url;
return $str;
}
示例3: serveRtmp
//.........这里部分代码省略.........
$storagesFlavors[$storage->getId()][] = $flavorAsset;
}
}
}
$maxCount = 0;
foreach ($storagesFlavors as $storageId => $storageFlavors) {
$count = count($storageFlavors);
if ($count > $maxCount) {
$maxCount = $count;
$this->storageId = $storageId;
$finalFlavors = $storageFlavors;
}
}
$flavorAssets = $finalFlavors;
} else {
foreach ($flavorAssets as $flavorAsset) {
$key = $flavorAsset->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET);
$fileSync = kFileSyncUtils::getReadyInternalFileSyncForKey($key);
if ($fileSync) {
$finalFlavors[] = $flavorAsset;
}
}
}
}
}
foreach ($flavorAssets as $flavorAsset) {
$mediaInfo = mediaInfoPeer::retrieveByFlavorAssetId($flavorAsset->getId());
if ($mediaInfo && ($mediaInfo->getVideoDuration() || $mediaInfo->getAudioDuration() || $mediaInfo->getContainerDuration())) {
$duration = $mediaInfo->getVideoDuration() ? $mediaInfo->getVideoDuration() : ($mediaInfo->getAudioDuration() ? $mediaInfo->getAudioDuration() : $mediaInfo->getContainerDuration());
$duration /= 1000;
break;
}
}
$baseUrl = null;
$flavors = array();
if ($this->storageId) {
$storage = StorageProfilePeer::retrieveByPK($this->storageId);
if (!$storage) {
die;
}
$baseUrl = $storage->getDeliveryRmpBaseUrl();
// get all flavors with external urls
foreach ($flavorAssets as $flavorAsset) {
$key = $flavorAsset->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET);
$fileSync = kFileSyncUtils::getReadyExternalFileSyncForKey($key, $this->storageId);
if (!$fileSync) {
continue;
}
$urlManager = kUrlManager::getUrlManagerByStorageProfile($fileSync->getDc());
$urlManager->setClipTo($this->clipTo);
$urlManager->setFileExtension($flavorAsset->getFileExt());
$urlManager->setProtocol(StorageProfile::PLAY_FORMAT_RTMP);
$url = $urlManager->getFileSyncUrl($fileSync);
$url = preg_replace('/^\\//', '', $url);
$flavors[] = array('url' => $url, 'bitrate' => $flavorAsset->getBitrate(), 'width' => $flavorAsset->getWidth(), 'height' => $flavorAsset->getHeight());
}
} else {
$partnerId = $this->entry->getPartnerId();
$subpId = $this->entry->getSubpId();
$partnerPath = myPartnerUtils::getUrlForPartner($partnerId, $subpId);
$baseUrl = myPartnerUtils::getRtmpUrl($partnerId);
$urlManager = kUrlManager::getUrlManagerByCdn($this->cdnHost);
// get all flavors with kaltura urls
foreach ($flavorAssets as $flavorAsset) {
$urlManager->setClipTo($this->clipTo);
$urlManager->setFileExtension($flavorAsset->getFileExt());
$urlManager->setProtocol(StorageProfile::PLAY_FORMAT_RTMP);
$url = $urlManager->getFlavorAssetUrl($flavorAsset);
$url = preg_replace('/^\\//', '', $url);
$flavors[] = array('url' => $url, 'bitrate' => $flavorAsset->getBitrate(), 'width' => $flavorAsset->getWidth(), 'height' => $flavorAsset->getHeight());
}
}
if (!count($flavors)) {
KExternalErrors::dieError(KExternalErrors::FLAVOR_NOT_FOUND);
}
if (strpos($this->protocol, "rtmp") === 0) {
$baseUrl = $this->protocol . '://' . preg_replace('/^rtmp.*?:\\/\\//', '', $baseUrl);
}
return $this->buildXml(self::PLAY_STREAM_TYPE_RECORDED, $flavors, 'video/x-flv', $duration, $baseUrl);
case entryType::LIVE_STREAM:
$streamId = $this->entry->getStreamRemoteId();
$streamUsername = $this->entry->getStreamUsername();
$baseUrl = $this->entry->getStreamUrl();
$baseUrl = rtrim($baseUrl, '/');
$flavors = $this->entry->getStreamBitrates();
if (count($flavors)) {
foreach ($flavors as $index => $flavor) {
$brIndex = $index + 1;
$flavors[$index]['url'] = str_replace('%i', $brIndex, $this->entry->getStreamName());
}
} else {
$flavors[0]['url'] = str_replace('%i', '1', $this->entry->getStreamName());
}
if (strpos($this->protocol, "rtmp") === 0) {
$baseUrl = $this->protocol . '://' . preg_replace('/^rtmp.*?:\\/\\//', '', $baseUrl);
}
return $this->buildXml(self::PLAY_STREAM_TYPE_LIVE, $flavors, 'video/x-flv', null, $baseUrl);
}
KExternalErrors::dieError(KExternalErrors::INVALID_ENTRY_TYPE);
}