Android-Video Bild für Bild während der Aufnahme verarbeiten

8

Was ich versuche, ist eine Anwendung, die während der Aufnahme Effekte zu Videos hinzufügt. Gibt es eine Möglichkeit, eine Callback-Methode zu erhalten, um den Frame zu empfangen, dann einen Effekt darauf anzuwenden und diesen aufzuzeichnen. Es gibt derzeit eine Anwendung im Android Market (Videocam Illusion), die behauptet, dass es die einzige Anwendung ist, die dies tun kann. Wer weiß, wie Videocam Illusion dies tut oder hat Links zu möglichen Tutorials, die die Videoverarbeitung für Android beschreiben?

Dies ist eine ähnliche Frage, die unbeantwortet bleibt:

Android-Vorschauverarbeitung während der Videoaufnahme

>     
daveySET 12.01.2012, 17:04
quelle

1 Antwort

11

Leider geschieht dies (solange ich keine andere Methode kenne, die von der API zur Verfügung gestellt wird), indem ein direkter Stream zur Kamera verwendet wird und dieser manipuliert wird, indem eine Art systemeigener Code verwendet wird, um den Stream zu modifizieren. Ich habe so etwas schon einmal gemacht, als ich an einem Eyetracker gearbeitet habe - also werde ich dir sagen, wie es im Prinzip funktioniert.

  1. Öffnen Sie einen Stream mit dem NDK (möglicherweise API, je nach Implementierung)
  2. Ändern Sie die Bytes des Streams - jeder Frame wird als separates Paket gesendet. Sie müssen jedes Paket von der Kamera nehmen und es ändern. Sie können Farben ersetzen oder übersetzen. Sie können OpenGL auch verwenden, um das Bild vollständig zu ändern, indem Sie Dinge wie Glaseffekte hinzufügen.
  3. Flacht die Bilder wieder ab
  4. Senden Sie das Bild an den View Controller, der angezeigt werden soll.

Eine Sache, die Sie beachten müssen, ist das Laden und Senden der Pakete & amp; Bilder passieren in etwa 1/30 Sekunde für jeden Frame. Also muss der Code extrem optimiert werden.

    
Alex Kelly 12.01.2012, 17:12
quelle

Tags und Links