Frage

Ich arbeite derzeit daran, ein webbasiertes Spiel in Flex zu erstellen. Eines der Funktionen des Spiels ist es, dass es das Gameplay aufnehmen und in der FLV -Videodatei aufnehmen kann. Dies wurde durchgeführt, um alle Rahmen des Spiels zu erfassen, es auf einem Bitmapdata -Objekt zu haben und es dann auf einem Bytearray in einem FLV -Format zu kodieren und es als Datei zu speichern.

Derzeit ist die generierte FLV -Videodatei jedoch größer als üblich, zwei MB für 10 Sekunden -Videos. Dies liegt daran, dass ich nur Bildschirmvideo -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 in einem Webserver vorgesehen sind.

Ich versuche jetzt zu tun, ist die Verwendung von H.264 -Codierung anstelle von Bildschirmvideos. Bitmapdata als Frames an H.264 -Codierung schreiben. Nach einigen Nachforschungen 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 so ist, wie werde ich es verwenden? Muss ich die X264 -Quelle in ein Aktionsskript migrieren, bevor ich ihre APIs verwenden kann? Oder kann ich die x264vfw.dll -Bibliothek direkt in mein Flex -Projekt importieren und dann die APIs verwenden? Wenn es überhaupt nicht möglich ist, X264 in Flex zu verwenden, welche anderen Optionen habe ich?

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

Vielen Dank.

War es hilfreich?

Lösung

Der Flash -Player hat alle Teile, die benötigt werden, um dies zuzulassen, aber Adobe hat es nicht abgeschlossen und eine API dafür exportiert. Was Sie verlangen, ist im Grunde ein Kamera Objekt, das sich eher auf die Bühne/den Bildschirm als auf eine Webcam bezieht. Du solltest Fragen Sie Adobe danach.

Flex hilft Ihnen nicht, weil es nichts tun kann, was Sie nicht aus ActionScript tun können. Flex ist nur ein sehr hilfreicher Wrapper über die originalen Flash -Entwicklungs -APIs sowie einige Support -Tools. Im Boden ist alles nur ActionScript 3 -Code.

Du kann Tun Sie das, was Sie mit Air 2.0 und Up über das neue fragen NativeProcess -Klasse. Auf diese Weise können Sie das X264 -Binär mit Ihrer Air -App bündeln und es zur Komprimierung rufen. Natürlich müssten Sie für jede Plattform, die Sie unterstützen möchten, eine separate X264 -Binärdatei bereitstellen. Das Neupacken einer Flex -App als Air -App ist ziemlich einfach, aber Ihr Spiel wäre kein Webspiel mehr. Es ist eher ein nationales Spiel, das gerade gerecht wird passiert in Flash geschrieben werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top