RealSystem G2 Streaming Mini-Lectures

William F. Moss 1
College of Engineering and Science
Clemson University
Clemson, South Carolina USA

v.4 March 10, 2000


Why a Streaming Mini-Lecture?
Playing the Streaming Mini-Lecture
Uploading the Streaming Mini-Lecture to RealServer
Creating the Slides
Producing the Audio Track
Generating the SMIL File
Generating the SMIL File Using a Web Form

RealSlideshow, an alternative approach
What Next?


We define a streaming mini-lecture to be a narrated slide show that contains a playlist that provides for random access of slides. In this online paper, we will show how streaming mini-lectures can be produced, served, and played using RealNetworks products. The late-breaking news is that the recently released RealSlideshow 2.0 makes this a fairly simple process. RealSlideshow produces a narrated slide show. By editing the resulting SMIL file, the slide show can be converted into a streaming mini-lecture.


The traditional download and play approach to delivery of multimedia over a network can result in long delays. For example, a download and play presentation might take 10 minutes to download and another 10 minutes to play. A streaming presentation, on the other hand, will begin to play after a short buffering period. This paper discusses the use of the RealNetworks RealPlayer G2 Basic, Microsoft PowerPoint 2000, Microsoft Internet Explorer 5.0, Hyperionics HyperSnap-DX, and Sonic Foundry Sound Forge XP to create a RealSystem streaming mini-lecture. We also discuss the use of the RealNetworks RealServer Basic to serve this mini-lecture across a network. The terms RealPlayer and RealServer will refer to the G2 versions of these products. At this time the next versions of the RealSystem products is just coming out. At this date the you can download the following products free: RealPlayer 7 Basic, RealServer 7 Basic, RealProducer 7 beta, and RealSlideshow 2.

We define a RealSystem streaming mini-lecture to be a narrated slideshow consisting of a RealMedia audio track, a set of slide images, and a synchronized multimedia integration language (SMIL) file which defines a playlist that allows the slides to be randomly accessed. Learning research suggests that streaming mini-lectures should be limited to about 10 minutes.

A RealSystem streaming mini-lecture can be served by a Web server, but the best results are obtained using RealServer. RealServer uses many advanced features to keep the images and audio track synchronized under adverse network conditions. Although RealPlayer can play a streaming mini-lecture as it downloads from a Web server, the HTTP protocol does not give RealPlayer the ability to adjust the download to compensate for changing network conditions. In contrast, RealServer uses the RTSP protocol which is designed specifically to stream presentations that have timelines. The RTSP protocol lets RealPlayer and RealServer exchange information while play is in progress, and lets them adjust the streaming data to keep the presentation playing smoothly. For additional information see the RealSystem G2 Production Guide which is part of the RealProducer Authoring Kit.

For a streaming mini-lecture to play without interruption, available bandwidth must be used wisely. Bandwidth may not be an issue for on-campus students, but guaranteeing a minimum useable bandwidth for off-campus students can be problematic. Networks that were lightly loaded six months ago, may be saturated today. Under best conditions, a 28.8 modem can support a 20 Kbps stream. Effective streaming mini-lectures can be created at this target bandwidth with 8.5 Kbps devoted to the audio stream and 11.5 Kbps devoted to the image stream. However, an off-campus student with a 28.8 Kbps connection to the internet may see an unusable 5 Kbps bandwidth to an on-campus RealServer if the internet-to-campus network interface is saturated during all or part of the day. To be effective, the bandwidth between RealPlayer and RealServer needs to hold close to 20 Kbps independent of RealPlayer and RealServer locations. Some states have created proprietary networks with minimum guaranteed bandwidths to connect classrooms in different locations. Providing up to 650 MB of streaming content on a CD can be a cost effective alternative to delivery over a network and does not require RealServer.

