Merge pull request #15171 from GuiLeme/issue-15051
refactor: Removed all traces of Red5
This commit is contained in:
commit
61b269eca8
@ -46,8 +46,8 @@ object Dependencies {
|
||||
|
||||
val apacheLang = "org.apache.commons" % "commons-lang3" % Versions.lang
|
||||
|
||||
val bbbCommons = "org.bigbluebutton" % "bbb-common-message_2.13" % Versions.bbbCommons excludeAll (
|
||||
ExclusionRule(organization = "org.red5"))
|
||||
val bbbCommons = "org.bigbluebutton" % "bbb-common-message_2.13" % Versions.bbbCommons
|
||||
|
||||
val bbbFseslClient = "org.bigbluebutton" % "bbb-fsesl-client" % Versions.bbbFsesl
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,6 @@ public class MessageSender extends RedisAwareCommunicator {
|
||||
connectionPool = ConnectionPoolSupport.createGenericObjectPool(() -> redisClient.connectPubSub(),
|
||||
createPoolingConfig());
|
||||
|
||||
log.info("Redis org.bigbluebutton.red5.pubsub.message publisher starting!");
|
||||
try {
|
||||
sendMessage = true;
|
||||
|
||||
@ -84,7 +83,7 @@ public class MessageSender extends RedisAwareCommunicator {
|
||||
RedisAsyncCommands<String, String> async = connection.async();
|
||||
RedisFuture<Long> future = async.publish(channel, message);
|
||||
} catch (Exception e) {
|
||||
log.warn("Cannot publish the org.bigbluebutton.red5.pubsub.message to redis", e);
|
||||
log.warn("Cannot publish the message to redis", e);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -49,8 +49,6 @@ case class UsersProp(
|
||||
|
||||
case class MetadataProp(metadata: collection.immutable.Map[String, String])
|
||||
|
||||
case class ScreenshareProps(screenshareConf: String, red5ScreenshareIp: String, red5ScreenshareApp: String)
|
||||
|
||||
case class LockSettingsProps(
|
||||
disableCam: Boolean,
|
||||
disableMic: Boolean,
|
||||
|
@ -310,7 +310,7 @@ case class UserJoinMeetingAfterReconnectReqMsg(header: BbbClientMsgHeader, body:
|
||||
case class UserJoinMeetingAfterReconnectReqMsgBody(userId: String, authToken: String, clientType: String)
|
||||
|
||||
/**
|
||||
* Sent from bbb-apps when user disconnects from Red5.
|
||||
* Sent from client to bbb-akka to notify that a user is leaving
|
||||
*/
|
||||
object UserLeaveReqMsg { val NAME = "UserLeaveReqMsg" }
|
||||
case class UserLeaveReqMsg(header: BbbClientMsgHeader, body: UserLeaveReqMsgBody) extends StandardMsg
|
||||
|
@ -327,11 +327,6 @@ module BigBlueButton
|
||||
# Convert the duration to milliseconds
|
||||
info[:duration] = (info[:format][:duration].to_r * 1000).to_i
|
||||
|
||||
# Red5 writes video files with the first frame often having a pts
|
||||
# much greater than 0.
|
||||
# We can compensate for this during decoding if we know the
|
||||
# timestamp offset, which ffprobe handily finds. Convert the units
|
||||
# to ms.
|
||||
info[:start_time] = (info[:format][:start_time].to_r * 1000).to_i
|
||||
info[:video][:start_time] = (info[:video][:start_time].to_r * 1000).to_i
|
||||
|
||||
|
@ -172,12 +172,10 @@ audio_dir = props['raw_audio_src']
|
||||
recording_dir = props['recording_dir']
|
||||
raw_archive_dir = "#{recording_dir}/raw"
|
||||
deskshare_dir = props['raw_deskshare_src']
|
||||
screenshare_dir = props['raw_screenshare_src']
|
||||
redis_host = props['redis_host']
|
||||
redis_port = props['redis_port']
|
||||
redis_password = props['redis_password']
|
||||
presentation_dir = props['raw_presentation_src']
|
||||
video_dir = props['raw_video_src']
|
||||
kurento_video_dir = props['kurento_video_src']
|
||||
kurento_screenshare_dir = props['kurento_screenshare_src']
|
||||
mediasoup_video_dir = props['mediasoup_video_src']
|
||||
@ -206,9 +204,6 @@ archive_audio(meeting_id, audio_dir, raw_archive_dir)
|
||||
archive_notes(meeting_id, notes_endpoint, notes_formats, raw_archive_dir)
|
||||
# Presentation files
|
||||
archive_directory("#{presentation_dir}/#{meeting_id}/#{meeting_id}", "#{target_dir}/presentation")
|
||||
# Red5 media
|
||||
archive_directory("#{screenshare_dir}/#{meeting_id}", "#{target_dir}/deskshare")
|
||||
archive_directory("#{video_dir}/#{meeting_id}", "#{target_dir}/video/#{meeting_id}")
|
||||
# Kurento media
|
||||
archive_directory("#{kurento_screenshare_dir}/#{meeting_id}", "#{target_dir}/deskshare")
|
||||
archive_directory("#{kurento_video_dir}/#{meeting_id}", "#{target_dir}/video/#{meeting_id}")
|
||||
@ -221,11 +216,6 @@ if break_timestamp.nil?
|
||||
BigBlueButton.logger.info('Deleting originals of archived media files.')
|
||||
# FreeSWITCH Audio files
|
||||
delete_audio(meeting_id, audio_dir)
|
||||
# Red5 media
|
||||
# TODO: need to figure out how to set permissions used when red5 creates directories
|
||||
# does this even matter? we're removing red5 soon...
|
||||
# FileUtils.rm_rf("#{screenshare_dir}/#{meeting_id}")
|
||||
# FileUtils.rm_rf("#{video_dir}/#{meeting_id}")
|
||||
# Kurento media
|
||||
FileUtils.rm_rf("#{kurento_screenshare_dir}/#{meeting_id}")
|
||||
FileUtils.rm_rf("#{kurento_video_dir}/#{meeting_id}")
|
||||
|
@ -1,12 +1,9 @@
|
||||
bbb_version: '2.1.0'
|
||||
raw_audio_src: /var/freeswitch/meetings
|
||||
raw_video_src: /usr/share/red5/webapps/video/streams
|
||||
kurento_video_src: /var/kurento/recordings
|
||||
kurento_screenshare_src: /var/kurento/screenshare
|
||||
mediasoup_video_src: /var/mediasoup/recordings
|
||||
mediasoup_screenshare_src: /var/mediasoup/screenshare
|
||||
raw_screenshare_src: /usr/share/red5/webapps/screenshare/streams
|
||||
raw_webrtc_deskshare_src: /usr/share/red5/webapps/video-broadcast/streams
|
||||
raw_deskshare_src: /var/bigbluebutton/deskshare
|
||||
raw_presentation_src: /var/bigbluebutton
|
||||
notes_endpoint: http://127.0.0.1:9002/p
|
||||
|
@ -54,29 +54,6 @@ def check_events_xml(raw_dir,meeting_id)
|
||||
bad_doc = Nokogiri::XML(File.open(filepath)) { |config| config.options = Nokogiri::XML::ParseOptions::STRICT }
|
||||
end
|
||||
|
||||
def repair_red5_ser(directory)
|
||||
cp="/usr/share/red5/red5-server.jar:/usr/share/red5/lib/*"
|
||||
if File.directory?(directory)
|
||||
FileUtils.cd(directory) do
|
||||
|
||||
BigBlueButton.logger.info("Repairing red5 serialized streams")
|
||||
Dir.glob("*.flv.ser").each do |ser|
|
||||
BigBlueButton.logger.info("Repairing #{ser}")
|
||||
ret = BigBlueButton.exec_ret('java', '-cp', cp, 'org.red5.io.flv.impl.FLVWriter', ser, '0', '7')
|
||||
if ret != 0
|
||||
BigBlueButton.logger.warn("Failed to repair #{ser}")
|
||||
next
|
||||
end
|
||||
|
||||
BigBlueButton.logger.info("Cleaning up .flv.ser and .flv.info files")
|
||||
FileUtils.rm_f(ser)
|
||||
FileUtils.rm_f("#{ser[0..-5]}.info")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
# Determine the filenames for the done and fail files
|
||||
if !break_timestamp.nil?
|
||||
done_base = "#{meeting_id}-#{break_timestamp}"
|
||||
@ -96,12 +73,6 @@ begin
|
||||
logger.info("Checking events.xml")
|
||||
check_events_xml(raw_archive_dir,meeting_id)
|
||||
|
||||
logger.info("Repairing webcam videos")
|
||||
repair_red5_ser("#{raw_archive_dir}/#{meeting_id}/video/#{meeting_id}")
|
||||
|
||||
logger.info("Repairing deskshare videos")
|
||||
repair_red5_ser("#{raw_archive_dir}/#{meeting_id}/deskshare")
|
||||
|
||||
if break_timestamp.nil?
|
||||
# Either this recording isn't segmented, or we are working on the last
|
||||
# segment, so go ahead and clean up all the redis data.
|
||||
|
Loading…
Reference in New Issue
Block a user