2010-12-30 7 views
1

Im Moment arbeite ich daran, ein webbasiertes Spiel im Flex zu erstellen. Eines der Features des Spiels ist, dass es in der Lage ist, das Gameplay aufzunehmen und es in einer FLV-Videodatei zu haben. Dies wurde durch Erfassen aller Rahmen des Spiels, indem es auf einem Bitmap-Datenobjekt vorhanden ist, und anschließendes Codieren auf einem Bytearray in einem FLV-Format und dann Speichern derselben als eine Datei durchgeführt.Wie kann die x264-Bibliothek in einem Flex/Flash-Projekt verwendet werden?

Derzeit ist die generierte FLV-Videodatei größer als üblich, etwa 4 MB für 10 Sekunden Video. Dies liegt daran, dass ich nur Screen Video-Codec verwendet habe, um die BitmapData in ein FLV-Format zu codieren. Ich möchte, dass es kleiner ist, um Speicherplatz zu sparen, da alle aufgezeichneten Videos auf einem Webserver sein sollen.

Was ich jetzt zu tun versuche, ist die Verwendung von h.264-Codierung anstelle von Bildschirm-Video. So schreiben Sie Bitmapdaten als Frames in die H.264-Codierung. Nach einigen Recherchen fand ich über die x264-Bibliothek.

Jetzt möchte ich fragen, ob es möglich ist, x264 in einem Flex-Projekt zu verwenden? Wenn es ist, wie werde ich es benutzen? Muss ich die x264-Quelle in ein Aktionsskript migrieren, bevor ich ihre APIs verwenden kann? Oder kann ich die Bibliothek x264vfw.dll direkt in mein Flex-Projekt importieren und dann ihre APIs verwenden? Wenn es überhaupt nicht möglich ist, x264 im Flex zu verwenden, welche anderen Optionen habe ich?

Einige Beispiele, wie x264 in einem Flex-Projekt verwendet werden könnte, wären großartig. =)

Danke.

Antwort

1

Der Flash-Player hat alle Teile darin benötigt, um dies zu ermöglichen, aber Adobe hat es nicht eingewickelt und eine API dafür exportiert. Was Sie fragen, ist im Grunde ein Camera Objekt, das auf die Bühne/Bildschirm statt auf eine Webcam bezieht. Sie sollten ask Adobe for this.

Flex hilft Ihnen nicht, da es nichts tun kann, was Sie mit ActionScript nicht ausführen können. Flex ist nur ein sehr hilfreicher Überblick über die ursprünglichen Flash-Entwicklungs-APIs und einige Support-Tools. Im Grunde ist alles nur ActionScript 3-Code.

Sie können tun, was Sie mit AIR 2.0 und höher, über die neue NativeProcess class. Dadurch können Sie die x264-Binärdatei mit Ihrer AIR-App bündeln und zur Komprimierung aufrufen. Sie müssen natürlich für jede Plattform, die Sie unterstützen wollten, eine separate native Binärdatei x264 bereitstellen. Das Umpacken einer Flex-App als AIR-App ist ziemlich einfach, aber Ihr Spiel wäre kein Web-Spiel mehr, sondern eher ein natives Spiel, das nur in Flash geschrieben ist.

+0

Ich habe angefangen, die x264-Bibliothek in Actionscript zu migrieren. Danke für die Antwort. – greenGlitz