A RealSystem presentation can contain text, audio, image, and video streams or any combination of these. Streaming mini-lectures targeted at bandwidths as low as 20 Kbps and containing text, images, and audio can be constructed on an instructor's personal computer and streamed from RealServer or written to a CD using inexpensive tools. RealServer hardware, license, and management, or CD production costs are the only major expenses.

This paper will discuss the creation and delivery of the streaming mini-lecture Distance Learning Using WebCT (RM) using the following steps and associated software.

Why a Streaming Mini-Lecture?

I was asked in late May to make a 30 minute presentation on WebCT during a week long symposium on distance learning to be held at Clemson June 21-25, 1999, and jointly sponsored by Clemson University and South Carolina State University. A planned trip to the WebCT conference in Vancouver and the following Ed-Media Conference in Seattle spanned these dates. I agreed to tape a 30 minute presentation that could be shown in my absence, and I decided to split the taped presentation into two parts, the first part a PowerPoint presentation containing general remarks about WebCT and distance learning, and the second part a tour of my WebCT course, MTHSC 434 Advanced Engineering Mathematics. I had no prior experience in taping presentations.

I prepared an 11 slide PowerPoint presentation, Distance Learning Using WebCT (PPT), using a white background and a black, blue, red, and gold color scheme that is commonly found in WebCT. I also selected the pages of my WebCT course that I wanted to show. When I arrived for the taping session, I was told that the white background of my PowerPoint slides and the WebCT pages was not conducive to quality video. A quick change of the background color was made to the Powerpoint presentation master slide, but I did not want to alter my WebCT course so some adjustments were made in the video system instead. I was extremely disappointed in the result of this taping. The tape switches back and forth between barely readible screen shots of the PowerPoint slides and WebCT course pages and a talking head. I am so used to keying off the faces of students, that I was completely disarmed by talking to an empty classroom. The value of my talking head to this presentation was clearly negative in my mind. What we had produced was a very poor quality narrated slideshow.

I decided to create a streaming mini-lecture using the same images as the taped presentation as a way of comparing these two technologies. The remainder of this paper will walk you through the production of a 20 slide, 11 minute, streaming mini-lecture entitled Distance Learning Using WebCT (RM). The streaming mini-lecture is far superior to the tape in every conceivable way.

Playing the Streaming Mini-Lecture

The first step is to download RealPlayer if it is not currently loaded on your system. All the RealNetworks products can be downloaded from a central site. Next, view the streaming mini-lecture Distance Learning Using WebCT (RM).

If your display is set at 800x600, RealPlayer will fill your screen. On the menu bar choose View --> Normal. In normal viewing mode, the menu item View --> Playlist toggles the playlist menu bar, and the menu item View --> Status Bar toggles the status bar. The playlists allows random access of the slides. The status bar shows buffering periods, transfer bitrates, and warns of network conjestion. To gain screen real estate, choose View --> Compact and turn off the status bar. The playlist will be automatically turned off, but you can right click the RealPlayer window to see the playlist.

As the mini-lecture plays watch the bitrate in the status bar. If you have a minimum 20 Kbps bandwidth to our RealServer, RealPlayer will connect to our RealServer, buffer for 6 or 7 seconds, and then play continuously for 11 minutes, uninterrupted. If your network connection becomes conjested and the bitrate falls below 20 Kbps, play will stall and a new buffering period will begin. If you network connection is totally lost, RealPlayer will display an error message and empty its buffer. You can simulate this by pulling the plug on your network connection while the mini-lecture is playing.

Uploading the Streaming Mini-lecture to RealServer

The URL for the mini-lecture Distance Learning Using WebCT (RM) is

The name sequoyah refers to a Sun Sparcstation running Solaris 2.6, Sun Microsystem's version of Unix. Installation of RealServer Basic is straightforward. The number 7070 is the number of the port that RealServer listens to for requests from RealPlayer. The RealMedia directory is a subdirectory of the RealServer content directory. The port number and the content directory can be set in the RealServer configuration file. The directory webct-dl contains the following 22 files that comprise this streaming mini-lecture:

