Updated red5 applications configuration to accept redis parameters.
This commit is contained in:
parent
dc5c98b8cf
commit
e768cbe3c5
@ -32,7 +32,7 @@ object Dependencies {
|
||||
val scalaCompiler = "org.scala-lang" % "scala-compiler" % Versions.scala
|
||||
|
||||
val akkaActor = "com.typesafe.akka" % "akka-actor_2.12" % Versions.akkaVersion
|
||||
val akkaSl4fj = "com.typesafe.akka" % "akka-slf4j_2.12" % Versions.akkaVersion % "provided"
|
||||
val akkaSl4fj = "com.typesafe.akka" % "akka-slf4j_2.12" % Versions.akkaVersion
|
||||
|
||||
val googleGson = "com.google.code.gson" % "gson" % Versions.gson
|
||||
val quicklens = "com.softwaremill.quicklens" %% "quicklens" % Versions.quicklens
|
||||
|
@ -17,7 +17,7 @@ object Dependencies {
|
||||
val gson = "2.8.5"
|
||||
val jackson = "2.9.7"
|
||||
val sl4j = "1.7.25"
|
||||
val red5 = "1.0.10-M9"
|
||||
val red5 = "1.0.10-M5"
|
||||
|
||||
// Redis
|
||||
val redisScala = "1.8.0"
|
||||
@ -38,8 +38,8 @@ object Dependencies {
|
||||
val sl4jApi = "org.slf4j" % "slf4j-api" % Versions.sl4j % "runtime"
|
||||
val red5 = "org.red5" % "red5-server-common" % Versions.red5
|
||||
|
||||
val lettuceCore = "io.lettuce" % "lettuce-core" % Versions.lettuce
|
||||
val redisScala = "com.github.etaty" % "rediscala_2.12" % Versions.redisScala
|
||||
val lettuceCore = "io.lettuce" % "lettuce-core" % Versions.lettuce
|
||||
}
|
||||
|
||||
object Test {
|
||||
|
@ -34,7 +34,7 @@ public class RedisStorageService extends RedisAwareCommunicator {
|
||||
|
||||
private static Logger log = LoggerFactory.getLogger(RedisStorageService.class);
|
||||
|
||||
private long keyExpiry;
|
||||
private long expireKey;
|
||||
|
||||
RedisCommands<String, String> commands;
|
||||
private StatefulRedisConnection<String, String> connection;
|
||||
@ -105,12 +105,16 @@ public class RedisStorageService extends RedisAwareCommunicator {
|
||||
* event into redis even if the meeting is not recorded. (ralam sept 23,
|
||||
* 2015)
|
||||
*/
|
||||
commands.expire("meeting:" + meetingId + ":recordings", keyExpiry);
|
||||
commands.expire("meeting:" + meetingId + ":recordings", expireKey);
|
||||
commands.rpush("meeting:" + meetingId + ":recordings", Long.toString(msgid));
|
||||
commands.expire("meeting:" + meetingId + ":recordings", keyExpiry);
|
||||
commands.expire("meeting:" + meetingId + ":recordings", expireKey);
|
||||
commands.exec();
|
||||
}
|
||||
|
||||
public void setExpireKey(long expireKey) {
|
||||
this.expireKey = expireKey;
|
||||
}
|
||||
|
||||
private String recordMeeting(String key, Map<String, String> info) {
|
||||
return commands.hmset(key, info);
|
||||
}
|
||||
|
@ -1,48 +1,45 @@
|
||||
#!/bin/bash
|
||||
# deploying 'screenshare' to /usr/share/red5/webapps
|
||||
|
||||
sbt clean
|
||||
sbt compile
|
||||
sbt package
|
||||
sbt clean compile package
|
||||
|
||||
if [[ -d /usr/share/red5/webapps/screenshare ]]; then
|
||||
sudo rm -r /usr/share/red5/webapps/screenshare
|
||||
fi
|
||||
sudo cp -r target/webapp/ /usr/share/red5/webapps/screenshare
|
||||
|
||||
sudo rm -rf /usr/share/red5/webapps/screenshare/WEB-INF/lib/*
|
||||
sudo cp ~/dev/bigbluebutton/bbb-screenshare/app/target/webapp/WEB-INF/lib/bbb-screenshare-akka_2.12-0.0.3.jar \
|
||||
~/dev/bigbluebutton/bbb-screenshare/app/target/webapp/WEB-INF/lib/scala-library.jar \
|
||||
~/dev/bigbluebutton/bbb-screenshare/app/target/webapp/WEB-INF/lib/scala-reflect.jar \
|
||||
~/dev/bigbluebutton/bbb-screenshare/app/target/webapp/WEB-INF/lib/jackson-* \
|
||||
~/dev/bigbluebutton/bbb-screenshare/app/target/webapp/WEB-INF/lib/paranamer-2.8.jar \
|
||||
~/dev/bigbluebutton/bbb-screenshare/app/target/webapp/WEB-INF/lib/akka-* \
|
||||
~/dev/bigbluebutton/bbb-screenshare/app/target/webapp/WEB-INF/lib/config-1.3.3.jar \
|
||||
~/dev/bigbluebutton/bbb-screenshare/app/target/webapp/WEB-INF/lib/gson-2.8.5.jar \
|
||||
~/dev/bigbluebutton/bbb-screenshare/app/target/webapp/WEB-INF/lib/commons-pool2-2.6.0.jar \
|
||||
~/dev/bigbluebutton/bbb-screenshare/app/target/webapp/WEB-INF/lib/spring-webmvc-4.3.20.RELEASE.jar \
|
||||
~/dev/bigbluebutton/bbb-screenshare/app/target/webapp/WEB-INF/lib/rediscala_2.12-1.8.0.jar \
|
||||
~/dev/bigbluebutton/bbb-screenshare/app/target/webapp/WEB-INF/lib/bbb-common-message_2.12-0.0.20-SNAPSHOT.jar \
|
||||
sudo cp target/webapp/WEB-INF/lib/bbb-screenshare-akka_2.12-0.0.3.jar \
|
||||
target/webapp/WEB-INF/lib/scala-library.jar \
|
||||
target/webapp/WEB-INF/lib/scala-reflect.jar \
|
||||
target/webapp/WEB-INF/lib/jackson-* \
|
||||
target/webapp/WEB-INF/lib/paranamer-2.8.jar \
|
||||
target/webapp/WEB-INF/lib/akka-* \
|
||||
target/webapp/WEB-INF/lib/config-1.3.3.jar \
|
||||
target/webapp/WEB-INF/lib/gson-2.8.5.jar \
|
||||
target/webapp/WEB-INF/lib/commons-pool2-2.6.0.jar \
|
||||
target/webapp/WEB-INF/lib/spring-webmvc-4.3.20.RELEASE.jar \
|
||||
target/webapp/WEB-INF/lib/rediscala_2.12-1.8.0.jar \
|
||||
target/webapp/WEB-INF/lib/bbb-common-message_2.12-0.0.20-SNAPSHOT.jar \
|
||||
target/webapp/WEB-INF/lib/lettuce-core-5.1.2.RELEASE.jar \
|
||||
target/webapp/WEB-INF/lib/netty-* \
|
||||
target/webapp/WEB-INF/lib/reactor-core-3.2.2.RELEASE.jar \
|
||||
target/webapp/WEB-INF/lib/reactive-streams-1.0.2.jar \
|
||||
/usr/share/red5/webapps/screenshare/WEB-INF/lib/
|
||||
|
||||
|
||||
#sudo mkdir /usr/share/red5/webapps/screenshare/WEB-INF/classes
|
||||
#cd /usr/share/red5/webapps/screenshare/WEB-INF/classes/
|
||||
#sudo jar -xf ../lib/bbb-screenshare-akka_2.12-0.0.3.jar
|
||||
#sudo jar -xf .lib/bbb-screenshare-akka_2.12-0.0.3.jar
|
||||
#sudo rm /usr/share/red5/webapps/screenshare/WEB-INF/lib/bbb-screenshare-akka_2.12-0.0.3.jar
|
||||
|
||||
cd /usr/share/red5/webapps/screenshare
|
||||
sudo mkdir lib
|
||||
cd lib
|
||||
sudo cp -r ~/dev/bigbluebutton/bbb-screenshare/app/jws/lib/* .
|
||||
cd ..
|
||||
sudo cp ~/dev/bigbluebutton/bbb-screenshare/app/jws/screenshare.jnlp .
|
||||
sudo cp ~/dev/bigbluebutton/bbb-screenshare/app/jws/screenshare.jnlp.h264 .
|
||||
sudo mkdir -p /usr/share/red5/webapps/screenshare/lib
|
||||
sudo cp -r jws/lib/* /usr/share/red5/webapps/screenshare/lib
|
||||
sudo cp jws/screenshare.jnlp /usr/share/red5/webapps/screenshare
|
||||
sudo cp jws/screenshare.jnlp.h264 /usr/share/red5/webapps/screenshare
|
||||
|
||||
sudo chmod -R 777 /usr/share/red5/webapps/screenshare
|
||||
sudo chown -R red5:red5 /usr/share/red5/webapps/screenshare
|
||||
|
||||
# TODO change the owner username to 'firstuser'
|
||||
|
||||
# // Dev only
|
||||
#sudo service red5 restart
|
||||
#sudo service tomcat7 restart
|
||||
|
@ -29,6 +29,7 @@ object Dependencies {
|
||||
|
||||
// Redis
|
||||
val redisScala = "1.8.0"
|
||||
val lettuce = "5.1.2.RELEASE"
|
||||
|
||||
// BigBlueButton
|
||||
val bbbCommons = "0.0.20-SNAPSHOT"
|
||||
@ -65,6 +66,7 @@ object Dependencies {
|
||||
val apachePool2 = "org.apache.commons" % "commons-pool2" % Versions.pool2
|
||||
|
||||
val redisScala = "com.github.etaty" % "rediscala_2.12" % Versions.redisScala
|
||||
val lettuceCore = "io.lettuce" % "lettuce-core" % Versions.lettuce
|
||||
|
||||
val bbbCommons = "org.bigbluebutton" % "bbb-common-message_2.12" % Versions.bbbCommons
|
||||
}
|
||||
@ -84,6 +86,7 @@ object Dependencies {
|
||||
Compile.scalaLibrary,
|
||||
Compile.scalaReflect,
|
||||
Compile.akkaActor,
|
||||
Compile.akkaSl4fj,
|
||||
Compile.googleGson,
|
||||
Compile.jacksonModule,
|
||||
Compile.red5Server,
|
||||
@ -100,5 +103,6 @@ object Dependencies {
|
||||
Compile.apacheLang,
|
||||
Compile.apachePool2,
|
||||
Compile.redisScala,
|
||||
Compile.lettuceCore,
|
||||
Compile.bbbCommons) ++ testing
|
||||
}
|
||||
|
@ -25,8 +25,8 @@ object AppsRedisSubscriberActor extends SystemConfiguration {
|
||||
}
|
||||
|
||||
class AppsRedisSubscriberActor(jsonMsgBus: IncomingJsonMessageBus, redisHost: String,
|
||||
redisPort: Int,
|
||||
channels: Seq[String] = Nil, patterns: Seq[String] = Nil)
|
||||
redisPort: Int,
|
||||
channels: Seq[String] = Nil, patterns: Seq[String] = Nil)
|
||||
extends RedisSubscriberActor(
|
||||
new InetSocketAddress(redisHost, redisPort),
|
||||
channels, patterns, onConnectStatus = connected => { println(s"connected: $connected") }) with SystemConfiguration {
|
||||
|
@ -1,30 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
|
||||
|
||||
Copyright (c) 2014 BigBlueButton Inc. and by respective authors (see below).
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under the
|
||||
terms of the GNU Lesser General Public License as published by the Free Software
|
||||
Foundation; either version 3.0 of the License, or (at your option) any later
|
||||
version.
|
||||
|
||||
BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License along
|
||||
with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:util="http://www.springframework.org/schema/util"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
|
||||
http://www.springframework.org/schema/util
|
||||
http://www.springframework.org/schema/util/spring-util-2.0.xsd
|
||||
">
|
||||
|
||||
</beans>
|
@ -30,9 +30,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
<bean id="redisStorageService"
|
||||
class="org.bigbluebutton.common2.redis.RedisStorageService"
|
||||
init-method="start" destroy-method="stop">
|
||||
<property name="host" value="${redisHost}" />
|
||||
<property name="port" value="${redisPort}" />
|
||||
<property name="password" value="${redisPassword:''}" />
|
||||
<property name="host" value="${redis.host}" />
|
||||
<property name="port" value="${redis.port}" />
|
||||
<property name="password" value="${redis.password:''}" />
|
||||
<property name="clientName" value="BbbScreenshare" />
|
||||
</bean>
|
||||
</beans>
|
@ -35,6 +35,21 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<import resource="bbb-redis-messaging.xml"/>
|
||||
|
||||
|
||||
<bean id="screenShareApplication" class="org.bigbluebutton.app.screenshare.ScreenShareApplication">
|
||||
<constructor-arg index="0" ref="messageBus"/>
|
||||
<constructor-arg index="1" value="${jnlpFile}"/>
|
||||
<constructor-arg index="2" value="${streamBaseUrl}"/>
|
||||
</bean>
|
||||
|
||||
<bean id="connectionInvokerService" class="org.bigbluebutton.app.screenshare.red5.ConnectionInvokerService"
|
||||
init-method="start" destroy-method="stop">
|
||||
</bean>
|
||||
|
||||
<bean id="meetingManager" class="org.bigbluebutton.app.screenshare.MeetingManager"/>
|
||||
|
||||
<bean id="web.context" class="org.red5.server.Context" autowire="byType"/>
|
||||
|
||||
<bean id="web.scope" class="org.red5.server.scope.WebScope" init-method="register">
|
||||
@ -55,29 +70,20 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
<property name="meetingManager" ref="meetingManager"/>
|
||||
</bean>
|
||||
|
||||
<bean id="meetingManager" class="org.bigbluebutton.app.screenshare.MeetingManager"/>
|
||||
|
||||
<bean id="screenshare.service" class="org.bigbluebutton.app.screenshare.red5.Red5AppService">
|
||||
<property name="appHandler" ref="red5AppHandler"/>
|
||||
<property name="red5RedisSender" ref="red5RedisSender"/>
|
||||
</bean>
|
||||
|
||||
<bean id="red5AppHandler" class="org.bigbluebutton.app.screenshare.red5.Red5AppHandler">
|
||||
<property name="application" ref="screenShareApplication"/>
|
||||
<property name="messageSender" ref="connectionInvokerService"/>
|
||||
</bean>
|
||||
|
||||
<bean id="screenshare.service" class="org.bigbluebutton.app.screenshare.red5.Red5AppService">
|
||||
<property name="appHandler" ref="red5AppHandler"/>
|
||||
</bean>
|
||||
|
||||
<!-- The IoHandler implementation -->
|
||||
<bean id="screenCaptureHandler" class="org.bigbluebutton.app.screenshare.server.socket.BlockStreamEventMessageHandler">
|
||||
<property name="application" ref="screenShareApplication"/>
|
||||
</bean>
|
||||
|
||||
<bean id="screenShareApplication" class="org.bigbluebutton.app.screenshare.ScreenShareApplication">
|
||||
<constructor-arg index="0" ref="messageBus"/>
|
||||
<constructor-arg index="1" value="${jnlpFile}"/>
|
||||
<constructor-arg index="2" value="${streamBaseUrl}"/>
|
||||
</bean>
|
||||
|
||||
<bean id="eventListenerImp" class="org.bigbluebutton.app.screenshare.red5.EventListenerImp">
|
||||
<property name="messageSender" ref="connectionInvokerService"/>
|
||||
<property name="meetingManager" ref="meetingManager"/>
|
||||
@ -100,16 +106,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="connectionInvokerService" class="org.bigbluebutton.app.screenshare.red5.ConnectionInvokerService"
|
||||
init-method="start" destroy-method="stop">
|
||||
</bean>
|
||||
|
||||
<bean id="redisRecorder" class="org.bigbluebutton.app.screenshare.server.recorder.EventRecorder">
|
||||
<constructor-arg index="0" value="${redis.host}"/>
|
||||
<constructor-arg index="1" value="${redis.port}"/>
|
||||
</bean>
|
||||
|
||||
|
||||
<import resource="bbb-redis-pool.xml"/>
|
||||
<import resource="bbb-red5-redis-pubsub.xml"/>
|
||||
</beans>
|
||||
|
@ -1,30 +1,29 @@
|
||||
#
|
||||
# NOTE: default properties.
|
||||
#
|
||||
# NOTE!!!! NOTE!!!! NOTE!!!! NOTE!!!! NOTE!!!!
|
||||
# When making changes that you don't want checked-in, do
|
||||
# git update-index --assume-unchanged <file>
|
||||
#
|
||||
# To have git track the changes again
|
||||
# git update-index --no-assume-unchanged <file>
|
||||
#
|
||||
|
||||
recordingDirectory=/usr/share/red5/webapps/screenshare/streams
|
||||
|
||||
redis.host=127.0.0.1
|
||||
redis.port=6379
|
||||
|
||||
|
||||
streamBaseUrl=rtmp://192.168.23.22/screenshare
|
||||
jnlpUrl=http://192.168.23.22/screenshare
|
||||
jnlpFile=http://192.168.23.22/screenshare/screenshare.jnlp
|
||||
useH264=false
|
||||
|
||||
# NOTES:
|
||||
# 1. GOP (group of pictures) is calculated as frameRate * keyFrameInterval
|
||||
# 2. intra-refresh=1 doesn't work in Chrome. Late comers can't view the stream as
|
||||
# the user missed the key frame
|
||||
# 3. keyFrameInterval is in seconds
|
||||
# 4. Make sure you encode & into & as it will break the JNLP XML
|
||||
#codecOptions=crf=36&preset=veryfast&tune=animation,zerolatency&frameRate=12.0&keyFrameInterval=6
|
||||
codecOptions=crf=38&preset=veryfast&tune=zerolatency&frameRate=5.0&keyFrameInterval=5
|
||||
#
|
||||
# NOTE: default properties.
|
||||
#
|
||||
# NOTE!!!! NOTE!!!! NOTE!!!! NOTE!!!! NOTE!!!!
|
||||
# When making changes that you don't want checked-in, do
|
||||
# git update-index --assume-unchanged <file>
|
||||
#
|
||||
# To have git track the changes again
|
||||
# git update-index --no-assume-unchanged <file>
|
||||
#
|
||||
|
||||
recordingDirectory=/usr/share/red5/webapps/screenshare/streams
|
||||
|
||||
redis.host=127.0.0.1
|
||||
redis.port=6379
|
||||
|
||||
streamBaseUrl=rtmp://192.168.23.22/screenshare
|
||||
jnlpUrl=http://192.168.23.22/screenshare
|
||||
jnlpFile=http://192.168.23.22/screenshare/screenshare.jnlp
|
||||
useH264=false
|
||||
|
||||
# NOTES:
|
||||
# 1. GOP (group of pictures) is calculated as frameRate * keyFrameInterval
|
||||
# 2. intra-refresh=1 doesn't work in Chrome. Late comers can't view the stream as
|
||||
# the user missed the key frame
|
||||
# 3. keyFrameInterval is in seconds
|
||||
# 4. Make sure you encode & into & as it will break the JNLP XML
|
||||
#codecOptions=crf=36&preset=veryfast&tune=animation,zerolatency&frameRate=12.0&keyFrameInterval=6
|
||||
codecOptions=crf=38&preset=veryfast&tune=zerolatency&frameRate=5.0&keyFrameInterval=5
|
||||
|
@ -17,6 +17,13 @@ repositories {
|
||||
mavenLocal()
|
||||
}
|
||||
|
||||
configurations {
|
||||
runtime.exclude group: "org.slf4j", module: "slf4j-api"
|
||||
runtime.exclude group: "org.red5", module: "red5-server"
|
||||
runtime.exclude group: "org.red5", module: "red5-server-common"
|
||||
runtime.exclude group: "org.red5", module: "red5-io"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// Servlet
|
||||
providedCompile 'javax.servlet:servlet-api:2.5@jar'
|
||||
|
@ -8,4 +8,3 @@ gradle resolveDeps
|
||||
gradle war deploy
|
||||
|
||||
sudo chown -R red5.red5 /usr/share/red5/webapps
|
||||
|
||||
|
@ -30,25 +30,28 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
<bean id="redisStorageService"
|
||||
class="org.bigbluebutton.common2.redis.RedisStorageService"
|
||||
init-method="start" destroy-method="stop">
|
||||
<property name="host" value="${redisHost}" />
|
||||
<property name="port" value="${redisPort}" />
|
||||
<property name="password" value="${redisPassword:''}" />
|
||||
<property name="clientName" value="BbbRed5AppsPub" />
|
||||
<property name="host" value="${redis.host}" />
|
||||
<property name="port" value="${redis.port}" />
|
||||
<property name="password" value="${redis.password:''}" />
|
||||
<property name="expireKey" value="${redis.keyExpiry}" />
|
||||
<property name="clientName" value="BbbRed5VideoStore" />
|
||||
</bean>
|
||||
|
||||
<bean id="messageReceiver" class="org.bigbluebutton.common2.redis.pubsub.MessageReceiver"
|
||||
init-method="start" destroy-method="stop">
|
||||
<property name="host" value="${redisHost}" />
|
||||
<property name="port" value="${redisPort}" />
|
||||
<property name="password" value="${redisPassword:''}" />
|
||||
<property name="host" value="${redis.host}" />
|
||||
<property name="port" value="${redis.port}" />
|
||||
<property name="password" value="${redis.password:''}" />
|
||||
<property name="clientName" value="BbbRed5VideoReceiver" />
|
||||
<property name="messageHandler" ref="receivedMessageHandler"/>
|
||||
</bean>
|
||||
|
||||
<bean id="redisSender" class="org.bigbluebutton.common2.redis.pubsub.MessageSender"
|
||||
init-method="start" destroy-method="stop">
|
||||
<property name="host" value="${redisHost}" />
|
||||
<property name="port" value="${redisPort}" />
|
||||
<property name="password" value="${redisPassword:''}" />
|
||||
<property name="host" value="${redis.host}" />
|
||||
<property name="port" value="${redis.port}" />
|
||||
<property name="clientName" value="BbbRed5VideoSender" />
|
||||
<property name="password" value="${redis.password:''}" />
|
||||
</bean>
|
||||
|
||||
<bean id="redisPublisher" class="org.bigbluebutton.red5.pubsub.MessagePublisher">
|
@ -32,6 +32,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<import resource="bbb-redis-messaging.xml"/>
|
||||
|
||||
<bean id="web.context" class="org.red5.server.Context"
|
||||
autowire="byType" />
|
||||
@ -44,6 +46,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
<property name="contextPath" value="${webapp.contextPath}" />
|
||||
<property name="virtualHosts" value="${webapp.virtualHosts}" />
|
||||
</bean>
|
||||
|
||||
<bean id="connInvokerService" class="org.bigbluebutton.app.video.ConnectionInvokerService"
|
||||
init-method="start" destroy-method="stop"/>
|
||||
|
||||
<bean id="meetingManager" class="org.bigbluebutton.app.video.MeetingManager"/>
|
||||
|
||||
<bean id="web.handler" class="org.bigbluebutton.app.video.VideoApplication">
|
||||
<property name="packetTimeout" value="10000"/>
|
||||
@ -53,9 +60,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
<property name="connInvokerService" ref="connInvokerService"/>
|
||||
</bean>
|
||||
|
||||
<bean id="connInvokerService" class="org.bigbluebutton.app.video.ConnectionInvokerService"
|
||||
init-method="start" destroy-method="stop"/>
|
||||
|
||||
<bean id="meetingManager" class="org.bigbluebutton.app.video.MeetingManager"/>
|
||||
|
||||
</beans>
|
||||
|
@ -17,6 +17,13 @@ repositories {
|
||||
mavenLocal()
|
||||
}
|
||||
|
||||
configurations {
|
||||
runtime.exclude group: "org.slf4j", module: "slf4j-api"
|
||||
runtime.exclude group: "org.red5", module: "red5-server"
|
||||
runtime.exclude group: "org.red5", module: "red5-server-common"
|
||||
runtime.exclude group: "org.red5", module: "red5-io"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// Servlet
|
||||
providedCompile 'javax.servlet:servlet-api:2.5@jar'
|
||||
|
@ -10,4 +10,3 @@ gradle war deploy
|
||||
|
||||
sudo chown -R red5.red5 /usr/share/red5/webapps
|
||||
sudo chmod -R 777 /usr/share/red5/webapps
|
||||
|
||||
|
@ -31,7 +31,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
init-method="start" destroy-method="stop">
|
||||
<property name="host" value="${redis.host}"/>
|
||||
<property name="port" value="${redis.port}"/>
|
||||
<property name="password" value="${redisPassword:''}" />
|
||||
<property name="clientName" value="BbbRed5VoiceSender" />
|
||||
<property name="password" value="${redis.password:''}" />
|
||||
</bean>
|
||||
|
||||
<bean id="messagingService" class="org.bigbluebutton.voiceconf.messaging.RedisMessagingService">
|
||||
@ -46,7 +47,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
init-method="start" destroy-method="stop">
|
||||
<property name="host" value="${redis.host}"/>
|
||||
<property name="port" value="${redis.port}"/>
|
||||
<property name="password" value="${redisPassword:''}" />
|
||||
<property name="password" value="${redis.password:''}" />
|
||||
<property name="clientName" value="BbbRed5VideoReceiver" />
|
||||
<property name="messageHandler"> <ref local="redisMessageHandler"/> </property>
|
||||
</bean>
|
||||
|
||||
|
@ -19,7 +19,7 @@ stopAudioPort=16383
|
||||
|
||||
redis.host=127.0.0.1
|
||||
redis.port=6379
|
||||
redis.pass=
|
||||
redis.password=
|
||||
|
||||
|
||||
# If you want mjsip stack (red5/log/*access*.log) to minimize the amount of logs it
|
||||
|
@ -36,6 +36,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<import resource="bbb-redis-messaging.xml"/>
|
||||
|
||||
<bean id="clientConnectionManager" class="org.bigbluebutton.voiceconf.red5.ClientConnectionManager"/>
|
||||
|
||||
<bean id="connInvokerService" class="org.bigbluebutton.voiceconf.red5.ConnectionInvokerService"
|
||||
init-method="start" destroy-method="stop"/>
|
||||
|
||||
<bean id="web.context" class="org.red5.server.Context"
|
||||
autowire="byType" />
|
||||
@ -64,22 +70,14 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
<property name="messagingService" ref="messagingService"/>
|
||||
</bean>
|
||||
|
||||
<bean id="voiceconf.service" class="org.bigbluebutton.voiceconf.red5.Service">
|
||||
<property name="sipPeerManager" ref="sipPeerManager"/>
|
||||
</bean>
|
||||
|
||||
<bean id="connInvokerService" class="org.bigbluebutton.voiceconf.red5.ConnectionInvokerService"
|
||||
init-method="start" destroy-method="stop"/>
|
||||
|
||||
<bean id="sipPeerManager" class="org.bigbluebutton.voiceconf.sip.SipPeerManager">
|
||||
<property name="sipStackDebugLevel" value="${sipStackDebugLevel}"/>
|
||||
<property name="sipRemotePort" value="${freeswitch.port}"/>
|
||||
<property name="messagingService" ref="messagingService"/>
|
||||
|
||||
</bean>
|
||||
|
||||
<bean id="clientConnectionManager" class="org.bigbluebutton.voiceconf.red5.ClientConnectionManager"/>
|
||||
|
||||
<import resource="bbb-redis-messaging.xml"/>
|
||||
<bean id="voiceconf.service" class="org.bigbluebutton.voiceconf.red5.Service">
|
||||
<property name="sipPeerManager" ref="sipPeerManager"/>
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
|
@ -21,6 +21,13 @@ repositories {
|
||||
mavenLocal()
|
||||
}
|
||||
|
||||
configurations {
|
||||
runtime.exclude group: "org.slf4j", module: "slf4j-api"
|
||||
runtime.exclude group: "org.red5", module: "red5-server"
|
||||
runtime.exclude group: "org.red5", module: "red5-server-common"
|
||||
runtime.exclude group: "org.red5", module: "red5-io"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// Servlet
|
||||
providedCompile 'javax.servlet:servlet-api:2.5@jar'
|
||||
@ -60,8 +67,8 @@ dependencies {
|
||||
//redis
|
||||
compile 'org.apache.commons:commons-pool2:2.6.0'
|
||||
|
||||
compile 'com.google.code.gson:gson:2.8.5'
|
||||
providedCompile 'org.apache.commons:commons-lang3:3.8.1'
|
||||
compile 'com.google.code.gson:gson:2.8.5'
|
||||
providedCompile 'org.apache.commons:commons-lang3:3.8.1'
|
||||
|
||||
compile 'org.bigbluebutton:bbb-common-message_2.12:0.0.20-SNAPSHOT'
|
||||
compile 'org.bigbluebutton:bbb-apps-common_2.12:0.0.4-SNAPSHOT'
|
||||
|
@ -8,11 +8,3 @@ gradle resolveDeps
|
||||
gradle war deploy
|
||||
|
||||
sudo chown -R red5.red5 /usr/share/red5/webapps
|
||||
|
||||
# Remove slf4j jar as it conflicts with logging with red5
|
||||
FILE=/usr/share/red5/webapps/bigbluebutton/WEB-INF/lib/slf4j-api-1.7.25.jar
|
||||
if [ -f $FILE ]
|
||||
then
|
||||
sudo rm $FILE
|
||||
fi
|
||||
|
||||
|
@ -1,16 +0,0 @@
|
||||
## Dependecies Version
|
||||
|
||||
# Logging
|
||||
log4jVersion = 1.2.17
|
||||
slf4jVersion = 1.6.6
|
||||
|
||||
# Common libraries
|
||||
springVersion = 3.1.4.RELEASE
|
||||
springRedisVersion = 1.1.0.RELEASE
|
||||
jacksonVersion = 1.8.3
|
||||
|
||||
# Testing
|
||||
junitVersion = 4.8.1
|
||||
mockitoVersion = 1.8.5
|
||||
|
||||
|
@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
|
||||
|
||||
Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under the
|
||||
terms of the GNU Lesser General Public License as published by the Free Software
|
||||
Foundation; either version 3.0 of the License, or (at your option) any later
|
||||
version.
|
||||
|
||||
BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License along
|
||||
with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:util="http://www.springframework.org/schema/util"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
|
||||
http://www.springframework.org/schema/util
|
||||
http://www.springframework.org/schema/util/spring-util-2.0.xsd
|
||||
">
|
||||
</beans>
|
@ -36,7 +36,18 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="msgToClientGW" class="org.bigbluebutton.client.MsgToClientGW" >
|
||||
<constructor-arg index="0" ref="connInvokerService"/>
|
||||
</bean>
|
||||
|
||||
<bean id="clientGWApp" class="org.bigbluebutton.client.ClientGWApplication" destroy-method="shutdown">
|
||||
<constructor-arg index="0" ref="msgToClientGW"/>
|
||||
</bean>
|
||||
|
||||
<bean id="web.context" class="org.red5.server.Context" autowire="byType" />
|
||||
|
||||
<bean id="connInvokerService" class="org.bigbluebutton.red5.client.messaging.ConnectionInvokerService"
|
||||
init-method="start" destroy-method="stop"/>
|
||||
|
||||
<bean id="web.scope" class="org.red5.server.scope.WebScope"
|
||||
init-method="register">
|
||||
@ -47,6 +58,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
<property name="contextPath" value="${webapp.contextPath}" />
|
||||
<property name="virtualHosts" value="${webapp.virtualHosts}" />
|
||||
</bean>
|
||||
|
||||
<bean id="clientInGW" class="org.bigbluebutton.client.ClientInGW" >
|
||||
<constructor-arg index="0" ref="clientGWApp"/>
|
||||
</bean>
|
||||
|
||||
<bean id="web.handler" class="org.bigbluebutton.red5.BigBlueButtonApplication">
|
||||
<property name="connInvokerService"><ref bean="connInvokerService"/></property>
|
||||
@ -54,25 +69,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
<property name="maxMessageLength" value="${maxMessageLength}"/>
|
||||
</bean>
|
||||
|
||||
<bean id="clientInGW" class="org.bigbluebutton.client.ClientInGW" >
|
||||
<constructor-arg index="0" ref="clientGWApp"/>
|
||||
</bean>
|
||||
|
||||
<bean id="msgToClientGW" class="org.bigbluebutton.client.MsgToClientGW" >
|
||||
<constructor-arg index="0" ref="connInvokerService"/>
|
||||
</bean>
|
||||
|
||||
<bean id="clientGWApp" class="org.bigbluebutton.client.ClientGWApplication" destroy-method="shutdown">
|
||||
<constructor-arg index="0" ref="msgToClientGW"/>
|
||||
</bean>
|
||||
|
||||
<bean id="connInvokerService" class="org.bigbluebutton.red5.client.messaging.ConnectionInvokerService"
|
||||
init-method="start" destroy-method="stop"/>
|
||||
|
||||
<bean id="bbbAppsIsAliveMonitorService" class="org.bigbluebutton.red5.monitoring.BbbAppsIsAliveMonitorService"
|
||||
init-method="start" destroy-method="stop">
|
||||
<property name="connectionInvokerService"> <ref bean="connInvokerService"/></property>
|
||||
</bean>
|
||||
|
||||
<import resource="bbb-redis-pool.xml"/>
|
||||
</beans>
|
||||
|
@ -132,6 +132,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
</bean>
|
||||
|
||||
<import resource="doc-conversion.xml"/>
|
||||
<import resource="bbb-redis-pool.xml"/>
|
||||
<import resource="bbb-redis-messaging.xml"/>
|
||||
<import resource="turn-stun-servers.xml"/>
|
||||
</beans>
|
||||
|
Loading…
Reference in New Issue
Block a user