Ich habe mich vor kurzem sehr intensiv damit auseinander gesetzt, aktuelle Videoformate mit Java abzuspielen. Leider waren die Resultate eher bescheiden. Wenn du gängige Videoformate mit JMF abspielen möchtest, benötigst du Codecs, da JMF leider sehr veraltet ist, was diese Formate betrifft. Mit
FOBS lässt sich das jedoch ändern, wenn du FOBS installierst, spielt JMF dir fast alles ab. (Du musst dir die Installationshinweise ansehen, da es nicht reicht, fobs einfach nur in den Classpath zu packen!)
Ich persönlich habe aber schlechte Erfahrungen mit JMF gemacht:
- Das Laden von Videos ist langsam und dauert mehrere Sekunden auf meinem AMD XP3200 mit 1GB Ram.
- Die API von JMF ist einfach nur Grauenvoll. Versuche mal ein Video in Endlosschleife abzuspielen...
- Die Dokumentation (Javadoc) ist nicht dazu angetan, dabei zu helfen, schnell eine bestimmte Aufgabe zu erledigen. Sie ist sehr abstrakt und wage gehalten.
- JMF ist alt, dementsprechend findest du wenige sonstige Resourcen dazu - tutorials u.ä.
Auf der Englischsprachigen Wikipedia sind beim Thema
Java Media Framework einige Alternativen zu finden, die wirklich einen Blick wert sind. Ich habe den
DirectShow <> Java Wrapper verwendet und war recht zufrieden: Er ist deutlich schneller als das JMF (das Abspielen der Videos funktioniert Hardwarebeschleunigt, was die CPU stark entlastet) und hat eine angenehmere API.
Bedenke aber, dass DSJ nur unter Windows funktioniert, und mindestens einen Windows Media Player 9 voraussetzt. Außerdem müssen die Codecs der Videos, die du abspielen möchtest auf dem Ziel-PC installiert sein.