and from my Advanced Engineering Mathematics WebCT course MTHSC 434 (Moss) the snapshots

These file were uploaded from the authors laptop computer to sequoyah using FTP. For this file transfer it is important to note that the RM file and the GIF files are of type binary and the SMIL file is of type ascii. Also, note that the images of WebCT are now almost a year old. They show WebCT version 1.3. We upgraded to WebCT version 2.0 on December 17, 1999.

Creating the Slides

To the 11 slide PowerPoint presentation created for the taping session, I added snapshots of the WebCT at Clemson homepage, the WebCT Courses at Clemson homepage, and 7 snapshots of various pages of my MTHSC 434 WebCT course. Sizing the WebCT course pages at 700x500 in Internet Explorer 5.0 seemed to capture the most important features on these pages. A 700x500 RealPlayer window together with the RealPlayer menu bars and status bar just fits in an 800x600 window and looks good in a 1024x768 window so I decided to use an image size of 700x500.

I used Microsoft PowerPoint 2000 to save the 11 slide presentation as HTML. I then opened the first slide of the HTML version of this presentation in a 700x500 Microsoft Internet Explorer 5.0 window and used Hyperionics HyperSnap-DX to capture and save this window in GIF format. Once set up for the first slide, HyperSnap-DX's Capture --> Repeat Last Capture menu item automated the process of capturing the remaining 10 slides. Next, the 7 WebCT pages were opened in Internet Explorer and captured in the same way.

PowerPoint 2000's Save As GIF option produces images of size 720x540 and PowerPoint 97's conversion to HTML option creates GIF images with a limited set of size choices. Because the 11 slides contained only text and colored rectangles, PowerPoint 2000's conversion to HTML option created an HTML document for each slide which contained no embeded GIF images. When opened in Internet Explorer 5.0 the fonts in these HTML slides scaled cleanly as the Internet Explorer window was resized. Together with HyperSnap-DX, it was possible to capture a quality GIF image of any size.

Producing the Audio Track

A script was written for each of the 20 slides and read through for practice. Sound Forge XP was used to record the audio track one slide at a time. The microphone recording level was set at about mid-range, and the microphone was held close enough to the mouth to produce peak levels of about -6 db. The narration for a slide was recorded, a marker was placed (M key) at the end of the clip, and then the next clip was recorded. When necessary, a clip could be cut out and re-recorded.

When completed the audio track contained 20 clips with a marker at the beginning and end of each clip. By double clicking between markers, each clip was selected and then converted into a region using the Special --> Regions List --> Add menu item. Next, the regions list was saved as a text file audio.txt, by doing the following: View --> Regions List --> right click --> Copy onto Clipboard --> Paste into Notepad --> Save As. The regions list audio.txt contained 21 marker records and 20 region records. The region records are needed to create the SMIL file to drive the streaming mini-lecture. A region record looks like

Region 00:00:00.000 to 00:00:26.555 00:00:00.000 00:00:26.555 00:00:26.555

This record contains 4 fields: region title, beginning time, ending time, and duration. The time format is hours, minutes, seconds, and milliseconds.

The audio track was saved as a WAV file, audio.wav, in case further editing was needed. The audio track was saved again as a RealNetworks G2 file, audio.rm. A dialog box asks for additional information: G2 RealPlayer Compatibility, 28K Modem, Voice Only, Advanced --> Voice Only 8.5 Kbps.

Cool Edit 96, another popular digital sound editor for Windows, could be used to produce audio.rm and a regions list (Cool Edit calls it a cue list).

Generating the SMIL File

The SMIL file directs the show. It is a text file which can be created with a text editor such as Notepad. The SMIL file tells RealPlayer where to obtain the audio track and images and when to play them. Instructions for creating SMIL files can be found in the RealSystems G2 Production Guide.

