本文整理汇总了PHP中myPartnerUtils::getRtmpUrl方法的典型用法代码示例。如果您正苦于以下问题:PHP myPartnerUtils::getRtmpUrl方法的具体用法?PHP myPartnerUtils::getRtmpUrl怎么用?PHP myPartnerUtils::getRtmpUrl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类myPartnerUtils
的用法示例。
在下文中一共展示了myPartnerUtils::getRtmpUrl方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
public function execute()
{
sfView::SUCCESS;
/** check parameters and verify user is logged-in **/
$this->partner_id = $this->getP("pid");
$this->subp_id = $this->getP("subpid", (int) $this->partner_id * 100);
$this->uid = $this->getP("uid");
$this->ks = $this->getP("kmcks");
if (!$this->ks) {
// if kmcks from cookie doesn't exist, try ks from REQUEST
$this->ks = $this->getP('ks');
}
$this->screen_name = $this->getP("screen_name");
$this->email = $this->getP("email");
/** if no KS found, redirect to login page **/
if (!$this->ks) {
$this->redirect("kmc/kmc");
die;
}
$ksObj = kSessionUtils::crackKs($this->ks);
/** END - check parameters and verify user is logged-in **/
/** Get array of allowed partners for the current user **/
$this->allowedPartners = array();
$currentUser = kuserPeer::getKuserByPartnerAndUid($this->partner_id, $ksObj->user, true);
if ($currentUser) {
$partners = myPartnerUtils::getPartnersArray($currentUser->getAllowedPartnerIds());
foreach ($partners as $partner) {
$this->allowedPartners[] = array('id' => $partner->getId(), 'name' => $partner->getName());
}
$this->full_name = $currentUser->getFullName();
}
/** load partner from DB, and set templatePartnerId **/
$this->partner = $partner = null;
$this->templatePartnerId = self::SYSTEM_DEFAULT_PARTNER;
$this->ignoreSeoLinks = false;
$this->ignoreEntrySeoLinks = false;
$this->useEmbedCodeProtocolHttps = false;
$this->v2Flavors = false;
if ($this->partner_id !== NULL) {
$this->partner = $partner = PartnerPeer::retrieveByPK($this->partner_id);
kmcUtils::redirectPartnerToCorrectKmc($partner, $this->ks, $this->uid, $this->screen_name, $this->email, self::CURRENT_KMC_VERSION);
$this->templatePartnerId = $this->partner ? $this->partner->getTemplatePartnerId() : self::SYSTEM_DEFAULT_PARTNER;
$this->ignoreSeoLinks = $this->partner->getIgnoreSeoLinks();
$this->ignoreEntrySeoLinks = PermissionPeer::isValidForPartner(PermissionName::FEATURE_IGNORE_ENTRY_SEO_LINKS, $this->partner_id);
$this->useEmbedCodeProtocolHttps = PermissionPeer::isValidForPartner(PermissionName::FEATURE_EMBED_CODE_DEFAULT_PROTOCOL_HTTPS, $this->partner_id);
$this->v2Flavors = PermissionPeer::isValidForPartner(PermissionName::FEATURE_V2_FLAVORS, $this->partner_id);
}
/** END - load partner from DB, and set templatePartnerId **/
/** set default flags **/
$this->payingPartner = 'false';
$this->kdp508_players = array();
$this->first_login = false;
/** END - set default flags **/
/** set values for template **/
$this->service_url = myPartnerUtils::getHost($this->partner_id);
$this->host = $this->stripProtocol($this->service_url);
$this->embed_host = $this->host;
if (kConf::hasParam('cdn_api_host') && kConf::hasParam('www_host') && $this->host == kConf::get('cdn_api_host')) {
$this->host = kConf::get('www_host');
}
$this->cdn_url = myPartnerUtils::getCdnHost($this->partner_id);
$this->cdn_host = $this->stripProtocol($this->cdn_url);
$this->rtmp_host = myPartnerUtils::getRtmpUrl($this->partner_id);
$this->flash_dir = $this->cdn_url . myContentStorage::getFSFlashRootPath();
// Decide if to hide akamai delivery type
$this->hideAkamaiHDNetwork = $partner->getDisableAkamaiHDNetwork();
/** set payingPartner flag **/
if ($partner && $partner->getPartnerPackage() != PartnerPackages::PARTNER_PACKAGE_FREE) {
$this->payingPartner = 'true';
}
/** END - set payingPartner flag **/
/** get partner languae **/
$this->language = null;
if ($partner->getKMCLanguage()) {
$this->language = $partner->getKMCLanguage();
}
/** END - get partner languae **/
/** set first_login flag **/
$this->first_login = $partner->getIsFirstLogin();
if ($this->first_login === true) {
$partner->setIsFirstLogin(false);
$partner->save();
}
/** END - set first_login flag **/
/** get logout url **/
$this->logoutUrl = null;
if ($partner->getLogoutUrl()) {
$this->logoutUrl = $partner->getLogoutUrl();
}
/** END - get logout url**/
/** partner-specific: change KDP version for partners working with auto-moderaion **/
// set content kdp version according to partner id
$moderated_partners = array(31079, 28575, 32774);
$this->content_kdp_version = 'v2.7.0';
if (in_array($this->partner_id, $moderated_partners)) {
$this->content_kdp_version = 'v2.1.2.29057';
}
/** END - partner-specific: change KDP version for partners working with auto-moderaion **/
$this->kmc_swf_version = kConf::get('kmc_version');
/** uiconf listing work **/
//.........这里部分代码省略.........
示例2: execute
public function execute()
{
sfView::SUCCESS;
/** check parameters and verify user is logged-in **/
$this->partner_id = $this->getP("pid");
$this->subp_id = $this->getP("subpid", (int) $this->partner_id * 100);
$this->uid = $this->getP("uid");
$this->ks = $this->getP("kmcks");
if (!$this->ks) {
// if kmcks from cookie doesn't exist, try ks from REQUEST
$this->ks = $this->getP('ks');
}
$this->screen_name = $this->getP("screen_name");
$this->email = $this->getP("email");
/** if no KS found, redirect to login page **/
if (!$this->ks) {
$this->redirect("kmc/kmc");
die;
}
/** END - check parameters and verify user is logged-in **/
/** load partner from DB, and set templatePartnerId **/
$this->partner = $partner = null;
$this->templatePartnerId = self::SYSTEM_DEFAULT_PARTNER;
if ($this->partner_id !== NULL) {
$this->partner = $partner = PartnerPeer::retrieveByPK($this->partner_id);
kmcUtils::redirectPartnerToCorrectKmc($partner, $this->ks, $this->uid, $this->screen_name, $this->email, self::CURRENT_KMC_VERSION);
$this->templatePartnerId = $this->partner ? $this->partner->getTemplatePartnerId() : self::SYSTEM_DEFAULT_PARTNER;
}
/** END - load partner from DB, and set templatePartnerId **/
/** set default flags **/
$this->allow_reports = false;
$this->payingPartner = 'false';
$this->embed_code = "";
$this->enable_live_streaming = 'false';
$this->kmc_enable_custom_data = 'false';
$this->kdp508_players = array();
$this->first_login = false;
$this->enable_vast = 'false';
/** END - set default flags **/
/** set values for template **/
$this->service_url = myPartnerUtils::getHost($this->partner_id);
$this->host = str_replace("http://", "", $this->service_url);
$this->cdn_url = myPartnerUtils::getCdnHost($this->partner_id);
$this->cdn_host = str_replace("http://", "", $this->cdn_url);
$this->rtmp_host = myPartnerUtils::getRtmpUrl($this->partner_id);
$this->flash_dir = $this->cdn_url . myContentStorage::getFSFlashRootPath();
/** set embed_code value **/
if ($this->partner_id !== null) {
$widget = widgetPeer::retrieveByPK("_" . $this->partner_id);
if ($widget) {
$this->embed_code = $widget->getWidgetHtml("kaltura_player");
$ui_conf = $widget->getuiConf();
}
}
/** END - set embed_code value **/
/** set payingPartner flag **/
if ($partner && $partner->getPartnerPackage() != PartnerPackages::PARTNER_PACKAGE_FREE) {
$this->payingPartner = 'true';
}
/** END - set payingPartner flag **/
/** set enable_live_streaming flag **/
if (kConf::get('kmc_content_enable_live_streaming') && $partner) {
if ($partner->getLiveStreamEnabled()) {
$this->enable_live_streaming = 'true';
}
}
/** END - set enable_live_streaming flag **/
/** set enable_live_streaming flag **/
if ($partner && $partner->getEnableVast()) {
$this->enable_vast = 'true';
}
/** END - set enable_live_streaming flag **/
/** set kmc_enable_custom_data flag **/
$defaultPlugins = kConf::get('default_plugins');
if (is_array($defaultPlugins) && in_array('MetadataPlugin', $defaultPlugins) && $partner) {
if ($partner->getPluginEnabled(MetadataPlugin::PLUGIN_NAME) && $partner->getKmcVersion() == self::CURRENT_KMC_VERSION) {
$this->kmc_enable_custom_data = 'true';
}
}
/** END - set kmc_enable_custom_data flag **/
/** set allow_reports flag **/
// 2009-08-27 is the date we added ON2 to KMC trial account
// TODO - should be depracated
if (strtotime($partner->getCreatedAt()) >= strtotime('2009-08-27') || $partner->getEnableAnalyticsTab()) {
$this->allow_reports = true;
}
if ($partner->getEnableAnalyticsTab()) {
$this->allow_reports = true;
}
// if the email is empty - it is an indication that the kaltura super user is logged in
if (!$this->email) {
$this->allow_reports = true;
}
/** END - set allow_reports flag **/
/** set first_login and jw_license flags **/
if ($partner) {
$this->first_login = $partner->getIsFirstLogin();
if ($this->first_login === true) {
$partner->setIsFirstLogin(false);
$partner->save();
//.........这里部分代码省略.........
示例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);
}
示例4: 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;
}