public function setEntryBroadcastingUrls(LiveStreamEntry $dbEntry)
 {
     $partner = PartnerPeer::retrieveByPK($this->partnerId);
     if (!$partner) {
         KalturaLog::info("Partner with id [{$this->partnerId}] was not found");
         return;
     }
     $hostname = $partner->getPrimaryBroadcastUrl();
     $dbEntry->setPrimaryBroadcastingUrl($this->getBroadcastUrl($dbEntry, kBroadcastUrlManager::PROTOCOL_RTMP, $hostname, self::PRIMARY_MEDIA_SERVER_INDEX));
     $dbEntry->setPrimaryRtspBroadcastingUrl($this->getBroadcastUrl($dbEntry, kBroadcastUrlManager::PROTOCOL_RTSP, $hostname, self::PRIMARY_MEDIA_SERVER_INDEX, true));
     $hostname = $partner->getSecondaryBroadcastUrl();
     $dbEntry->setSecondaryBroadcastingUrl($this->getBroadcastUrl($dbEntry, kBroadcastUrlManager::PROTOCOL_RTMP, $hostname, self::SECONDARY_MEDIA_SERVER_INDEX));
     $dbEntry->setSecondaryRtspBroadcastingUrl($this->getBroadcastUrl($dbEntry, kBroadcastUrlManager::PROTOCOL_RTSP, $hostname, self::SECONDARY_MEDIA_SERVER_INDEX, true));
 }
示例#2
0
 public function setEntryBroadcastingUrls(LiveStreamEntry $dbEntry)
 {
     $currentDc = kDataCenterMgr::getCurrentDcId();
     $hostname = $this->getHostname($currentDc, $dbEntry->getSource());
     $dbEntry->setPrimaryBroadcastingUrl($this->getBroadcastUrl($dbEntry, kBroadcastUrlManager::PROTOCOL_RTMP, $hostname, kBroadcastUrlManager::PRIMARY_MEDIA_SERVER_INDEX));
     $dbEntry->setPrimaryRtspBroadcastingUrl($this->getBroadcastUrl($dbEntry, kBroadcastUrlManager::PROTOCOL_RTSP, $hostname, kBroadcastUrlManager::PRIMARY_MEDIA_SERVER_INDEX, true));
     $configuration = $this->getConfiguration();
     foreach ($configuration as $dc => $config) {
         if (!is_numeric($dc) || $dc == $currentDc) {
             continue;
         }
         $hostname = $this->getHostname($dc, $dbEntry->getSource());
         $dbEntry->setSecondaryBroadcastingUrl($this->getBroadcastUrl($dbEntry, kBroadcastUrlManager::PROTOCOL_RTMP, $hostname, kBroadcastUrlManager::SECONDARY_MEDIA_SERVER_INDEX));
         $dbEntry->setSecondaryRtspBroadcastingUrl($this->getBroadcastUrl($dbEntry, kBroadcastUrlManager::PROTOCOL_RTSP, $hostname, kBroadcastUrlManager::SECONDARY_MEDIA_SERVER_INDEX, true));
     }
 }
 public function populateEntryFromData(LiveStreamEntry $entry)
 {
     $entry->setStreamUsername($this->getEncoderUsername());
     $entry->setStreamRemoteId($this->getStreamID());
     $entry->setPrimaryBroadcastingUrl($this->getPrimaryBroadcastingUrl());
     $entry->setSecondaryBroadcastingUrl($this->getSecondaryBroadcastingUrl());
     $entry->setStreamName($this->getStreamName() . "_1_%i@" . $entry->getStreamRemoteId());
     if (isset($this->basePlaybackUrls[PlaybackProtocol::APPLE_HTTP])) {
         $baseHlsUrl = $this->basePlaybackUrls[PlaybackProtocol::APPLE_HTTP];
     } else {
         $baseHlsUrl = "http://" . ($this->getDomainName() ? $this->getDomainName() : self::DEFAULT_DOMAIN_NAME) . "/i/";
     }
     $entry->setHlsStreamUrl($baseHlsUrl . $this->getStreamName() . "_1@" . $this->getStreamID() . "/master.m3u8");
     $configs = $entry->getLiveStreamConfigurations();
     $config = new kLiveStreamConfiguration();
     $config->setProtocol(PlaybackProtocol::AKAMAI_HDS);
     if (isset($this->basePlaybackUrls[PlaybackProtocol::AKAMAI_HDS])) {
         $baseHdsUrl = $this->basePlaybackUrls[PlaybackProtocol::AKAMAI_HDS];
     } else {
         $baseHdsUrl = "http://" . ($this->getDomainName() ? $this->getDomainName() : self::DEFAULT_DOMAIN_NAME) . "/z/";
     }
     $config->setUrl($baseHdsUrl . $this->getStreamName() . "_1@" . $this->getStreamID() . "/manifest.f4m");
     $configs[] = $config;
     $entry->setLiveStreamConfigurations($configs);
 }
 public function populateEntryFromData(LiveStreamEntry $entry)
 {
     $entry->setStreamUsername($this->getEncoderUsername());
     $entry->setStreamUrl($this->getRtmp());
     $entry->setStreamRemoteId($this->getStreamID());
     $entry->setStreamRemoteBackupId($this->getBackupStreamID());
     $entry->setPrimaryBroadcastingUrl($this->getPrimaryBroadcastingUrl());
     $entry->setSecondaryBroadcastingUrl($this->getSecondaryBroadcastingUrl());
     $entry->setStreamName($this->getStreamName());
 }