Flex/FlashプロジェクトでX264ライブラリをどのように使用できますか?
-
14-10-2019 - |
質問
私は現在、FlexでWebベースのゲームの作成に取り組んでいます。ゲームの機能の1つは、ゲームプレイを記録してFLVビデオファイルに登録できるようにすることです。これは、ゲームのすべてのフレームをキャプチャすることで行われ、BitMapDataオブジェクトでそれを使用してから、FLV形式のBYTEARRAYでエンコードしてからファイルとして保存します。
ただし、現在、生成されたFLVビデオファイルは通常よりも大きく、10秒間のビデオ用の4MBは4MBです。これは、BitMapDataをFLV形式にエンコードするために画面ビデオコーデックのみを使用しているためです。記録されたすべてのVIDSはウェブサーバーにあることを目的としているため、メモリスペースを節約するために小さくしたいと思います。
私が今やろうとしているのは、画面ビデオの代わりにH.264エンコードを使用することです。 h.264エンコーディングのフレームとしてbitmapdataを記述します。いくつかの調査の後、私はX264ライブラリについて発見しました。
さて、フレックスプロジェクトでx264を使用できるかどうかを尋ねたいですか?それがどのように使用しますか? APIを使用する前に、X264ソースをアクションスクリプトに移行する必要がありますか?または、FlexプロジェクトにX264VFW.DLLライブラリを直接インポートしてからAPIを使用できますか? FlexでX264を使用することがまったく不可能な場合、他にどのようなオプションがありますか?
FlexプロジェクトでX264をどのように使用できるかについてのいくつかの例は素晴らしいことです。 =)
ありがとう。
解決
Flashプレーヤーには、これを許可するために必要なすべてのピースがありますが、Adobeはそれをラップしておらず、APIをエクスポートしていません。あなたが求めているのは基本的にです カメラ ウェブカメラではなくステージ/画面を指すオブジェクト。あなたがすべき これについてはアドビに尋ねてください.
Flexは、ActionScriptからできないことができないため、あなたを助けません。 Flexは、元のFlash開発APIに加えて、いくつかのサポートツールをめぐる非常に役立つラッパーです。一番下では、すべてActionScript 3コードだけです。
君 できる 新しいものを介して、Air 2.0以降で尋ねることをしてください ネイティブプロセスクラス. 。これにより、X264バイナリをAIRアプリでバンドルすることができ、圧縮を行うためにそれを呼びかけます。もちろん、サポートしたいプラットフォームごとに個別のX264ネイティブバイナリを提供する必要があります。 FlexアプリをAIRアプリとして再パッケージ化するのは非常に簡単ですが、ゲームはもはやWebゲームではありません。 起こりました フラッシュで書かれます。