Webcam

Für Fragen von Einsteigern und Programmieranfängern...
nevermore2k
Beiträge: 81
Registriert: Sa 1. Mai 2021, 15:39

Re: Webcam

Beitrag von nevermore2k »

directshow war immer sehr kryptisch irgendwie :)

Sowas ist doch das äquivalent zu einem typedef in c, oder ?

Code: Alles auswählen

type
  PFILE=Pointer; 

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Webcam

Beitrag von Socke »

nevermore2k hat geschrieben:
Fr 7. Mai 2021, 11:52
Sowas ist doch das äquivalent zu einem typedef in c, oder ?

Code: Alles auswählen

type
  PFILE=Pointer; 
In Pascal ist das einfach ein Alias-Name für Pointer. Es wird kein neuer Typ erzeugt (das wäre PFILE = type Pointer;).
Was typedef in C macht, kann ich nicht sagen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

nevermore2k
Beiträge: 81
Registriert: Sa 1. Mai 2021, 15:39

Re: Webcam

Beitrag von nevermore2k »

danke :)

PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Webcam

Beitrag von PascalDragon »

Socke hat geschrieben:
Fr 7. Mai 2021, 12:22
Was typedef in C macht, kann ich nicht sagen.
Ist auch nur einfach ein Alias.
FPC Compiler Entwickler

Marc
Lazarusforum e. V.
Beiträge: 208
Registriert: Fr 11. Nov 2016, 14:09
OS, Lazarus, FPC: Linux Mint 20 (WinXP VBox)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Webcam

Beitrag von Marc »

Hallo Zusammen

Ich habe versucht den sehr interessanten Thread in einem Linux Mint nachzustellen.

Interessanterweise läuft bei mir das 'DemoOriginal' von fpcVideo4L2-master problemlos.
Muss nur das CPU target auf default setzen und die Packages Laz4LDecoderWriter und Laz4LCapture hinzufügen.
Das gelistete Laz4LCapture Package habe ich aus dem Projektinspector entfernt.
Da ich es nicht gefunden habe.

Das ''DemoAlf' gibt immerhin so etwas wie ein Bild aber es ist noch nicht brauchbar.

Das V4LV01 demo von af0815 läuft leider gar nicht.
Im Package Manager habe ich obige Packages hinzugefügt.
Beim compilieren habe ich nur einen Hinweis das die Datei 'yuv2rgb.pas' zwei mal vorhanden ist.
Und.. die Warnung das Object 'libv4l2.so.0' nicht gefunden wurde.
Ich vermute das das das Problem ist warum das V4LV01 Demo nicht läuft?
Wie kriege ich das 'libv4l2.so.0' installiert?
Good code comes from experience, experience comes from bad code.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Webcam

Beitrag von af0815 »

Marc hat geschrieben:
Di 25. Okt 2022, 08:39
Das V4LV01 demo von af0815 läuft leider gar nicht.
Das würde mich interessieren, was da nicht geht, da es einfach eine erweiterte Version von Alfreds Code ist.
Marc hat geschrieben:
Di 25. Okt 2022, 08:39
Muss nur das CPU target auf default setzen und die Packages Laz4LDecoderWriter und Laz4LCapture hinzufügen.
Das gelistete Laz4LCapture Package habe ich aus dem Projektinspector entfernt.
Da ich es nicht gefunden habe.

Das ''DemoAlf' gibt immerhin so etwas wie ein Bild aber es ist noch nicht brauchbar.
Woher ist die Quelle der/des Pakets. Übrigends mischen der Pakete ist nicht gesund :-)

Was heisst 'so etwas' wie ein Bild ?
Ich kenne sowas. Das hat oft mit der richtigen Initialisierung der Kamera bezüglich Bildgröße und des verwendeten Algorithmus zu tun. Das hat mit dem FOURCC (Pixelformat) und dem verwendeten Stream zu tun.

Marc hat geschrieben:
Di 25. Okt 2022, 08:39
Im Package Manager habe ich obige Packages hinzugefügt.
Beim compilieren habe ich nur einen Hinweis das die Datei 'yuv2rgb.pas' zwei mal vorhanden ist.
Und.. die Warnung das Object 'libv4l2.so.0' nicht gefunden wurde.
Ich vermute das das das Problem ist warum das V4LV01 Demo nicht läuft?
Wie kriege ich das 'libv4l2.so.0' installiert?
Mal kontrollieren welche Packages du auf Mint installiert hast. Meistens fehlt das *-dev Package. Leider werden manche Verknüpfungen erst durch das Develope Package erzeugt.

