diff --git a/record-and-playback/core/lib/recordandplayback/generators/events.rb b/record-and-playback/core/lib/recordandplayback/generators/events.rb
index 2100984d0f42f95e562f5022db72c6f35a26e7c0..cecfb7bf76f2fe83c745008d4175705a16292a23 100755
--- a/record-and-playback/core/lib/recordandplayback/generators/events.rb
+++ b/record-and-playback/core/lib/recordandplayback/generators/events.rb
@@ -106,17 +106,6 @@ module BigBlueButton
       start_events
     end
 
-    # Get stop video events
-    def self.get_stop_video_events(events_xml)
-      BigBlueButton.logger.info("Task: Getting stop video events")
-      stop_events = []
-      doc = Nokogiri::XML(File.open(events_xml))
-      doc.xpath("//event[@eventname='StopWebcamShareEvent']").each do |stop_event|
-        stop_events << {:stop_timestamp => stop_event['timestamp'].to_i, :stream => stop_event.xpath('stream').text}
-      end
-      stop_events
-    end
-
     # Build a webcam EDL
     def self.create_webcam_edl(archive_dir)
       events = Nokogiri::XML(File.open("#{archive_dir}/events.xml"))
@@ -139,13 +128,22 @@ module BigBlueButton
         :areas => { :webcam => [] } 
       }
 
-      events.xpath('/recording/event[@module="WEBCAM"]').each do |event|
+      events.xpath('/recording/event[@module="WEBCAM" or @module="bbb-webrtc-sfu"]').each do |event|
         timestamp = event['timestamp'].to_i - initial_timestamp
+        # Determine the video filename
         case event['eventname']
-        when 'StartWebcamShareEvent'
+        when 'StartWebcamShareEvent', 'StopWebcamShareEvent'
           stream = event.at_xpath('stream').text
           filename = "#{video_dir}/#{stream}.flv"
+        when 'StartWebRTCShareEvent', 'StopWebRTCShareEvent'
+          uri = event.at_xpath('filename').text
+          filename = "#{video_dir}/#{File.basename(uri)}"
+        end
+        raise "Couldn't determine webcam filename" if filename.nil?
 
+        # Add the video to the EDL
+        case event['eventname']
+        when 'StartWebcamShareEvent', 'StartWebRTCShareEvent'
           videos[filename] = { :timestamp => timestamp }
           active_videos << filename
 
@@ -160,10 +158,7 @@ module BigBlueButton
             }
           end
           video_edl << edl_entry
-        when 'StopWebcamShareEvent'
-          stream = event.at_xpath('stream').text
-          filename = "#{video_dir}/#{stream}.flv"
-
+        when 'StopWebcamShareEvent', 'StopWebRTCShareEvent'
           active_videos.delete(filename)
 
           edl_entry = {
@@ -494,7 +489,7 @@ module BigBlueButton
     # of the final recording
     def self.have_webcam_events(events_xml)
       BigBlueButton.logger.debug("Checking if webcams were used...")
-      webcam_events = events_xml.xpath('/recording/event[@module="WEBCAM"]')
+      webcam_events = events_xml.xpath('/recording/event[@eventname="StartWebcamShareEvent" or @eventname="StartWebRTCShareEvent"]')
       if webcam_events.length > 0
         BigBlueButton.logger.debug("Webcam events seen in recording")
         return true
diff --git a/record-and-playback/core/spec/recordandplayback/deskshare_generator_spec.rb b/record-and-playback/core/spec/recordandplayback/deskshare_generator_spec.rb
deleted file mode 100755
index a1d5da8cbe184c441b37253f6db0afb992008d03..0000000000000000000000000000000000000000
--- a/record-and-playback/core/spec/recordandplayback/deskshare_generator_spec.rb
+++ /dev/null
@@ -1,79 +0,0 @@
-#
-# 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/>.
-#
-
-require 'spec_helper'
-require 'digest/md5'
-
-module BigBlueButton
-  describe "DeskshareProcessing" do
-    context "#success" do
-      it "should get the 2 webcam start events" do
-        dir = "resources/raw"
-        events_xml = "#{dir}/webcam-events.xml"
-        se = BigBlueButton::Events.get_start_video_events(events_xml)
-        se.size.should == 2
-      end
-
-      it "should get the 2 webcam stop events" do
-        dir = "resources/raw"
-        events_xml = "#{dir}/webcam-events.xml"
-        se = BigBlueButton::Events.get_stop_video_events(events_xml)
-        se.size.should == 2       
-      end
-
-      it "should get the 2 deskshare start events" do
-        dir = "resources/raw/974a4b8c-5bf7-4382-b4cd-eb26af7dfcc2"
-        events_xml = "#{dir}/events.xml"
-        BigBlueButton::Events.get_start_deskshare_events(events_xml).size.should == 2
-      end
-
-      it "should get the 2 deskshare stop events" do
-        dir = "resources/raw/974a4b8c-5bf7-4382-b4cd-eb26af7dfcc2"
-        events_xml = "#{dir}/events.xml"
-        BigBlueButton::Events.get_stop_deskshare_events(events_xml).size.should == 2
-      end
-      
-      it "should get the webcam start events" do
-        dir = "resources/raw"
-        events_xml = "#{dir}/webcam-events.xml"
-        se = BigBlueButton::Events.get_start_video_events(events_xml)
-        se.size.should == 2
-      end
-
-      it "should get the webcam stop events" do
-        dir = "resources/raw"
-        events_xml = "#{dir}/webcam-events.xml"
-        se = BigBlueButton::Events.get_stop_video_events(events_xml)
-        se.size.should == 2       
-      end
-
-      it "should get the deskshare start events" do
-        dir = "resources/raw/8774263b-c4a6-4078-b2e6-46b7d4bc91c1"
-        events_xml = "#{dir}/events.xml"
-        BigBlueButton::Events.get_start_deskshare_events(events_xml).size.should == 1
-      end
-
-      it "should get the deskshare stop events" do
-        dir = "resources/raw/8774263b-c4a6-4078-b2e6-46b7d4bc91c1"
-        events_xml = "#{dir}/events.xml"
-        BigBlueButton::Events.get_stop_deskshare_events(events_xml).size.should == 1
-      end
-      
-    end
-  end
-end