Ich versuche alle Bilder aus einem Video zu extrahieren.
Mit folgendem Code möchte ich die ersten 30 Frames eines Videos holen, habe aber nur 30 mal das erste Frame bekommen.
Nun, wie kann ich alle Bilder von einem Video bekommen?
Die Videounterstützung im Android SDK ist begrenzt und die Rahmenextraktion für H264-kodierte Videos ist nur für Keyframes möglich. Um einen beliebigen Frame zu extrahieren, müssen Sie eine Bibliothek wie FFmpegMediaMetadataRetriever verwenden, die nativen Code verwendet extrahiere Daten aus dem Video. Es ist sehr schnell, kommt mit vorkompilierten Binärdateien (für ARM und x86), so dass Sie nicht in C ++ und Makefiles vertiefen müssen, ist unter Apache 2.0 lizenziert und es kommt mit einer Demo-Android-App.
Es gibt auch eine reine Java-Bibliothek, JCodec , aber es ist langsamer und als ich es letztes Jahr benutzt habe Farben des extrahierten Rahmens wurden verzerrt.