Kamera ueber VNC steuern

  • Liebe Forenmitglieder,


    ich wuerde gerne das Kamera-Modul fuer eines meiner Projekte verwenden. Die Kamera soll ein Video streamen, dass ich mir ueber vnc oder ssh auf einem anderen Linux Rechner anschauen kann. Die beiden Computer befinden sich im selben Netzwerk.


    Ich habe das mit Vlc-Media-Player bereits auch hinbekommen. Leider lies sich auf diesem Wege die Kamera nicht wieder ausschalten beziehungsweise konnte ich die Kamera nach dem Ausschalten nicht wieder erneut starten.


    Ich habe daher nochmal einen anderen Weg probiert.


    http://www.netzmafia.de/skript…e/RasPi/kamera/index.html


    Auf dem Raspberry-Pi verwende ich folgenden Befehl:


    Code
    raspivid  -w 1280 -h 720 -t 0 -o - | nc 10.1.1.1 4711

    Auf dem Linux Rechner fuehre ich folgenden Befehl aus:



    Code
    nc -l -p 4711 | mplayer -fps 31 -cache 1024 -

    Leider bekomme ich folgende Fehlermeldung:


    Code
    MPlayer 1.3.0 (Debian), built with gcc-7 (C) 2000-2016 MPlayer Team
    do_connect: could not connect to socket
    connect: No such file or directory
    Failed to open LIRC support. You will not be able to use your remote control.
    
    Playing -.
    Reading from stdin...
    Cache fill:  0.00% (0 bytes)   


    Ich habe ein wenig recherhiert und habe versucht den Fehler zu beheben.


    https://ubuntuforums.org/showthread.php?t=1419674


    Entsprechend diesem Link habe ich die Datei


    Code
    /etc/mplayer/mplayer.conf


    derart veraendert, dass ich den Beginn der Datei entsprechend nachfolgendem Quellcode veraendert habe.

    Code
    vo=x11


    Leider hat sich an der Fehlermeldung nichts geaendert. Wisst ihr, wie ich die Kamera ueber ssh oder vnc steuern kann, sodass ich die Kamera problemlos ein und ausschalten kann. Kennt ihr eine aktuelle und gute Anleitung. Genre auch mit Python...



    Vielen Dank und bleibt gesund! :saint:


    Viele Gruesse,


    Salzforscher

  • Hallo Salzi,


    ich gehe mal stark davon aus, dass 10.1.1.1 nicht die IP Adresse deines Linux Rechners ist.


    Das muss quasi raspivid  -w 1280 -h 720 -t 0 -o - | nc (IP deines Rechners) 4711 heißen.


    Herausfinden kannst du das über den Befehl ip a.

  • Die Kamera soll ein Video streamen, dass ich mir ueber vnc oder ssh auf einem anderen Linux Rechner anschauen kann.

    Das klingt ein wenig nach doppelt gemoppelt. Über VNCconnect kannst Du einfach das Kamerabild abgreifen (kann sein, dass Du im Server den direkten Zugriff noch anschalten musst - raspivid schreibt direkt in den Grafikspeicher). Über ssh fehlt mir jede Vorstellungskraft, wie Du das hinbekommen willst.


    Oder Du streamst. WIe das geht, steht hier.

  • Hallo Salzforscher, ich habe eine SSH Anleitung für dich geschrieben. Dazu muss am Raspberry Pi der openssh-server aktiviert sein: Mausklick auf die Himbeere, Preferences (Deusch: Einstellungen), Rapsberry PI Configuration. Bei den Interfaces (Schnittstellen) SSH enable (aktivieren). Neustarten.


    Auf deinem Linuxrechner führst du den Befehl aus:

    Code
    nc -l -p 4711 | mplayer -fps 25 -cache 1024 -

    Jetzt öffnest du am gleichen Rechner ein neues Terminal, um den Stream einzuschalten:

    Code
    ssh -R 4711:localhost:4711 pi@raspberrypi -t "raspivid -w 1280 -h 720 -vf -hf -t 0 -o - | nc localhost 4711"

    Du gibst dein raspberry Kennwort ein und der Stream startet im mplayer.

    Mit "Steuerungstaste + c" kannst du Konsolenbefehle beenden, also den Stream ausschalten.

    Zum Einschalten die beiden Befehle erneut in obiger Reihenfolge ausführen.

  • Danke für deine Rückmeldung und viel Spaß beim Ausprobieren :)


    Um dem Thementitel zu entsprechen, möchte ich abschließend die Variante mit VNC erwähnen. Der verwendete mplayer ist am Raspi nicht vorinstalliert. Also einmalig "sudo apt install mplayer" ausführen.


    Auch müsste am Raspi VNC aktiviert werden und auf dem anderen Rechner der VNC Viewer installiert, sowie die Verbindung hergestellt werden. Die Dokumentation dafür habe ich verlinkt.


    In dem VNC Fenster in einem Terminal diesen Befehl ausführen, um den Stream zu erwarten:

    Code
    nc -l -p 4711 | mplayer -fps 25 -cache 1024 -


    Jetzt innerhalb des VNC Fensters ein neues Terminalfenster öffnen, um den Stream zu starten:

    Code
    raspivid -w 1280 -h 720 -vf -hf -t 0 -o - | nc localhost 4711

    Im Terminal die Befehle beenden, geht wieder mit Steuerungstaste + c. Du kannst den Stream nur wieder einschalten, wenn beide Befehle beendet waren.


    Gruß,

    Tigerbeere