2016-08-03 20 views
0

bigbluebutton http://docs.bigbluebutton.org/overview/architecture.html의 상위 레벨 아키텍처 개요에서 red5 서버가 rtmp를 사용하는 클라이언트와 통신하거나 nginx를 통해 rtmp를 조정한다는 점을 이해합니다. 그런 다음 red5 서버는 redis (fsesl-akka)를 사용하여 FreeSwitch와 통신합니다. 즉, 별도의 서버에 red5를 배치 할 수 있습니다. nginx를위한외부 Red5 서버에서 작동하도록 bigbluebutton을 구성하는 방법

  1. 서버/클라이언트를 실행하는 tomcat7, BBB-웹 모듈 동영상 컨퍼런스/공유/통화 RTMP를 처리 Red5의 +의 레디 스/오디오
  2. 서버에 대한
  3. 서버 : 결과는 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> 
을 변경하여 별도로 Red5의 서버에서 RTMP를 사용하는 모듈을 config (설정) 할 수 있어요

10.0.121.14 - Red5 +를 실행합니다. 10.0.121.16 nginx + tomcat7을 실행하십시오. 이 문제를 해결하기위한 전문가의 문서/도움말/제안

답변

1

별도의 Red5 서버는 비디오 및 데스크 쉐어 모듈을 배포 할 수 있으며 처리 할 때 .flv 파일을 스트림 디렉토리에서 가져 오려면 보관 스크립트를 가져와야합니다. 기본 red5를 bbb 서버에두고 로컬 redis store를 사용하여 나머지 메시징을 처리합니다.

서버에서 모두 red5를 사용하지 않으려면 red5 서버가 redis에 연결할 수있는 액세스 권한을 가져야합니다. 조심해. downt 생각과 비밀 번호가 설정되어 있으므로 올바른 iptable 규칙을 사용하지 않고 공용 인터페이스에서이를 노출하고 싶지 않습니다.

안부, 스티븐 hostbbb.com