it-swarm.com.de

Verwenden Sie die USB-Kamera für Android Anwendung

Ich muss ein von einer an mein Tablet angeschlossenen USB - Kamera übertragenes Video auf Android 3.2.

Wie kann ich das machen?

Ich kann die Kamera des Tablets nicht verwenden, da mein Tablet an Bord ist.

23
neoffreeman

(Ich schrieb dies im Jahr 2012, als es keine Unterstützung für USB-Kameras gab. Ich arbeite nicht mehr an Android), daher kann ich nicht erklären, wie es mit der API des neuesten Android gemacht wird. Wenn Sie Kenne eine bessere Lösung, bitte poste sie hier.)

Die Diskussion gilt nur, wenn der Sensor in der USB-Kamera UVC-kompatibel ist (die meisten heutigen Kameras sind kompatibel).

Zum Datum dieses Beitrags (1. März 2012) gibt es keine Standard-APIs Android) für die Arbeit an einer externen Kamera. Wenn Sie also das Projekt ernst meinen, ist die Arbeit Dazu müsste eine Firmware geschrieben werden, die mit den Kerneltreibern kommuniziert, und die Daten dann auf der Anwendungsebene Android. angezeigt werden

Wenn Sie eine USB-Kamera anschließen, müssen Sie zunächst einige Punkte überprüfen.

1) Wird Ihre Kamera über den USB-Anschluss mit Strom versorgt? (Damit dies geschehen kann, sollte Ihr USB-Anschluss USB-OTG-Unterstützung haben. Der USB-Anschluss kann sowohl als Ziel als auch als Host fungieren. Überprüfen Sie, ob die Anzeigen an der Kamera leuchten. ( wenn überhaupt) leuchten oder nicht?)

2) Wird der Knoten im Verzeichnis/dev erstellt? (Nur wenn auf dem Kernel die Unterstützung von v4l2 und UVC aktiviert ist, wird der Knoten erstellt.) Wenn ein Knoten erstellt wird, haben Sie jetzt Zugriff auf die echte Hardware, die eine USB-Kamera ist, und Ihre Arbeit wird von nun an einfach. Um zu überprüfen, führen Sie ls -l/dev/v * im Android= Dateisystem aus und prüfen Sie, ob video0 oder video1 erstellt wird.

4) Wenn ein Knoten erstellt wurde, Sie müssen eine Firmware (UVC) schreiben und einen Frame von der realen Hardware abrufen. Es (UVC) unterstützt verschiedene ioctl-Aufrufe, die mit der v4l2-Schicht im Kernel und kommunizieren holt euch die Frames.

Diese Frames haben meistens das Format YUYV422 oder YUYV420.

Wenn Sie die Bilder erhalten haben, konvertieren Sie sie in RGB oder JPEG (Android unterstützt das Konvertieren) und zeigen Sie sie auf der Leinwand oder in der Bildansicht an, je nachdem, was Sie möchten.

Für die Aufnahme müssen Sie möglicherweise ffmpeg zum Codieren verwenden. Dadurch werden die Bilder in Videos umgewandelt.

34
mk..

Bevor Sie beginnen, sollten Sie überprüfen, ob Ihr USB-Kabel mit einer Maus, einer Tastatur und einem USB-Laufwerk funktioniert (auf einigen Geräten muss die StickMount-App installiert sein, damit das USB-Laufwerk funktioniert).

Ich suche auch nach einer USB-Webcam für Android und versuche zu reproduzieren, was unter http://brain.cc.kogakuin.ac.jp/research/ usb-e.html . Zuletzt habe ich gehört, dass Bluetooth-Webcams sofort funktionieren.

1
bbodenmiller