如何配置bigbluebutton以使用外部Red5服务器

时间:2016-08-03 04:10:46

标签: nginx tomcat7 red5 freeswitch bigbluebutton

从bigbluebutton http://docs.bigbluebutton.org/overview/architecture.html的高级架构概述我了解red5服务器使用rtmp与客户端通信或通过nginx调整rtmp。然后red5服务器使用redis(使用fsesl-akka)与FreeSwitch通信。这意味着我们可以在单独的服务器中取消部署red5。结果应该是3台服务器:

  1. nginx / tomcat7服务器运行客户端,bbb-web
  2. Red5 + redis服务器,用于处理模块videoconf /共享/呼叫/音频的rtmp
  3. Freeswitch服务器
  4. 目前,我可以通过更改client / conf / config.xml来配置模块从单独的Red5服务器使用rtmp

    <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 个答案:

答案 0 :(得分:1)

单独的Red5服务器可以分发视频和桌面共享模块,只需要在处理时获取归档脚本从流目录中提取.flv文件。我会在bbb服务器上保留基本的red5来处理本地redis商店的其余消息。

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

的问候, 斯蒂芬 hostbbb.com