使用Flex和Flash Media Server逐帧推进视频

时间:2011-02-11 14:03:53

标签: flex video-streaming flash-media-server

我有一个Adobe Flash Media Server设置了一些流媒体视频(.f4v)。我有一个Flex应用程序,它使用VideoDisplay组件来连接和播放视频。

对于此特定应用程序,用户可以暂停视频并缓慢前进,一次点击一次非常重要。如果可能的话,逐帧逐帧会非常酷。

目前我这样做,这对于值>非常有效。 0.1S

        protected function reverseFrame(event:MouseEvent):void
        {
            mainVideo.playheadTime -= 0.1; // seconds
        }

        protected function advanceFrame(event:MouseEvent):void
        {
            mainVideo.playheadTime += 0.1; // seconds
        }

我可以计算帧的粗略时间(根据我想的元数据),但我不确定这是否是最好的方法。此外,有时使用0.1s这样的小值时,在我再次前进之前,它不会渲染下一个图像。

我已经看到有其他组件可以播放Flash媒体,但我不确定它们是否比VideoDisplay提供了额外的好处。

2 个答案:

答案 0 :(得分:1)

如果您对选择的媒体流服务器解决方案非常灵活,我建议您先看看Wowza Media Server而不是Flash Media Server。

Wowza支持快速前进,快退,慢动作等功能。它的工作原理是以所需的速度流式传输媒体,无需在Flex客户端上实现相同的功能。

您可以查看以下代码示例以了解上述功能:

Wowza Media Server (fast foward, fast rewind, slow motion)

答案 1 :(得分:1)

Flash 10.1为此目的有NetStream.step