【问题标题】:How can x264 library be use in a Flex/Flash project?如何在 Flex/Flash 项目中使用 x264 库?
【发布时间】:2010-12-30 09:22:51
【问题描述】:

我目前正致力于在 flex 中创建一个基于网络的游戏。游戏的功能之一是它能够记录游戏玩法并将其保存在 flv 视频文件中。这是通过捕获游戏的每一帧,将其放在位图数据对象上,然后以 FLV 格式将其编码到字节数组上,然后将其保存为文件来完成的。

不过,目前生成的 flv 视频文件比平时大,10 秒视频大约 4mb。这是因为我只使用屏幕视频编解码器将 bitmapData 编码为 FLV 格式。我希望它更小以节省内存空间,因为所有录制的视频都打算在网络服务器中。

我现在要做的是使用 h.264 编码而不是屏幕视频。将位图数据作为帧写入 H.264 编码。经过一番研究,我发现了 x264 库。

现在,我想问一下是否可以在 Flex 项目中使用 x264?如果是我将如何使用它?我是否需要先将 x264 源迁移到操作脚本中才能使用其 API?或者我可以直接在我的 flex 项目中导入 x264vfw.dll 库然后使用它的 API 吗?如果在 flex 中使用 x264 根本不可行,我还有哪些其他选择?

关于如何在 flex 项目中使用 x264 的一些示例会很棒。 =)

谢谢。

【问题讨论】:

    标签: apache-flex flash video-capture video-processing video-codecs


    【解决方案1】:

    Flash 播放器包含实现此功能所需的所有组件,但 Adob​​e 并未将其打包并为其导出 API。您所要求的基本上是一个 Camera 对象,它指的是舞台/屏幕而不是网络摄像头。你应该ask Adobe for this

    Flex 不能帮助您,因为它不能做任何您在 ActionScript 中做不到的事情。 Flex 只是对原始 Flash 开发 API 的一个非常有用的包装器,外加一些支持工具。归根结底,这只是 ActionScript 3 代码。

    可以通过新的NativeProcess class 完成您对 AIR 2.0 及更高版本的要求。这将允许您将 x264 二进制文件与您的 AIR 应用程序捆绑在一起,并调用它来进行压缩。当然,您需要为要支持的每个平台提供单独的 x264 本机二进制文件。将 Flex 应用程序重新打包为 AIR 应用程序非常容易,但您的游戏将不再是网页游戏,它更像是一个原生游戏,碰巧是用 Flash 编写的。

    【讨论】:

    • 我已经开始将 x264 库迁移到 actionscript 中。感谢您的回复。
    猜你喜欢
    • 2011-02-05
    • 2014-09-28
    • 1970-01-01
    • 2010-12-05
    • 2011-12-29
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 2011-04-20
    相关资源
    最近更新 更多