1

私は現在、フレックスでWebベースのゲームを作成することに取り組んでいます。ゲームの特徴の1つは、ゲームプレイを記録してflvビデオファイルに保存できることです。これは、ゲームのすべてのフレームをキャプチャし、それをビットマップデータオブジェクトに配置し、FLV形式でバイトアレイにエンコードしてからファイルとして保存することで実行されます。

ただし、現在、生成されたflvビデオファイルは通常よりも大きく、10秒のビデオでは約4MBです。これは、IveがScreenVideoコーデックを使用してbitmapDataをFLV形式にエンコードしたためです。記録されたすべてのビデオはWebサーバーにあることを目的としているため、メモリスペースを節約するために小さくしたいと思います。

私が今やろうとしていることは、スクリーンビデオの代わりにh.264エンコーディングを使用することです。ビットマップデータをフレームとしてH.264エンコーディングに書き込むため。調べてみると、x264ライブラリについて知りました。

ここで、Flexプロジェクトでx264を使用できるかどうかを尋ねたいと思います。それならどうやって使うの?APIを使用する前に、x264ソースをアクションスクリプトに移行する必要がありますか?または、x264vfw.dllライブラリをflexプロジェクトに直接インポートして、そのAPIを使用できますか?フレックスでx264を使用することがまったく不可能な場合、他にどのようなオプションがありますか?

x264をフレックスプロジェクトでどのように使用できるかについてのいくつかの例は素晴らしいでしょう。=)

ありがとう。

4

1 に答える 1

1

Flashプレーヤーには、これを可能にするために必要なすべての要素が含まれていますが、Adobeはそれをラップして、APIをエクスポートしていません。求めているのは、基本的に、Webカメラではなくステージ/画面を参照するCameraオブジェクトです。これについてはAdobeに問い合わせてください。

Flexは、ActionScriptからできないことは何もできないため、役に立ちません。Flexは、元のFlash開発APIに加えて、いくつかのサポートツールを超える非常に便利なラッパーです。一番下には、それはすべてActionScript3コードです。

新しいNativeProcessクラスを介して、AIR2.0以降で要求したことを実行できます。これにより、x264バイナリをAIRアプリにバンドルし、それを呼び出して圧縮を行うことができます。もちろん、サポートしたいプラットフォームごとに個別のx264ネイティブバイナリを提供する必要があります。FlexアプリをAIRアプリとして再パッケージ化するのは非常に簡単ですが、ゲームはWebゲームではなくなり、たまたまFlashで作成されたネイティブゲームのようになります。

于 2010-12-30T20:59:07.293 に答える