Seite 1 von 2
ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Sonntag 1. Oktober 2023, 10:08
von sauterle
hallo
ich habe das Kamera-streamer Projekt
https://github.com/ayufan/camera-streamer von github auf einem Raspery Pi instaliert und den service gestartet. wie kann ich nun den Videostream empfangen und decodieren und in pyqt anzeigen. ich habe im Netz keinerlei Informationen(weder bei englischsprachiger noch bei deutschsprachiger Suche) gefunden. über irgendwelche Hilfe wäre ich sehr dankbar. Der Fokus dieser Frage ist vor allem das empfangen und decodieren für das anzeigen in pyqt findet sich sicherlich etwas im Netz
LG sauterle
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Sonntag 1. Oktober 2023, 18:11
von __blackjack__
Welchen Videostream? Da gibt es ja potentiell mehrere Formate die das Projekt ausliefert.
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Montag 2. Oktober 2023, 15:37
von sauterle
Hallo
ich wusste bisher gar nicht dass es unterschiedliche streaming Formate gibt, welches hat pro Pixel die geringste Latenz. Und wie wählt man welches Format man haben will?
Ich habe mit wireshark den Netzwerkkverhkehr von dem Raspery pi aufgezeichnet und gesehen das er abgesehen von ein paar ssh tcp usw. frames nichst regelmäßig "abschickt". Daraufhin habe ich systemctl status camera-streamer-raspi-v2-8MP.service ins terminal eingegeben und folgende Ausgabe erhalten:(ich habe die einzelnen Blöcke die von links nach recht mit den Pfeiltasten einsehbart sind untereinander geschrieben)
camera-streamer-raspi-v2-8MP.service - camera-streamer web camera for Pi Came>
Loaded: loaded (/usr/share/camera-streamer/examples/camera-streamer-raspi->
Active: inactive (dead)
Condition: start condition failed at Mon 2023-10-02 15:06:11 BST; 10min ago
└─ ConditionPathExists=/sys/bus/i2c/drivers/imx219/10-0010/video4l>
Oct 01 19:48:23 roborasp systemd[1]: Condition check resulted in camera-streame>
Oct 02 15:06:11 roborasp systemd[1]: Condition check resulted in camera-streame>
~
camera-streamer web camera for Pi Camera v2.1 8MP on Raspberry PI
treamer/examples/camera-streamer-raspi-v2-8MP.service; enabled; vendor preset: >
on 2023-10-02 15:06:11 BST; 10min ago
/bus/i2c/drivers/imx219/10-0010/video4linux was not met
dition check resulted in camera-streamer web camera for Pi Camera v2.1 8MP on R>
dition check resulted in camera-streamer web camera for Pi Camera v2.1 8MP on R>
a v2.1 8MP on Raspberry PI
2-8MP.service; enabled; vendor preset: enabled)
nux was not met
web camera for Pi Camera v2.1 8MP on Raspberry PI being skipped.
web camera for Pi Camera v2.1 8MP on Raspberry PI being skipped.
~
~
~
instaliert und den service gestartet habe ich folgendermassen:
erstens:
if [[ -e /etc/default/raspberrypi-kernel ]]; then
PACKAGE=camera-streamer-raspi_0.2.6.bullseye_$(dpkg --print-architecture).deb
else
PACKAGE=camera-streamer-generic_0.2.6.bullseye_$(dpkg --print-architecture).deb
fi
wget "
https://github.com/ayufan/camera-stream ... 6/$PACKAGE"
sudo apt install "$PWD/$PACKAGE"
zweitens:
systemctl enable /usr/share/camera-streamer/examples/systemctl/camera-streamer-raspi-v2-8MP.service
systemctl start camera-streamer-raspi-v2-8MP.service
ich vermute ich habe irgendein Schritt weggelassen Ich habe bisher noch nichts konfiguriert das wollte ich mache wenn alles andere funktioniert vielleicht liegt da der Fehler
LG sauterle
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Montag 2. Oktober 2023, 15:56
von __deets__
Das ist doch beileibe nicht dein erstes Rodeo hier. Auch solche Posts werden deutlich besser les- und verstehbar, wenn sie in Code Tags gefasst sind.
Ich würde die Service Geschichten erstmal ignorieren, und den Prozess von Hand starten. Um Fehlerausgaben zu sehen und schneller mit den Argumenten zu spielen.
Und wenn du keine empfangende gegenstelle hast. (Zb VLC), wirst du auch keinen Netzwerkverkehr sehen.
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Montag 2. Oktober 2023, 18:50
von sauterle
ich habe den Befehl nicht als service ausgeführt. wenn ich mich nicht irre müsste er
Code: Alles auswählen
./camera-streamer --camera-path=/base/soc/i2c0mux/i2c@1/imx219@10 --camera-type=libcamera --camera-format=YUYV --camera-width=3280 --camera-height=2464 --camera-fps=30 --camera-nbufs=2 --camera-snapshot.height=1080 --camera-video.height=720 --camera-stream.height=480 --camera-options=brightness=0.1 --http-listen=0.0.0.0 --http-port=8080 --rtsp-port
sein. das Ergebnis ist eine Fehlermeldung, die da lautet:
Code: Alles auswählen
./camera-streamer Version: 0.2.6 (ff539cd)
util/http/http.c: ?: HTTP listening on 0.0.0.0:8080.
output/rtsp/rtsp.cc: ?: Running RTSP server on '8554'
[0:21:26.585914035] [720] INFO Camera camera_manager.cpp:297 libcamera v0.0.5+83-bde9b04f
device/libcamera/device.cc: CAMERA: No available cameras
device/libcamera/device.cc: CAMERA: Camera `/base/soc/i2c0mux/i2c@1/imx219@10` was not found.
device/device.c: CAMERA: Can't open device: /base/soc/i2c0mux/i2c@1/imx219@10
LG sauterle
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Montag 2. Oktober 2023, 19:02
von sauterle
hallo ich habe gerade einmal versucht testweise ein bild aufzunehmen
das ging nicht die fehlermeldung war
Code: Alles auswählen
mmal: main: Error opening output file: test.jpg~
No output file will be generated
LG sauterle
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Montag 2. Oktober 2023, 19:21
von __deets__
Oben zeigst du eine service unit und wie du die startest. Aber jetzt hast du doch keinen Service benutzt? Das ist verwirrend.
Die erste Fehlermeldung zeigt auf eine Fehlkonfiguration der Kamera, die zweite eher auf ein Rechteproblem.
Beide haben nix hat mit dem eigentliche Thema zu tun - wie den Stream darstellen. Ich würde also erstmal aid Fehlersuche gehen in Bezug auf welche Kamera du hast, und ob die tut, und so weiter.
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Montag 2. Oktober 2023, 20:26
von sauterle
Entschuldigung ich bin in diesen ganzen rpi/linux sachen leider ein ziemlicher Anfänger dachte die Datei die in der service Datei als auszuführende Datei angegeben ist wäre das Orginalprogramm dass ich ausführen will. wie "startet man den Prozess direkt". Das Problem mit der Testaufnahme mit raspstill hatte sich nach einem Neustart erledigt. Wo liegt der hier der Fehler;
Code: Alles auswählen
camera-streamer Version: 0.2.6 (ff539cd)
util/http/http.c: ?: HTTP listening on 0.0.0.0:8080.
output/rtsp/rtsp.cc: ?: Running RTSP server on '8554'
[0:21:57.808196871] [687] INFO Camera camera_manager.cpp:297 libcamera v0.0.5+83-bde9b04f
device/libcamera/device.cc: CAMERA: No available cameras
device/libcamera/device.cc: CAMERA: Camera `/base/soc/i2c0mux/i2c@1/imx219@10` was not found.
device/device.c: CAMERA: Can't open device: /base/soc/i2c0mux/i2c@1/imx219@10
das hat zwar nichts mit dem Problem des Video streamens nichts direkt zu tun aber darum kann man sich nun-mal leider nicht kümmern wenn das streamen nicht funktioniert
LG sauterle
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Dienstag 3. Oktober 2023, 05:35
von __deets__
Natürlich muss die Kamera erstmal laufen. War aber nix von zu lesen in deinem ersten Post. Und die Fehlermeldungen die du bekommst können auch wir nur googeln. Hast du das schonmal probiert?
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Dienstag 3. Oktober 2023, 07:48
von sauterle
Natürlich habe ich die Fehlermeldung schon gegoogelt, aber ich habe leider rein gar nichts gefunden.
LG sauterle
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Dienstag 3. Oktober 2023, 08:03
von sparrow
@sauterle: Glaube ich nicht. Schon der erste Treffer zeigt, dass dort das Problem war, dass die Hardware gar nicht zueinander gepasst hat.
Welche Hardware du verwendest, also welchen Pi und welche Kamera, erwähnst du aber nirgends.
Um das mal in ein anderes Bild zu übertragen: Du bist hier gerade bei der Straßenmeisterei und fragst, welche Reifen du auf dein Auto machen sollst, damit es auf der Autobahn endlich fährt. Und auf Nachfrage stellt sich jetzt heraus: Offensichtlich hat das Auto einen Motorschaden.
Aber nur weil die Straßenmeisterei Straßen baut und wartet, muss es schon mit erheblichem Glück verbunden sein, dass sich da jetzt jemand deinen Motor anguckt. Zumindest würde ich damit in eine Werkstatt schieben.
Das ist, was hier gerade passiert.
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Dienstag 3. Oktober 2023, 10:04
von __deets__
Also ich finde da jede Menge. Und wenn dem nicht so wäre, könnte man ja erst recht nur mit den Schultern Zucken. Denn woher soll man sonst wissen, was Phase ist?
Sparrow hat’s schon gesagt: für das Problem fehlen viele Informationen, und im Zweifel ist auch ein anderes Forum dafür sogar besser geeignet, weil fokussiert auf den Pi.
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Dienstag 3. Oktober 2023, 10:36
von sauterle
hallo ich glaube das problem liegt daran das ich einen viel zu alten pi verwende sobald ich mir einen neueren bosorgt habe werde ich mich hier nocheinmal melden
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Mittwoch 4. Oktober 2023, 07:43
von __deets__
Ob der zu alt ist, keine Ahnung. Aber bevor du nicht irgendwie ein Bild aus dem rausbekommen hast, kann auch kein Streaming funktionieren.
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Mittwoch 4. Oktober 2023, 08:46
von __blackjack__
@sauterle: Die erste Frage wäre ja welches Betriebssystem da drauf ist. Der Dateinamen von dem Package sagt es will Bullseye haben. Und als Hardware ist auch wirklich das hier angeschlossen
https://www.raspberrypi.com/products/camera-module-v2/ ? Dann wäre der nächste Schritt auch erst einmal das die Kamera mit Bordmitteln erkannt wird und funktioniert.
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Freitag 6. Oktober 2023, 12:05
von sauterle
Hallo
Das Programm scheint nun zu laufen und es wird erfolgreich als Service gestartet, welcher Stream hat die geringste Latenz und wie kann man diesen nun empfangen und decodieren
LG sauterle
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Freitag 6. Oktober 2023, 13:02
von __deets__
Benutz VLC zum empfangen, und probier rum, wie es am besten geht.
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Freitag 6. Oktober 2023, 18:28
von sauterle
der webrtc-stream scheint mir der schnellste zu sein , auch wenn man diesen mit scheinbar mit vlc nicht empfangen kann. wie kann man diesen nun decodieren empfangen und in pyqt anzeigen, gibt es da iergendwelche librarys die da hilfreich sind. ich glaube bei webrtc handelt es sich um eine art h264 stream dessen url http://<ip von raspery pi>:8080/webrtc liegt
LG uns Danke sauterle
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Freitag 6. Oktober 2023, 19:04
von __deets__
Angeblich ist WebRTC Teil der Qt Webengine, die wuerde ich also mal probieren.
Re: ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
Verfasst: Sonntag 8. Oktober 2023, 11:31
von sauterle
ich finde im internet leider nichts über das empfangen von web real time comunication(webrtc) vdeostreams mit python weiss irgndjemand wie es geht oder den link zu einer guten dokumatation darüber?
LG sautere