Preparing Video For The Web
From CTLpedia
Abstract: Brief instructions and best use practices for getting video to work on the web using resources available in the CTL at MCC
Contents |
Introduction
Video on the web is growing tremendously with online resources such as YouTube and MetaCafe, publishers of video content want to have their videos viewable by as many people as possible with as little configuration or plugin problems as possible. With competing formats such as Windows Media, QuickTime, RealMedia, and Adobe Flash, questions might arise from an instructional standpoint on how to correctly deploy video with as little end user frustration as possible for the student.
Implications
While a few options exist for streaming large video files that are correctly protected for copyright purposes this article will focus on short video clips with an emphasis on student accessibility.
"Fat" vs. "Thin" Clients
In networking, fat and thin clients mean computer workstations that require and possess heavy versus light processing capabilities, respectively. An example of a fat client workstation would be a well-configured multimedia workstation capable of playing full screen movies along with multi-tasking other types of processor-intensive activities such as video rendering or playing 3D games. A thin client, on the other hand, is constituted by the bare minimums necessary to perform routine tasks. Often a thin client is no more than a shell of a computer that relies on a server machine to provide an image of a desktop on the screen. To the end user the interfaces aren't different. Therefore, for simple tasks such as word-processing, e-mail, web surfing, etc., the main load is handled by a terminal server, and the end user is oblivious to the experience from a usability standpoint. However, once something processor-intensive comes up or special hardware is required, the thin client workstation can't compete with a fat client workstation.
The Fat Media Client
Since the inception of media on the desktop computer, the focus on being able to play a media file required a special program. With the desktop perception in mind, consider the following: As the capabilities of the video format and the capabilities of the player programs increase, so do the memory footprints of the programs required to run them increase. When the web came along, these programs offered plug-in versions of their code so that they could be incorporated with other media that appeared on the web. Even for programs that appeared on the scene post-wide-Internet-use, the software would typically be developed to compete with other existing technologies to gain marketshare and generate revenue, etc. As a result these software programs often included other media-driven goals such as advertising and extra features the average person didn't need if they just wanted to simply watch a media clip. Additionally, the program for the original player has to be installed and maintained on the computer that wishes to view the file. This constitutes what could be called a "Fat" client. Even though the plug in version of the player isn't the full sized program that runs on the desktop, it is slower and more cumbersome to people that don't have them already pre-installed. Examples of these player programs are:
- Apple QuickTime
- Microsoft Windows Media Player
- RealNetworks RealMedia Player
While there are legitimate uses for these programs, they aren't always reliable or cross-platform compatible. What might work on a Macintosh computer won't work on a Windows computer or Linux desktop, etc.
The Thin Media Client
A "thin" client could be constituted as a media player that requires minimal if not zero configuration. The fact that a computer or other device connected to the Internet can access a media-rich site and play the video just by virtue of the fact that it is connected to the web, AND have a minimal memory footprint. Examples of these types of players are:
- Adobe Flash (a plug in capable of playing files in the .flv format) Its memory footprint is around 1 MB for the installer program of the plug in, and virtually 85-90 percent of computers and other devices already have Flash installed on them.
- Sun Java (a virtual machine that can play a multitude of video formats.) While this isn't necessarily an optimal solution, several developers have discovered ways to keep the size of the memory footprint required by a Java VM (virtual machine) relatively low, while exploiting the multimedia capabilities of the Java platform. VX30 Software is an example of what can be accomplished with a Java VM and a small applet which is less than 200 KB. And 75-80 percent of computers have Java deployed with them out of the box. The installer file is between 13-15 MB.
Out of these choices, Flash is a mainstay because of richness of the user experience plus the ease of installation to the user. Its drawbacks are the requirements of a media developer to know a bit about the authoring environment to produce a good .flv video playback mechanism. Another drawback is that the open source movement is often the last player on the block to have the most recent updates for the player. Since the flash player is a commercial product, this makes sense. Fortunately there have been many inroads made by Adobe to correct this. Additionally, several media developers have graciously shared their pre-made template players that can be embedded into a web page and pointed to a .flv file.
Using Flash Video
One of the major contributors to the templatized flash video community is Jeroen Wijering. His JW FLV Player provides a web developer with a pre-made file and the code necessary to play a .flv file on a web page.
The other reason this is significant, is that in order to get a flash video file to play inside a flash movie, you either have to progressively download it from the same website, or rely on a streaming server. Adobe promotes their Flash Media server as the premiere method of streaming a flash movie. However the JW FLV player is capable of 'Pseudo Streaming' using the HTTP protocol.
For an institution such as MCC with many possibilities of providing web content, what this means is that any free opensource or commercial web server software can be used to house flash content. The downside to this is the fact that true streaming 'protects' the content being viewed from easy copying, while this 'Pseudo Streaming' method leaves content much more in the open and easier to copy around.
But for simple video clips that you don't necessarily care about being protected, much in the same way you might not care about other types of academic media floating out on the web, (such as your photographs of your last field trip to Mexico), 'Pseudo Streaming' is a very useful option.
Using the JW FLV Player
In order to use the JW FLV Player, most of the documentation is on the supporting website for it. No attempt will be made to copy the resource that is already there to this article. Rather, a step-by-step guide will be provided on how to deliver instructional materials at MCC using this resource.
Software Tools Needed
- The JW FLV Player
- A FLV conversion tool that will encode video clips from one format (AVI, WMV, QuickTime) to .flv format such as Adobe Flash, Sorenson Squeeze, or the free Riva VX FLV Encoder
- The Free Buraks FLV MetaData Injector (windows only at this time). This tool is necessary for using the 'Pseudo Streaming' feature as explained above.
Steps To Prepare and Author Your Video
- Convert your video file to the .flv format using the encoder of your choice
- Use the FLV Metadata injector to insert keyframes in your file. (NOTE: You only need to do this if you want to 'Pseudo Stream' your file from another web server)
- Use the following command under the windows command prompt (assuming your video files are in your C:\ drive under a folder called 'videofiles' and the flvmdi.exe file is in the same folder or in your Windows Path statement)
C:\videofiles\flvmdi.exe <inputfile.flv> <outputfile.flv> /k
- Use the following command under the windows command prompt (assuming your video files are in your C:\ drive under a folder called 'videofiles' and the flvmdi.exe file is in the same folder or in your Windows Path statement)
- Publish the video files to a same domain web server (*.mc.maricopa.edu)
- Follow the directions on the JW FLV Player Website to configure the player to your liking.
- Publish your web page and accompanying support files (the player .swf file and other page elements) to the college web resource of your choice. (Homedirs, WebCT, etc.)
Final Notes
- This method works inside of WebCT/Blackboard or other course management systems
- The JW FLV Player includes the use of the SWFObject JavaScript Library to correctly detect and deploy the proper version of flash on the user's computer. You should follow the directions on that site to see about customization.
- The JW FLV Player is very customizable in order to provide full integration with current existing web designs.
- The latest versions of the Flash player support full screen modes and support hardware acceleration so as to reduce decoding load from the CPU and move it to the GPU on the computer's graphics hardware. (This speeds things up tremendously and you get great quality that begins to approach that of Digital Cable TV) To see examples of this visit Adobe's Website

