我目前正在努力在Flex中创建基于Web的游戏。游戏的功能之一就是它能够记录游戏玩法并将其放在FLV视频文件上。这是通过捕获游戏的所有帧,将其放在bitmapdata对象上,然后以FLV格式在bytearray上编码的,然后将其保存为文件。

但是,目前,生成的FLV视频文件比平常大,可用于10秒视频的4MB。这是因为IVE仅使用屏幕视频编解码器将BITMAPDATA编码为FLV格式。我希望它更小,以节省内存空间,因为所有录制的VID都旨在在Web服务器中。

我现在想做的是使用H.264编码而不是屏幕视频。将bitmapdata写为h.264编码的帧。经过一些研究,我发现了大约X264库。

现在,我想问一下是否可以在Flex项目中使用X264?如果是我将如何使用它?在使用其API之前,我是否需要将X264源迁移到动作脚本中?还是可以直接在我的flex项目中导入x264vfw.dll库,然后使用其API?如果在FLEX中使用X264根本不可行,我还有什么其他选项?

关于如何在Flex项目中使用X264的一些示例将是很棒的。 =)

谢谢。

有帮助吗?

解决方案

Flash Player拥有允许此功能所需的所有作品,但是Adobe并未将其包装并为其导出API。您的要求基本上是 相机 引用舞台/屏幕而不是网络摄像头的对象。你应该 请为此问Adobe.

Flex无济于事,因为它不能做任何您无法从ActionScript做的事情。 FLEX只是针对原始Flash开发API的非常有用的包装,以及一些支持工具。在底部,所有只是ActionScript 3代码。

能够 通过新的2.0及以上来做您问的事 NativeProcess类. 。这将使您将X264二进制文件与空气应用程序捆绑在一起,并召集它进行压缩。当然,您需要为要支持的每个平台提供单独的X264本机二进制。将Flex应用程序重新包装为Air应用程序非常容易,但是您的游戏不再是网络游戏,它更像是一个本地游戏 发生了 用闪光写。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top