Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 如何获得基于硬件的屏幕捕获?_Flash_Video_Video Capture - Fatal编程技术网

Flash 如何获得基于硬件的屏幕捕获?

Flash 如何获得基于硬件的屏幕捕获?,flash,video,video-capture,Flash,Video,Video Capture,过去,我的一些项目要求我创建全屏Flash应用程序的电影版本。最简单的方法就是获取屏幕截图。然而,捕获超过1024x768的任何内容都会导致视频的起伏,这是不可接受的。我知道有一些基于硬件的解决方案可以捕获全屏视频,但我一直无法找到这些解决方案是什么。我的输出需要可扩展到1920x1080,并产生无起伏的未压缩AVI文件。幸运的是,您的图形适配器已经有了模拟视频输出。你可以连接一台dvd录像机,然后在一个独立的硬件盒上对视频信号进行数字化 但这不会给你1920x1080 如果你真的需要获得比dv

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

幸运的是,您的图形适配器已经有了模拟视频输出。你可以连接一台dvd录像机,然后在一个独立的硬件盒上对视频信号进行数字化

但这不会给你1920x1080

如果你真的需要获得比dvd分辨率更高的视频捕获,你就需要专业的(而且难以置信的昂贵)视频捕获设备

编辑:
顺便说一句,如果你想以每秒30帧的速度捕获1920x1080的真彩色图像,你必须以某种方式将其存储在每秒237兆字节左右。为了让您了解需要处理多少数据…

和其他机顶盒可能是最简单的。但是,我认为他们不支持您所寻求的分辨率。

各种专业产品支持全高清捕获:

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


-Adam

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


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

如果将电影加载到Flash ActiveX控件中,则可以调用该方法(或助手函数)在控件上,将其绘制为所选的DC,并在动画中的每个帧中循环。提取音频将更加困难,但如果您在内部制作动画,这应该不会太麻烦。

如果您不需要在电影中四处点击,Flash CS3支持逐帧导出Flash电影(包括脚本内容)

如果你没有可用的.fla,在Flash中打开你的动画,制作一个简单的包装器来加载你的swf也应该可以。 然后转到文件->导出->导出电影,然后选择Quicktime。根据您的喜好设置各种精细的位,然后Flash将以最快的速度逐步完成动画,这样既可以避免掉帧的风险,也可以避免等待1fps的捕获。


我以前看过他们的产品-非常高端/昂贵但完美的视频,它是一个硬件解决方案,因此在您尝试进行演示的机器上不需要处理器密集型。

我购买并安装了Decklink HD Extreme,它对我来说非常适合。价格也不错。