I've got an Adobe Flash Media Server set up with some streaming videos (.f4v). I've got a Flex app that uses a VideoDisplay component to connect and play videos.
For this particular application, it will be important that users can pause a video and advance it slowly, one click at a time. Frame by frame would be pretty cool, if possible.
Currently I do this, which works fairly well for values > 0.1s
protected function reverseFrame(event:MouseEvent):void
{
mainVideo.playheadTime -= 0.1; // seconds
}
protected function advanceFrame(event:MouseEvent):void
{
mainVideo.playheadTime += 0.1; // seconds
}
I could probably calculate the rough time a frame take (from the metadata I suppose) but I'm not sure if that would be the best way of doing it. Also, sometimes when using small values such as 0.1s, it won't render the next image until I advance again.
I've seen that there are other components for playing Flash media, but I'm not sure if they provide any additional benefit over VideoDisplay.