Java Media Framework
# Java Media Framework

Java Media Framework (JMF) ist eine Java-Bibliothek zur Handhabung von Audio- und Videodaten. Das API unterstützt das Aufnehmen von Mikrofon und Kamera und erlaubt das Einlesen und Speichern von Audio/Video-Formaten.

## Geschichte

Entwickelt wurde das Framework von Sun, Intel und Silicon Graphics. Mit Version 1 war es nur möglich, Daten abzuspielen. Dies änderte sich mit der Version 2.
Die Weiterentwicklung wurde von den Firmen Sun und IBM durchgeführt. Version 2 enthält nun folgende erweiterte Fähigkeiten:
* Abspeichern der Daten
* Capturing
* Senden/Empfangen der Daten über ein Netzwerk (RTP)
Die letzte Änderungen am Framework erfolgten im November 2004, eine weitere Entwicklung bleibt abzuwarten. Mit der Entwicklung und Veröffentlichung (Dezember 2008) von JavaFX hat Sun seinen Schwerpunkt im Bereich Multimedia weg vom JMF und hin zu JavaFX Media, genauer den Java Media Components (JMC), die Teil von JavaFX sind, verschoben.

## Was JMF kann

Das JMF bietet die Möglichkeit, auf einfache Weise Java-Programme zu schreiben, die zeitbasierte Medien präsentieren. Diese Programme können Java-Applets oder Applikationen sein. Die Implementierung ist sehr einfach, da die Steuerungen über sogenannte Manager realisiert wird. Für die Ein- bzw. Ausgabe der Daten können verschiedene Ressourcen genutzt werden, wie z. B. Mikrofon, Lautsprecher, Kamera, Datei-System oder eine einfache Bildschirmausgabe. Durch das offene Konzept (Plug-in-Technologie) ist es auch möglich weitere Ressourcen und "Manipulatoren" (processors) hinzuzufügen. Somit können einfache Multimedia-Anwendungen oder auch "real-time-training"-Applikationen realisiert werden.

## Plattformunabhängigkeit

Auf 64-Bit-Plattformen kann das JMF nur begrenzt eingesetzt werden. Die "Cross Platform Version" kann lediglich zwei kaum verwendete Codecs dekodieren.

## Alternativen
### FMJ

Die freie Alternative Freedom for Media in Java hat das Ziel, einen Open-Source-Ersatz zum JMF von Sun zu erstellen. Es soll eine API erstellt werden, die kompatibel und zum Aufnehmen, Abspielen, Bearbeiten und Streamen von Media-Dateien auf verschiedenen Plattformen geeignet ist.