I have succesfully done this without much hassel. The Odopod example has some typos in it as well as some structural things that don't work. I think the article was just written quickly and without many quality checks. I have attatched some code that may help out:

serverName="rtmp://prv-flash"; // create connection to server
videoToLoad="corp"; // name of the video to load
totalBuffer=1; // total buffertime
endtime=150; // this is the total number of seconds of the video

nc = new NetConnection();
nc.connect(serverName+"/mxpresentation");

nc.onStatus = function(returnObj) {
// this function checks connection status
if (returnObj.code == "NetConnection.Connect.Success") {
startVideo();
} else if (returnObj.code == "NetConnection.Connect.Rejected") {
gotoAndStop("server busy");
nc.onStatus=null;
} else if (returnObj.code == "NetConnection.Connect.Closed") {
gotoAndStop("closed connection");
}
};
function startVideo() { // function to start video
myInputStream = new NetStream(nc);
vidBoxPlay.attachVideo(myInputStream);
myInputStream.setBufferTime(totalBuffer);
myInputStream.play(videoToLoad);
myInputStream.onStatus = function (infoObject) {
if (infoObject.code == "NetStream.Play.Start" || infoObject.code == "NetStream.Buffer.Empty") {
// below checks for the stream to end or buffer
if (myInputStream.time<endtime) {
buffer_mc._visible=1;
isBuffering = 1;
}else if(myInputStream.time >= endtime) play()
} else if (infoObject.code == "NetStream.Buffer.Full") {
isBuffering =0;
}
}
}
// this returns the percent buffered so that it can
// be displayed graphically
function bufferStatus () {
if (isBuffering){
currentBuffer=myInputStream.bufferLength;
bufferPercent=currentBuffer/totalBuffer;
if (bufferPercent > 1) bufferPercent =1, buffer_mc._visible=0
buffer_mc.bar_mc._xscale=bufferPercent*100;
}
}
pause_btn.onRelease=function (){pauseMovie()} // pauses the movie
play_btn.onRelease=function(){playMovie()} // plays the movie
function pauseMovie () {
myInputStream.pause(true);
}
function playMovie () {
myInputStream.pause(false);
}


Well that's it. If you want it to fastforward and the like you can easily set it to seek to a specific place in your video. I didn't need to with this example but you get the idea.