Hallo in die Runde!
Ich versuche an meinem Pi 4B+ gerade was spezielles, komme da als Linux-Muffel und Raspberry-Pi Neuling aber nicht wirklich weiter.
Es soll eine Art Video-Lupe sein welche mir Detailausschnitte einer Platine möglichst formatfüllend auf meine PC-Monitore streamt.
Dummer weise werden Bauteile immer kleiner, so das ich beim bestücken meiner Platinen regelmäßig mit Lupe arbeiten muss.
Eben um zu sehen ob der QFN32 oder TSSOP (alles ab 0,65mm Raster und kleiner) exakt sitzt.
Derzeit eingeschossen habe ich mich zunächst auf die 5Mpix - Variante OV5647, eben weil diese mit enorm schmalen Öffnungswinkeln (53,5 x 41,4°).
Entfernung Kamera zur Platine sollte 10-15cm betragen - wobei ich noch an der passenden Fokussierung scheitere.
Bis hierhin sieht mein Vorhaben gut aus: Ein Foto mit voller OV5647-Auflösung 2592x1944 über ca. 10cm Distanz und aufgezogen auf 100% Originalgröße zeigt mir schon verschwommene Details - eine Frage der Fokussierung. Bei der ersten Kamera habe ich mir die Linse zerkratzt beim Versuch die festgeklebte Fokussierung zu lösen.
Bei einer zweiten Kamera warte ich gerade auf ein hoffentlich nützliches Spezialwerkzeug um mir nicht wieder die Linse zu zerstören.
Die Stelle wo ich festsitze:
Im Datenblatt des OV5647 Sensors wird in Abschnitt 2.3 die Videoauflösung beschrieben.
Die volle Sensorauflösung von 2592x1944 sind dort bis 15fps spezifiziert.
Raspivid -o Filename.h264 macht per Default immer 1920x1080 Pixel
Das entspricht dem Modus 1920x1080 Pixel bis 30fps im Datenblatt.
Mir gelingt es aber nicht raspivid auf den 2592x1944-Modus zu zwingen, wobei mir Frameraten zwischen 10-15 vollauf reichen würden!
Die Terminalausgabe sieht immer wie folgt aus:
raspivid -v -n -t 15000 -fps 15 -w 2592 -h 1944 -o Test_OV5647.h264
"raspivid" Camera App (commit 4a0a19b88b43 Tainted)
Camera Name ov5647
Width 2592, Height 1944, filename Test_OV5647.h264
Using camera 0, sensor mode 0
GPS output Disabled
bitrate 17000000, framerate 15, time delay 15000
H264 Profile high
H264 Level 4
H264 Quantisation level 0, Inline headers No
H264 Fill SPS Timings No
H264 Intra refresh type (null), period -1
H264 Slices 1
Wait method : Simple capture
Initial state 'record'
Preview No, Full screen Yes
Preview window 0,0,1024,768
Opacity 255
Sharpness 0, Contrast 0, Brightness 50
Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0
Exposure Mode 'auto', AWB Mode 'auto', Image Effect 'none'
Flicker Avoid Mode 'off'
Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128
Rotation 0, hflip No, vflip No
ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000
Camera component done
Too many macroblocks/s: Increasing H264 Level to 4.2
Encoder component done
Starting component connection stage
Connecting camera video port to encoder input port
mmal: mmal_vc_port_enable: failed to enable port vc.ril.video_encode:in:0(OPQV): EINVAL
mmal: mmal_port_enable: failed to enable connected port (vc.ril.video_encode:in:0(OPQV))0xf9b7c0 (EINVAL)
mmal: mmal_connection_enable: output port couldn't be enabled
mmal: main: Failed to connect camera video port to encoder input
mmal: Argument is invalid
Closing down
Close down completed, all components disconnected, disabled and destroyed
mmal: Failed to run camera app. Please check for firmware updates
pi@Pi3Bplus1:~ $
Alles anzeigen
Habe schon mehrere -fps Werte <15 durchprobiert, immer die selbe Fehlermeldung.
Weiterhin noch eine weiterführende Frage:
Wie kann ich ein Videostream vor der H264-Codierung beschneiden, um nur einen Teilausschnitt des Gesamtbildes zum h264-Codec zu bringen.
Von den aktuell 1920x1080 bzw. wenn möglich gerne 2592 x 1944 brauchte nur ein Teilauschnitt von ca. 700x700 bis 1000x1000 Pixel gestreamt werden.
Reicht da raspivid für, oder sollte ich mich nach anderen Tools umsehen. Wenn ja, welche?
Grüße
Jürgen