November 11, 2007

Streaming Flash Video with open-source software

As we use more and more video clips in our learning modules, the advantages of Flash video have become more apparent. The Flash plugin comes pre-installed on most browsers. Flash is truly cross-platform and cross-browser compatible. Flash scripting works on all platforms, so you can control the video and add cuepoints to the video where required to control navigation through the learning module. For this reason I've been looking at using the Flash Media Server.

However, until recently, the cost of licensing the Flash Media Server software has been prohibitive. An article on Forbes.com notes that the cost for streaming Flash video is sometimes more expensive than it is worth. Fortunately, there is now an open source alternative to Flash Media Server: "Red5," which is not only free but does more than Adobe's Flash Media Server Software. In fact it does more than several Adobe server products put together.

Red5 is an open source Flash Server written in Java that supports streaming audio and video, recording client video streams, remote shared objects (a flash feature that allows collaborative multi-user applications), live stream publishing (webcasting) and much more.

Starting out with simple streaming using the Red5 server:

  1. First go to Red5 Downloads Page and download the latest version for your server platform.
  2. A good tutorial on installing Red5 on Windows is available here. To get to the correct article, find the navigation bar at the bottom of the page, and click to page 2. Click on the button for Red5 Flash Media Server.
  3. Find the file "red5.properties". On my server it is at:
    /serverRoot/Red5/conf/red5.properties

    Change the http.host line to read:

    http.host = your.server.com
    rtmp.host_port = 0.0.0.0:1935
    http.host = your.server.com
    http.port = 5080
    rtmpt.host = 0.0.0.0
    rtmpt.port = 8088
    debug_proxy.host_port = 1936
    proxy_forward.host_port = 127.0.0.1:5080
    rtmp.threadcount = 4

    To stream a video, just put the FLV video file into any of the streams directories. For example:

    /Red5/webapps/oneOfTheApps/streams/yourVideo.flv

    Access the stream by using a flash based video player. A simple example is available for download:

    Download example player file

    The relevant actionscript is in frame1 of the main timeline.



    Additional Resources
  4. General Flash Video information:
    Best Practices for Delivery: Flash Video
  5. Additional Information:
    Subscribe to the Red5 mailing list
  6. Another Red5 forum is located here

  7. Security:
    To see all Red5 mailing list posts on the topic of security, paste the following query into a Google search box:
    site:http://osflash.org/pipermail/red5_osflash.org/ security
  8. Performance:
    Stress test results of publishing a live stream to many clients (May 2007)

For more articles on scorm, web development, powerpoint and other topics, see The Designspace

Posted by emeiselm at 04:38 PM | Comments (0)

March 30, 2007

Powerpoint and video

Successfully incorporating video clips into powerpoint isn't hard, but the process will go more smoothly if you consider how the presentation will be delivered before inserting the video file. This tutorial is mainly oriented toward the PC version of powerpoint and Windows Media Player.

Let's go over some possible scenarios:


Scenario 1. You create and present the powerpoint presentation on your own laptop.


If the .ppt file is not going to be moved from its current position on the laptop, you only have to ensure that the video clip actually resides on your laptop, so that it will be available when you are giving the presentation.


So before inserting the video file, make sure that it is indeed on the C drive, or more simply, in whatever folder the powerpoint presentation is in, and not on a networked drive somewhere. This may seem obvious, but I've found that many users are not at all clear on what drives they are using.


The important thing to remember is: Powerpoint only inserts a pointer to the clip into the presentation. The pointer specifies the path to the current position of the clip, relative to the powerpoint file. This pointer will NOT be updated if the presentation file or the video file are moved. Powerpoint will continue looking for the file in a location it can no longer reach. Easiest solution: start with the video file in the same folder as the powerpoint, THEN insert it into the presentations, then move both files into the same folder on the laptop


Scenario 2. You develop the powerpoint on your desktop computer and move it to a laptop or CD:



Use the "Insert Movies and Sounds" command.


For the same reasons as above, before inserting the video clip into your Powerpoint presentation, move it to the same directory as the powerpoint file, or at least to a relative path that you can duplicate on the laptop. Windows does not keep track of changing file locations, and will not be able to find the clip if it does not remain in the same relative location to the Presentation as when it was inserted. When you move the presentation over to the lapto, be sure to move the video clip as well, into the same folder again, or to the same relative path.


Scenario 3. You develop the powerpoint on one computer, then move it to the web.




Use the "Insert:Object:Create New: Windows Media Player" command


You will probably need to put the video clip on a streaming server if a lot of people will be viewing the presentation at once. However, you can't use the standard "Insert: Movies and Sounds" command for a streaming file. You need to insert a Windows Media Player object, which can be set to point to either streaming or non-streaming files. To use this player, select Insert:Object: Create New: Windows Media Player. Once the player appears on the slide, right click it, select "Properties" from the popup menu, and in the space next to "URL" type in the URL (mms://your.streaming.server.com) of the streaming file, OR type in the URL of the .asx file that points to the streaming file.

Posted by emeiselm at 08:02 PM | Comments (0) | TrackBack

Adding Narration to Powerpoint

Preparation:

  1. You will need to purchase a microphone or a headset Microphone. I recommend the Plantronics USB headset mics, LISTED HERE. I use the Plantronics DSP 400, but the less expensive ones work well also.
  2. Find a quiet room, preferably one with no air-conditioning or heating blower hum, and no other ambient noises. If you work in an older building this can be a challenge, enough so you may want to consider doing the recording elsewhere.
  3. Prepare a script for your narration. Run through it once or twice, to eliminate "umms" and "errr's" in your rendition.
  4. Plug in the microphone, and if you are using Windows, you will also need to install the software that comes with it, and restart. On a Mac, simply plug in the mic, then select System Preferences from the Apple menu or the Dock, select

  5. If you haven't already, create your Powerpoint slides.


