Extracting individual frames of a video

  • Ich muss in Java folgendes implementieren und weiß im Moment nicht, wie ich das überhaupt angehe:

    Als input habe ich eine Videodatei. Nun sollen aus dieser Datei die einzelnen Frames (oder nur in einem bestimmten Intervall ausgewählten "keyframes") extrahiert und in java.awt.Image-Objekte umgewandelt werden, die ich dann in bereits bestehenden Prozeduren weiterverarbeiten werde. Diese frames werden also nicht als Bilder gespeichert oder so.

    Mit JMF kann ich das eigentlich machen. Hier ist sogar ein Codestück, das man verwenden kann; man braucht es nur modifizieren:
    http://java.sun.com/products/java-…ess.html#source
    Das Problem hier ist nur, dass das ganze Processing genau so lang dauert, wie das Video selbst (ich hab ja nicht viel Lust eine halbe Stunde zu warten).
    Meine erste Frage ist: Kann man überhaupt die framerate ändern oder so, dass es schneller geht?
    Wenn es mit JMF nicht geht (ich brauch ja nur die Daten herauslesen und nicht das Video wiedergeben) könnte ich das irgendwie mit den javax.imageio.* Klassen machen? Wenn ja, wie?

    Könnte jemand einen sehr groben Algorithmus oder Gedankenstoß geben, falls ich auf primitivere Methoden angewiesen bin? Ich finde nämlich überhaupt keine Information dazu ...

    The idea behind this technique is surprisingly simple: just go ahead and do whatever you want to without paying attention to what anybody else is doing. If there is a problem, worry about it later. (Many politicians use this algorithm, too) -- A. S. Tanenbaum, M. v. Steen, Distributed Systems

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!