Ich suche nach einer Möglichkeit, einen bestimmten Frame aus einem Video in Java zu erhalten. Zum Beispiel get frame #198 from movie.mp4
. Ich brauche es nicht MP4-spezifisch, solange die Lösung auf einem gemeinsamen Videodateityp funktioniert. Ich habe Bibliotheken dafür gesehen, wie Xuggle und JCodec, aber da sie älter sind, gibt es Probleme mit der Unterstützung; Das JCodec-JAR enthält nicht einmal eine der Klassen, die zum Speichern eines Frames erforderlich sind. JCodec unterstützt nicht, ohne die JAR zu modifizieren, die Unterstützung eines einzelnen Frames aus einer Datei. Andere Bibliotheken benötigen Schleifen, um zu einem bestimmten Frame zu gelangen. Ich möchte nur einen Methodenaufruf haben, der einen bestimmten Frame zurückgibt.Wie bekomme ich einen bestimmten Frame von einem Video in Java
Antwort
Mit OpenCV können Sie dies über die Klasse 'OpenCVFrameGrabber' tun.
Die hier dokumentiert: http://bytedeco.org/javacv/apidocs/org/bytedeco/javacv/OpenCVFrameGrabber.html
Sie können entweder über die Datei durchlaufen, oder wenn Sie dies vermeiden wollen, wie Sie angeben, können Sie den Rahmen gesetzt, der die Erfassung bei Verwendung des ‚setFrameNumber‘ Methode auftreten sollte die Klasse.
Eine Sache, auf die man achten sollte - die openCV-Fame-Nummer-Einstellung wird Berichten zufolge nur zum nächsten Iframe gehen, wenn das Video auf diese Weise codiert ist. Ich habe das nicht getestet, kann aber nicht bestätigen, aber eine Möglichkeit, dieses Problem zu umgehen, besteht darin, eine Position vor, aber nahe dem gewünschten Frame zu suchen und dann für die letzten paar Frames zu iterieren, um die gewünschten Positionen zu erhalten und dann den Framegrabber zu verwenden.
openCV ... um einen Rahmen zu bekommen ... ok – gpasch
- 1. Get Frame von Video in Java
- 2. Wie bekomme ich den ersten Video Frame?
- 3. Wie bekomme ich einen bestimmten Wert von HTML in Java?
- 4. Wie bekomme ich einen bestimmten Wert in Mongodb mit Java?
- 5. Wie bekomme ich einen bestimmten Wert von einem JSON?
- 6. Wie bekomme ich einen bestimmten Datenwert von einem Körper?
- 7. Wie bekomme ich Video von einem Live-Foto in iOS
- 8. Create Video, Frame für Frame, von. Net
- 9. Wie bekomme ich einen bestimmten Link von einer bestimmten Klasse?
- 10. Get Bild von einem Video-Frame in iPhone
- 11. Wie bekomme ich einen bestimmten InnerText von einer bestimmten Klasse?
- 12. Holen Sie sich einen Frame aus einem Live-Video-Stream
- 13. Wie bekomme ich nur einen bestimmten Listeneintrag?
- 14. Wie bekomme ich einen Projektpfad in Java ..?
- 15. Wie bekomme ich alle Kommentare von einem Youtube Video
- 16. Wie bekomme ich Wochentage von einem bestimmten Datum in Python?
- 17. Wie bekomme ich einen String-Wert von Ressourcen-Ordner (Java)
- 18. Wie bekomme ich Video-Thumbnails?
- 19. Wie bekomme ich einen bestimmten Wert von PHP-Array
- 20. Wie kombiniere ich Nalus von einem Frame zu einem Nalu?
- 21. Wie bekomme ich Frames von Video mit Python 3.5
- 22. Wie bekomme ich Trends von Twitter zu einem bestimmten Ort?
- 23. Android Video Frame-Verarbeitung
- 24. Wie bekomme ich einen bestimmten Wert von einem Array von Objekten in Python
- 25. Wie bekomme ich einen bestimmten Text von dieser Funktion?
- 26. Wie bekomme ich das Frame-Bild vor dem Abspielen von m3u8 Video-Streaming? iOS
- 27. Wie bekomme ich Youtube-Video in jQuery?
- 28. Wie bekomme ich Video-URL von Medien-Picker in Umbraco
- 29. Wie bekomme ich einen Typ von Klassenname in Java
- 30. Wie die beabsichtigte Frame-Rate auf einem HTML-Video-Elemente
@Berger Die Lösung für diese Frage verwendet ein JCodec-Beispiel, das veralteten Code enthält und die andere Antwort auf diese Frage ruft nicht einen bestimmten Rahmen ab – SVN600