能够在不必播放视频的情况下捕获帧阵列,然后在flash / flex客户端向后播放

我已经看到一些帖子涉及截取播放视频帧的截图。我正在寻找一种向后播放视频的方法,并且通常一次只能移动一帧。理想情况下,我能够在特定i帧之前和之后从闪存视频中提取帧。 最重要的是,这个问题是能够在不实际播放视频的情况下提取帧。我在SO上找到的所有解决方案都需要播放视频,然后它们基本上只是将屏幕打印到位图。 动作脚本中是否可以提取单个视频帧以启用单帧前进和后退?     
已邀请:
没有先播放内容,我认为没有办法。但是......你可以顺序bitmapdata.draw每帧作为流视频(不一定在显示列表中)播放,直到你有一个大的位图数组来导航。这有两个大问题: 显然,一个是你只能访问已经玩过的帧。这可能是由您的应用程序中发生的任何其他事情处理的 - 比如用户在视频流式传输/被捕获时与某些介绍内容进行交互。 另一个,也许是难以克服的问题是记忆。流式传输内容的原因是您在内存中始终没有全部24兆(或更多)的内存。这种情况意味着您必须这样做。话虽如此,取决于帧的大小/数量 - 这可能不是一个大问题。 坦率地说,如果你决定走这条路线,你最好将视频分成闪光之外的帧(后效或首映),然后将它们与swf嵌入(或单独加载)。无论如何,这意味着你可以更好地控制压缩。 也许这有帮助吗?     
你的部件组合令人困惑,但...... 能够捕获帧数组:
bitmapData.draw(video);
无需播放视频:
netStream.pause();
然后回放:
netStream.step(-1);
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html     
如果使用关键帧间隔1(即所有帧都是关键帧)对视频文件进行编码,则向后导航视频不会有问题。这会增加文件的大小,但您可以在播放时立即跳转到任何帧。     

要回复问题请先登录注册