2016-08-03 6 views
0

Из обзора архитектуры высокого уровня для bigbluebutton http://docs.bigbluebutton.org/overview/architecture.html Я понимаю, что сервер red5 связывается с клиентом с помощью rtmp или путем настройки rtmp через nginx. А затем сервер red5 взаимодействует с FreeSwitch, используя redis (с fsesl-akka). Это означает, что мы можем развернуть red5 на отдельном сервере. Результат должен быть 3 сервера:Как настроить bigbluebutton для работы с внешним сервером Red5

  1. Сервер для Nginx/tomcat7 для запуска клиента, БББ-веб
  2. Сервер для Red5 + Redis, которые обрабатывают RTMP для модуля для видеоконференций/обмена/вызова/аудио
  3. сервер для FreeSwitch

в настоящее время, я могу конфиг модуль использовать RTMP от отдельно сервера Red5, изменив клиент/CONF/config.xml

<config> 
    <localeversion suppressWarning="false">0.9.0</localeversion> 
    <version>VERSION</version> 
    <help url="http://10.0.121.16/help.html"/> 
    <javaTest url="http://10.0.121.16/testjava.html"/> 
    <porttest host="10.0.121.16" application="video/portTest" timeout="10000"/>  
    <bwMon server="10.0.121.16" application="video/bwTest"/> 
    <application uri="rtmp://10.0.121.16/bigbluebutton" host="http://10.0.121.16/bigbluebutton/api/enter"/> 
    <language userSelectionEnabled="true" /> 
    <skinning enabled="true" url="http://10.0.121.16/client/branding/css/BBBDefault.css.swf" /> 
    <shortcutKeys showButton="true" /> 
    <browserVersions chrome="CHROME_VERSION" firefox="FIREFOX_VERSION" flash="FLASH_VERSION" java="1.7.0_51" /> 
    <layout showLogButton="false" defaultLayout="bbb.layout.name.defaultlayout" 
      showToolbar="true" showFooter="true" showMeetingName="true" showHelpButton="true" 
      showLogoutWindow="true" showLayoutTools="true" confirmLogout="true" 
      showRecordingNotification="true"/> 
    <meeting muteOnStart="false" /> 
    <logging enabled="true" target="trace" level="info" format="{dateUTC} {time} :: {name} :: [{logLevel}] {message}" uri="http://10.0.121.16"/> 
    <lock disableCamForLockedUsers="false" disableMicForLockedUsers="false" disablePrivateChatForLockedUsers="false" 
      disablePublicChatForLockedUsers="false" lockLayoutForLockedUsers="false" lockOnJoin="true" lockOnJoinConfigurable="false"/> 

     <modules> 

     <module name="ChatModule" url="http://10.0.121.16/client/ChatModule.swf?v=VERSION" 
      uri="rtmp://10.0.121.16/bigbluebutton" 
      dependsOn="UsersModule" 
      privateEnabled="true" 
      fontSize="12" 
      position="top-right" 
      baseTabIndex="701" 
      colorPickerIsVisible="false" 
      maxMessageLength="1024" 
     /> 

     <module name="UsersModule" url="http://10.0.121.16/client/UsersModule.swf?v=VERSION" 
      uri="rtmp://10.0.121.16/bigbluebutton" 
      allowKickUser="true" 
      enableEmojiStatus="true" 
      enableSettingsButton="true" 
      baseTabIndex="301" 
     /> 


     <module name="DeskShareModule" 
      url="http://10.0.121.16/client/DeskShareModule.swf?v=VERSION" 
      uri="rtmp://10.0.121.16/deskShare" 
      publishURI="10.0.121.16" 
      useTLS="false" 
      showButton="true" 
      autoStart="false" 
      autoFullScreen="false" 
      baseTabIndex="201" 
     /> 

     <module name="PhoneModule" url="http://10.0.121.16/client/PhoneModule.swf?v=VERSION" 
      uri="rtmp://10.0.121.16/sip" 
      autoJoin="true" 
      listenOnlyMode="true" 
      presenterShareOnly="false" 
      skipCheck="false" 
      showButton="true" 
      enabledEchoCancel="true" 
      useWebRTCIfAvailable="true" 
      showPhoneOption="false" 
      echoTestApp="9196" 
      dependsOn="UsersModule" 
     /> 

     <module name="VideoconfModule" url="http://10.0.121.16/client/VideoconfModule.swf?v=VERSION" 
      uri="rtmp://10.0.121.16/video" 
      dependson = "UsersModule" 
      baseTabIndex="401" 
      presenterShareOnly = "false" 
      controlsForPresenter = "false" 
      autoStart = "false" 
      skipCamSettingsCheck="false" 
      showButton = "true" 
      showCloseButton = "true" 
      publishWindowVisible = "true" 
      viewerWindowMaxed = "false" 
      viewerWindowLocation = "top" 
      smoothVideo="false" 
      applyConvolutionFilter="false" 
      convolutionFilter="-1, 0, -1, 0, 6, 0, -1, 0, -1" 
      filterBias="0" 
      filterDivisor="4" 
      displayAvatar = "false" 
      focusTalking = "false" 
      glowColor = "0x4A931D" 
      glowBlurSize = "30.0" 
      priorityRatio = "0.67" 
     /> 

     <module name="WhiteboardModule" url="http://10.0.121.16/client/WhiteboardModule.swf?v=VERSION" 
      uri="rtmp://10.0.121.16/bigbluebutton" 
      dependsOn="PresentModule" 
      baseTabIndex="601" 
      whiteboardAccess="presenter" 
      keepToolbarVisible="false" 
     /> 

     <module name="PollingModule" url="http://10.0.121.16/client/PollingModule.swf?v=VERSION" 
      uri="rtmp://10.0.121.16/bigbluebutton" 
      dependsOn="PresentModule" 
     /> 

     <module name="PresentModule" url="http://10.0.121.16/client/PresentModule.swf?v=VERSION" 
      uri="rtmp://10.0.121.16/bigbluebutton" 
      host="http://10.0.121.16" 
      showPresentWindow="true" 
      showWindowControls="true" 
      openExternalFileUploadDialog="false" 
      dependsOn="UsersModule" 
      baseTabIndex="501" 
      maxFileSize="30" 
     /> 

     <module name="LayoutModule" url="http://10.0.121.16/client/LayoutModule.swf?v=VERSION" 
      uri="rtmp://10.0.121.16/bigbluebutton" 
      layoutConfig="http://10.0.121.16/client/conf/layout.xml" 
      enableEdit="false" 
     /> 
    </modules> 
</config> 

Где 10.0.121.14 - запустить Red5 + redis. 10.0.121.16 запустить nginx + tomcat7. Любой документ/помощь/предложение эксперта для решения этой проблемы?

ответ

1

Отдельные серверы Red5 могут распространять модули видео и дескрипторов, просто нужно, чтобы скрипты архивирования вытащили файлы .flv из каталога потоков при обработке. Я бы оставил основной red5 на сервере bbb для обработки остальной части сообщений с локальным хранилищем redis.

Если вы хотите, чтобы red5 на сервере все вместе, вам необходимо включить сервер red5 для доступа к redis. Быть осторожен. downt думаю, и пароль установлен, поэтому вы не хотите раскрывать это в открытом интерфейсе, не используя правильные правила iptable.

С уважением, Стивен hostbbb.com