2016-08-03 99 views
0

来自bigbluebutton的高层体系结构概述http://docs.bigbluebutton.org/overview/architecture.html我明白,red5服务器使用rtmp或通过nginx调整rtmp与客户端进行通信。然后red5服务器使用redis与FreeSwitch进行通信(使用fsesl-akka)。这意味着我们可以在单独的服务器中部署red5。结果应该是3个服务器:如何配置bigbluebutton与外部Red5服务器配合使用

  1. 服务器的nginx的/ tomcat7运行客户端,BBB-网络
  2. 服务器用于其处理RTMP的模块视讯会议/共享/电话/ Red5的+ Redis的音频
  3. 服务器的FreeSWITCH的

目前,我能够配置模块通过改变客户端/ 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> 
使用RTMP从单独的Red5服务器

其中10.0.121.14 - 运行Red5 + redis。 10.0.121.16运行nginx + tomcat7。任何文件/帮助/建议从专家解决这个问题?

回答

1

分离Red5服务器可以分发视频和deskshare模块,只需要获取归档脚本以便在处理时从流目录中提取.flv文件。我将离开bbb服务器上的基本red5,以处理本地redis存储的其余消息。

如果你想在服务器上没有red5,那么你需要启用red5服务器才能连接到redis。小心。 downt思考和密码设置,所以你不想公开的接口公开接口,而不使用正确的iptable规则。

关于, Stephen hostbbb.com