Das mit den doppelten Dateien, kontrolliere ob du nicht 2 ähnliche Packages in Lazarus verwendet, die jede für sich die Datei mitbringt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Marc
Lazarusforum e. V.
Beiträge: 208
Registriert: Fr 11. Nov 2016, 14:09
OS, Lazarus, FPC: Linux Mint 20 (WinXP VBox)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Webcam

Beitrag von Marc »

Danke für die schnelle Antwort.
Die ganze Software ist aus dem Thread, also
https://github.com/afriess/fpcVideo4L2
Wie ich es verstehe sind da unter Source und Decoders je ein Package.
Da je ein LPK File?
Das File yuv2rgb.pas kommt in beiden Directories vor.

Das Lazarus ist frisch installiert. Ausser diesen zwei Packages habe ich nichts installiert.
Ausser Onlinepackagemanager und Anchordockingdsgn.

Manchmal zeigt es an das 'libv4l2.so.0' fehlt manchmal nicht.
Das V4LV01 demo kann ich problemlos compilieren.
Wenn ich irgendeine Aktion (Buttonclick) mache stürzt es ab.

Ich denke auch das mir da in Linux Mint etwas entscheidendes fehlt.
Dieses -dev package habe ich gesucht und noch nicht gefunden.
Das braucht wohl noch etwas mehr Zeit.
Good code comes from experience, experience comes from bad code.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Webcam

Beitrag von af0815 »

in der Datei für den RasPi steht
sudo apt-get install qv4l2 libv4l-dev
drinnen, das sollte reichen.

Die Datei yuv2rgb.pas kommt wirklich 2x vor. Das dürfte mir beim letzten Merge hineingerutscht sein. AN und für sich braucht man die entweder/oder. Die war ursprünglich im Beispiel drinnen, ich habe aber die ganzen Filter extra in ein Paket herausgezogen.
Werde ich mir ansehen müssten/dürfen :-) Die Pakete verwende ich in beruflichen Umfeld, deswegen auch der GIT damit das Konsistent bleibt. Weil wenn da was überhaupt nicht funktionieren würde, so fällt mir das im nächsten Projekt auf.

Es gibt das ein nettes Testprogramm für V4L, das zeigt dann ganz genau an, welche Kodierung etc. verwendet wird. Damit habe ich mir geholfen um bei Fremden Kamarasystemen mal heraus zu finden wie diese Kameras arbeiten.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Marc
Lazarusforum e. V.
Beiträge: 208
Registriert: Fr 11. Nov 2016, 14:09
OS, Lazarus, FPC: Linux Mint 20 (WinXP VBox)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Webcam

Beitrag von Marc »

Vielen Dank für die Hilfe.

Im Anhang mal das Bild das ich erhalte vom Alf Demo.
Und eines vom Original Demo.
Ich kann auch bei beiden Programmen zwischen Video0 und Video2 umschalten.

Und noch ein Screenshot von V4L01
Es crsht wenn ich auf restart clicke. Die anderen Buttons machen nichts.
Das File : 'libv4l2.so.0' wurde mit dem Befehl : sudo apt-get install qv4l2 libv4l-dev wahrscheinlich noch nicht installiert. -> siehe screenshot
Dateianhänge
Screenshot from 2022-10-25 20-16-01.png
(482.83 KiB) Noch nie heruntergeladen
Screenshot from 2022-10-25 20-10-43.png
(771.43 KiB) Noch nie heruntergeladen
Screenshot from 2022-10-25 20-06-03.png
Screenshot from 2022-10-25 20-06-03.png (437.15 KiB) 636 mal betrachtet
Good code comes from experience, experience comes from bad code.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Webcam

Beitrag von af0815 »

Es sieht beim ersten Bild so aus als würden cthreads nicht aktiv sein. Entweder in der Projektdatei oder in den Einstellungen muss das usecthreads definiert sein.

Beim zerissenen Alfbild stimmt der verwendete Decodieralgo oder Auflösung nicht. So ein Bild ist typisch dafür.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Marc
Lazarusforum e. V.
Beiträge: 208
Registriert: Fr 11. Nov 2016, 14:09
OS, Lazarus, FPC: Linux Mint 20 (WinXP VBox)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Webcam

Beitrag von Marc »

Ich bin noch nicht viel weitergekommen mit meiner Forschung.
Aber wird schon noch werden. :-)
Good code comes from experience, experience comes from bad code.

Antworten