Machen Sie ein Foto vom Terminal


58

Ich möchte mit der Webcam vom Terminal aus ein Bild aufnehmen können. Dieses Bild wird dann in einer Datei gespeichert. Wie geht das?

Antworten:


32

Wenn Sie nach etwas Automatisiertem suchen, webcamist das ziemlich anständig. Es gibt viele schöne Möglichkeiten, um die Fotos über das Internet zu übertragen.

Wenn Sie mehr Handbuch benötigen und es sich um eine Kamera handelt, die von V4L / UVC (meistens) unterstützt wird, können Sie streamereinen Frame vom Gerät erfassen:

streamer -f jpeg -o image.jpeg

Vielen Dank, Oli. Wusste nicht, dass ein Webcam-Programm namens WEBCAM (Die Ironie ...) existiert. Und ja, die Webcam ist in der Liste der unterstützten V4L.
Luis Alvarado

46

Es gibt eine andere Anwendung, mit der die Bilder von der Webcam mit dem Namen Fswebcam aufgenommen werden können . das kannst du mit installieren

sudo apt-get install fswebcam

Mit dem folgenden Befehl können Sie ein Beispiel erstellen.

fswebcam -r 640x480 --jpeg 85 -D 1 web-cam-shot.jpg

In der obigen Codesyntax -rsteht dies für die Bildauflösung, --jpegfür den Formattyp des Bildes und 85für den Qualitätsstandard, -Dfür die vor der Aufnahme festgelegte Verzögerung.

Nun wird dein Bild endgültig mit dem Namen web-cam-shot.jpg gespeichert.

Ich hoffe, das hilft.


9
In meinem Fall, meinem Testgerät, musste ich Frames überspringen, um das Bild richtig zu machen. Wenn ich die ersten Bilder mache, ist das Bild sehr dunkel, weil die Kamera noch nicht fertig war. fswebcam -r 640x480 --jpeg 100 -D 3 -S 13 fswebcam.jpg
Msmafra

@tenshimsm Ich habe 10 Minuten damit verbracht, herauszufinden, was mit meiner fswebcam nicht stimmt, und dann das Paket entfernt. Installierte es erneut, nur um Ihren Ansatz zu versuchen, 30 Frames arbeiteten für mich. Danke :)
Chirag Bhatia - Chirag64

Funktioniert mit meiner 5,99 € Sodial-Webcam avconvbesser.
Avio

Was ich als hilfreich empfunden habe, ist: v4lctl bright 50% # apt-get install xawtv
Grzegorz Wierzowiecki

--no-banner (Entfernt das unterste Banner mit Zeitstempel)
João Cartucho

20

Mit avconvoder ffmpegkönnen Sie auch einen Frame von Ihrem Gerät aufnehmen. Zum Beispiel:

avconv -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 /tmp/out.jpg

oder

ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 /tmp/out.jpg

Dies öffnet sich /dev/video0als video4linux2kompatibles Gerät, richtet die Auflösung auf ein 640x480, streamt für 2 Sekunden ( 00:00:02oder einfach 2), nimmt dann ein oneEinzelbild auf und speichert es auf /tmp/out.jpg.

Überprüfen Sie, ob es sich bei Ihrem Gerät /dev/video0um ein anderes handelt.

Die verfügbaren Auflösungen hängen von Ihrer Webcam ab. Meins geht auf 640x480 und ich habe es mit einem Tool namens überprüft qv4l2, das zum Konfigurieren eines video4linux2-Geräts verwendet wird.

Mit dem -ssParameter kann das Gerät ordnungsgemäß gestartet werden. Hier in meinen Tests gibt es einen Einblendeffekt, während die Kamera eingeschaltet wird. Wenn ich nur weglasse -ss 2, wird das aufgenommene Bild sehr dunkel.


Ich bevorzuge diese Lösung, da ich bereits avconv installiert habe. Auch die Ausgabe von avconv gibt Hinweise auf die maximale Auflösung, wie der v4l-Treiber zeigt, wenn er auf eine niedrigere Spezifikation zurückgreifen muss.
Eiswasser

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.