Examine the SMIL file audio.smi for the streaming mini-lecture Distance Learning Using WebCT (RM). The SMIL file consists of a header and a body. The header contains the mini-lecture title and author and the RealPlayer image window size. The body consists of a sequence of par groups, one for each slide. The titles of the par groups make up the RealPlayer playlist. Each par group also contains the corresponding audio track beginning and ending time. A bitrate of 8.5 Kbps was encoded into audio.rm when it was created. The default bitrate for the images is 12 Kbps which is what we used here. The total bitrate of 20.5 Kbps is shown in the status bar as the mini-lecture is played.

The PowerPoint 2000 conversion to HTML produces the file outline.htm which contains the titles of the 11 slides in the original PowerPoint presentation. The regions list, which was produced along with the audio track, contains the beginning times, ending times, and durations.

Generating the SMIL File using a Web Form

A Perl CGI script can be used to generate the markup in the SMIL file. The data for the streaming mini-lecture must first be put into a text file. The data for the streaming mini-lecture discussed here is contained in the text file stream.txt. Examine this file. The width and height values specify the size of the RealPlayer image window. The audio begin offset seconds value specifies the time delay between the beginning of the par group and the beginning of the audio track for a particular slide. Here it is set to zero, but there may be cases in which a delay is desirable. Following the first 7 records are 20 records, one for each slide, with the following fields: image filename, slide title, audio-clip begin time, audio-clip end time.

These 20 records can be generated starting from the regions list generated by Sound Forge XP. First replace each region title generated by Sound Forge XP by the title of the corresponding slide. Second delete the duration field. Third add the image filenames. To produce the SMIL file, paste the contents of stream.txt into the textbox of the web form Streaming Mini-Lecture SMIL File Generation, submit, and then copy the resulting SMIL text into a file and name it audio.smi.

RealSlideshow, an alternative approach

RealSlideshow 2.0 provides a simple graphical interface for constructing a narrated slide show that does not have a playlist. However, by editing the SMIL file created by RealSlideshow, a playlist can be introduced. We will assume that the reader has read the excellent help files provided with RealSlideshow and has experimented enough to be comfortable with the interface. Here are the steps required to produce a streaming mini-lecture.

There are several advantages to using RealSlideshow.

What Next?

Research on learning styles suggest that providing students with a choice of media types can be effective. In some cases this is a necessity. A hearing handicapped student, for example, will not be well served by the streaming mini-lecture discussed here. This mini-lecture could be closed captioned by delivering the narration as streaming text, scrolling in another window. The student could then be given a closed caption option.

A student trying to view text, audio, image, and video streams over a low bandwidth connection may find that one of these streams does not have much "bang per Kbps" and so might choose to turn that stream off to avoid interruptions of play. In my opinion, a talking head video stream ought to be the first stream to go. Next, would be the jerky, low frame rate video stream of an instructor writing on a blackboard when you can't read what is being written. Clearly video streams of classroom lectures present technical challenges which go well beyond the authoring capabilities of most instructors.

There is, however, one area in which instructor authoring of video streams may turn out to be feasible. Products such as Hyperionics HyperCam now make it possible for an instructor to create a streaming video tutorial on his desktop. Any procedure that can be demonstrated on a computer can be captured in this way. HyperCam captures the action from a Windows 95/98/NT screen and saves it to an AVI (Audio-Video Interleaved) movie file. Sound from the system microphone is also recorded. Any color mode can be used, but performance is best in 8 bit color mode (256 colors). In this configuration HyperCam can capture up to 10 frames per second of size 640x480 on a Pentium 133 machine. The frame rate can be higher if the capture area is smaller or the machine is faster. The AVI file can be encoded with RealProducer and incorporated into a streaming presentation.


This study was sponsored by the Southeastern University and College Coalition for Engineering Education (SUCCEED) and the Pilot Laptop Program, College of Engineering and Science, Clemson University.

1 William F. Moss, Department of Mathematical Sciences, College of Engineering and Science, Clemson University.