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
ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
- __blackjack__
- User
- Beiträge: 13919
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Welchen Videostream? Da gibt es ja potentiell mehrere Formate die das Projekt ausliefert.
“I am Dyslexic of Borg, Your Ass will be Laminated” — unknown
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
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
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.
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.
ich habe den Befehl nicht als service ausgeführt. wenn ich mich nicht irre müsste er sein. das Ergebnis ist eine Fehlermeldung, die da lautet:
LG sauterle
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
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
hallo ich habe gerade einmal versucht testweise ein bild aufzunehmen das ging nicht die fehlermeldung war
LG sauterle
Code: Alles auswählen
raspistill -o test.jpg
Code: Alles auswählen
mmal: main: Error opening output file: test.jpg~
No output file will be generated
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.
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.
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;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
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
LG sauterle
@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.
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.
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.
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.
- __blackjack__
- User
- Beiträge: 13919
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@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.
“I am Dyslexic of Borg, Your Ass will be Laminated” — unknown
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
LG uns Danke sauterle