I was recently tasked with upgrading the video player for the Kiwanis Convention website. The event itself has now passed but the videos are still online, you can check them here.

The client already had a video player in place but wanted to offer a better experience to users on slower connections as some users reported problems viewing the single file, high bandwidth versions without constant rebuffering.
I upgraded the existing FLVPlayback component to the latest version 2.5 and deployed a bunch of SMIL based XML files, one for each clip, which in turn pointed to the different videos.

Here's an example of the SMIL format I used:

view plain
1<smil>
2 <head>
3 <meta base="rtmp://12.34.56.78/vod" />
4 </head>
5 <body>
6 <switch>    
7 <video src="video_file1" system-bitrate="360000"/>    
8 <video src="video_file2" system-bitrate="800000"/>
9 <video src="video_file3" system-bitrate="1400000"/>
10 </switch>
11 </body>
12</smil>
I saved the SMIL files with an XML extension, and I recommend you do the same unless you know that the web server serving up those files knows how to process .smil files. Mine didn't, so I would have had to set up a new MIME type for .smil. But since I didn't know what the client's server would support I opted for .xml and played it safe.

Video playback has been greatly improved and stream switching is now handled behind the scenes in a seamless fashion in case end user bandwidth fluctuates during playback. We settled for three bitrates in the end; I did consider offering four bitrates but it appeared that the player switched a bit too often for my liking in certain situations.

Here are the videos again.