3

过去,我的一些项目要求我创建全屏 Flash 应用程序的电影版本。最简单的方法是获取屏幕截图。但是,捕获超过 1024x768 的任何内容都会导致视频断断续续,这是不可接受的。我知道有用于捕获全屏视频的基于硬件的解决方案,但我无法找出这些是什么。我的输出需要可缩放到 1920x1080,并生成一个没有断断续续的未压缩 AVI 文件。

4

7 回答 7

3

各种专业产品支持全高清拍摄:

http://www.decklink.com/products/hd/

http://www.aja.com/

还有其他的。捕获完整的、未压缩的数字或模拟流是一项非常艰巨的要求。

-亚当

于 2008-09-21T02:16:01.563 回答
2

如果 Flash 应用程序是非交互式的,那么有许多工具可以对 AVI 文件或一系列 PNG 文件进行非实时捕获(但完全流畅和完美)。

如果它是交互式的并且您绝对需要实时捕获,FRAPS 实际上可能能够完成这项工作,至少在 Vista 上,通过使用 Aero 作为图形层来操作 FRAPS 录制各种非 DirectShow 应用程序通常并不难。

于 2008-09-21T02:42:00.470 回答
1

如果将影片加载到 Flash ActiveX 控件中,则可以调用控件上的IViewObject::Draw方法(或OleDraw辅助函数)将其绘制到您选择的 DC 中,并循环播放动画中的每一帧。提取音频会更加困难,但是如果您在内部制作了动画,那应该不会太麻烦。

于 2008-09-21T03:06:27.243 回答
0

幸运的是,您的图形适配器已经具有模拟视频输出。您可以连接 DVD 刻录机,然后在独立的硬件盒上将视频信号数字化。

不过,这不会给你 1920x1080。

如果您真的需要获得高于 dvd 分辨率的捕获,您需要专业的(而且非常昂贵)的视频捕获设备。

编辑:

顺便说一句,如果您想以 30 帧/秒未压缩的速度捕获 1920x1080 的真彩色,您必须以某种方式存储大约237 兆字节/秒。只是为了让您了解您必须处理多少数据...

于 2008-09-21T02:01:36.713 回答
0

飞利浦dvdr3575h 等机顶盒可能是最简单的。但是,我不相信他们支持您正在寻找的解决方案。

于 2008-09-21T02:01:39.320 回答
0

If you don't need to click around in the movie Flash CS3 supports frame by frame export of Flash movies (including scripted stuff).

Open up your animation in Flash, if you don't have a .fla available making a simple wrapper that loads your swf should work too. Then go File -> Export -> Export movie, and choose Quicktime. Set the various fiddly bits to your liking, and then Flash will step through your animation as fast as it can, saving you both the risk of dropped frames and having to wait for a 1 fps capture.

于 2008-09-21T09:12:20.657 回答
0

http://rgb.com/ I've looked at their product before - very high end/expensive but perfect video and it's a hardware solution so it's not processor intensive on the machine you are trying to do the demo on.

于 2009-08-20T23:59:51.850 回答