Android-video-filter

Ich versuche eine app erstellen, wo ich in der Lage bin zu Filter hinzufügen zu einem aufgenommenen video. Im Grunde möchte ich replizieren der Funktionalität, die es in Instagram-video, oder Viddy.

Ich die Forschung getan habe, und ich kann nicht Stück alles zusammen. Ich sah in mit GLSurfaceView zum Abspielen der aufgenommenen video-und ich weiß, dass ich verwenden könnte, NDK zu tun, die pixel-manipulation und senden es zurück an die SurfaceView oder speichern Sie es irgendwie. Das problem ist, ich weiß nicht, wie zu senden, die die pixel-Daten, da scheint es keine Funktion, um darauf zuzugreifen. Diese Idee kam von der Kamera-Funktion "onPreviewFrame". Die Funktion gibt ein byte-array erlaubt mir die Pixel Bearbeiten und anzeigen.

Andere Idee ist die Verwendung von GLSurfaceView und OpenGL zum Rendern der filter. GLSurfaceView hat einen renderer, den Sie einstellen können, aber ich bin nicht sehr vertraut mit OpenGL. Aber nochmal, das geht eigentlich immer die Pixel des Videobilds. Ich lese auch über die rippen jeden frame als textur und dann die Manipulation der textur in OpenGL, aber die Antworten, die ich begegnet bin, sind nicht sehr detailliert.

Schließlich habe ich mich in JavaCV. Versuchen, zu verwenden FFmpegFrameGrabber, aber ich hatte noch nicht viel entweder. Ich wollte doch einfach nur schnappen Sie sich einen frame, aber wenn ich versuche zu schreiben den Rahmen der ByteBuffer eine Bildansicht, bekomme ich einen "Puffer nicht groß genug für Pixel" - Fehler.

Jede Beratung wäre toll.

InformationsquelleAutor cmakthat | 2013-07-18
Schreibe einen Kommentar