Recording:


  1. If your Powerpoint file is on a CD or a server, move it to a new folder created on your desktop, or within your documents folder. I've found that many people have difficulty figuring out where their files actually are after recording, and it helps if you put them all together to begin with. This also eliminates network slowdown issues when recording and playing back.

  2. Open the Powerpoint file. Select "Record Narration" from the Slide Show menu.
  3. Under "Sound Input device" select the Plantronics USB microphone from the pull-down menu.

  4. Recordnarration2
  5. Also select "Link Narrations" and choose the folder containing the Powerpoint file for the location of the linked narration files.

  6. When you click "Record," the presentation will start to play with the first slide. Begin narrating, and when you have finished with the first slide, click the mouse, or hit the spacebar to advance one slide. Continue with the text for the next slide. When you are done with all the slides, Powerpoint will ask you if you want to save the timings with the narration.

    Savetimings

    To move the presentation to a laptop or CD, drag the entire project folder to the new location.


For articles on web development, powerpoint and other topics, see The Designspace

Posted by emeiselm at 07:55 PM | Comments (0)

March 22, 2007

Tegrity's Campus 2.0

The Tegrity's Campus 2.0 lecture recording system is a very interesting one, in that unlike many (most? all?) others, it does not require specialized hardware on the recording end. Where other vendors would have you install a recording appliance in every classroom (or have one that can be wheeled in on a cart), Tegrity only wants Active X installed on the machine (any machine) doing the recording. (There is a corresponding thin client for the Mac, but it's probably using something other than Active X :-))

It works like that: a professor comes in with a laptop, installs the Active X (or has it already), goes to a URL for the recording server, types some metadata for the session (title, description, his/her name) and clicks "Start". (The metadata can be pre-filled and recordings scheduled in advance). After the recording (s)he can click "Stop" and choose to publish the recording. Rudimentary editing is available, so that awkward moments can be cut out.

Since this is location-independent, it is also possible for someone to record a lecture from home, as long as a broadband connection to the server is available. The simplicity and flexibility of this system has no match in what I've seen so far in that space.

[Note: pricing info removed by request from Tegrity... There is this old saying, rule-of-thumb: "If they don't show you the price, you can't afford it." :-)]

True, the price goes down the next year, and we're likely to do more and more recordings, but still... At higher student counts (1,000 and more) the price per student goes down, so it might make sense to form a consortium of several departments, who would negotiate a substantial discount, purchase a larger license and share it. Again, the system does not care where the recording is made or by whom, and the server can sit anywhere.

I will likely invite a Tegrity rep to do a demo of Campus 2.0 at SI on March 29 - if interested, drop me a note at wlodek@umich.edu.

Posted by wlodek at 09:17 AM | Comments (0)

February 20, 2007

Apreso

There has been a growing demand for recording of lectures and class sessions at the School of Information. We've been using software called ProfCast (available only for the Mac) and a combination of off-the-shelf hardware (Mac mini, camera, microphone, monitor) mounted on a cart, which we would move from classroom to classroom, depending on the need. It is not a bad system, but it requires more care than we can devote to it, and it is not quite there yet in terms of features. So we've been looking at various alternatives, trying to locate something that is fairly sophisticated yet easy to use and affordable. (Yes, it's about as fruitful as searching for that one person that is super smart, with stunningly good looks, and madly in love with you. :-)). This morning we had a rep from Anystream demonstrate their Apreso system.

It was fairly impressive, especially on the ease-of-use front: the system hid all of its complexity from the end user, actually to the point of overdoing it by not even giving the user any indication as to when recording started and ended. (This is driven entirely by a scheduling system and there isn't even a big, green "Start" button to press...) That's a tough sell at a university where few things start and end exactly on time, especially since the system provides no editing capability, so the first 10 or 15 minutes of waiting for the latecomers to show up can't be edited out...

Apreso is a hardware/software combination, although there is a software-only product that does not provide the capability to record video of the presenter. It's not quite turn-key, in that in addition to the processing box (a Dell desktop outfitted with a bunch of cards) one also needs a Content Management server (to handle scheduling and store the final product), a streaming server (if streaming of content is desired), and an LMS (in our case it would be CTools) to control access to the recordings.

Also impressive was the range of recording formats, from the "whole nine yards": talking head + live screen capture + close captioning, to an audio-only file on iTunes. The processing of those is done automatically, behind the scenes - again, with the substantial caveat of not being able to edit the recording.

Pricing was not impressive, although, in all fairness, the system is significantly less expensive than comparable products from its competitors: the Apreso appliance (the recording/processing box) costs $2,500. The support contract is $5,000 annually - optional after the first year, but it is still one of few products for which the support costs several times as much as the product itself... ;-) With all the other peripherals we will need (not including the servers), we'd probably be looking at close to $10,000 to equip just one classroom. Ouch! (Presumably, each additional classroom would cost significantly less, but the "ouch!" would in all likelihood still apply.

I wonder if other schools have found the Holy Grail of an "easy-to-use/powerful/inexpensive" recording system, and whether they've just put together something from various components, or went with an Apreso-like appliance?

Posted by wlodek at 08:28 PM | Comments (0)