Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. mjpg-Streamer über ioBroker starten/stoppen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    mjpg-Streamer über ioBroker starten/stoppen

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Renegade 0 last edited by

      Moin,

      ich habe an meinem Raspi eine USB-Kamera angeschlossen. Diese erzeugt über mjpeg-Streamer einen RTSP-Stream.

      eingerichtet habe ich wie folgt:

      # Pakete installieren
      $ sudo apt-get install cmake libjpeg8-dev
      $ sudo apt-get install gcc g++
      $ git clone https://github.com/jacksonliam/mjpg-streamer
      
      #mjpg-streamer installieren
      $ sudo chmod 777 -R mjpg-streamer
      $ cd /home/pi/mjpg-streamer/mjpg-streamer-experimental
      $ make
      $ sudo make install
      
      #mjpg-streamer starten
      $ export LD_LIBRARY_PATH=.
      $ ./mjpg_streamer -o "output_http.so -w ./www" -i "input_raspicam.so"
      

      Der Stream läuft auch.
      Jetzt hätte ich gerne die Möglichkeit, das Programm zu starten und zu stoppen und zwar das über den ioBroker.
      Zusätzlich wäre auch ein kleines Script toll, welches überwacht, ob der Stream auch läuft und ihn bei Bedarf neustartet.

      Nur bin ich mit dem letzten Befehl schon, als Linux Laie, überfordert.

      Hat hier jemand sowas schon mal umgesetzt oder Hilfe für mich?

      mfG
      Rene

      TheDuke 1 Reply Last reply Reply Quote 0
      • TheDuke
        TheDuke @Renegade 0 last edited by

        @renegade-0

        Das hie mal als Denkanstoß , könnte sogar funktionieren 🙂 Fehlt dir nur noch der "Schalter" den du noch anlegen musst .
        Das selbe dann noch mal um den Stream wieder zu deaktivieren .
        Das prüfen ob der Stream läuft kommt mir gerade nicht vor Augen .....

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable type="timeout" id="timeout1">timeout1</variable>
            <variable type="timeout" id="timeout2">timeout2</variable>
          </variables>
          <block type="controls_if" id="Ci9yel;nZt;3HGWWTd%p" x="-612" y="-337">
            <value name="IF0">
              <block type="logic_compare" id="fsEVLCKjDeTnXQO4viQs">
                <field name="OP">EQ</field>
                <value name="A">
                  <block type="get_value" id="G2%KCoV,9q)w;P-cWe8F">
                    <field name="ATTR">val</field>
                    <field name="OID">0_userdata.0.example_state.Alarm_an</field>
                  </block>
                </value>
                <value name="B">
                  <block type="logic_boolean" id="T#4?AUYpx3)^tR)foJe(">
                    <field name="BOOL">TRUE</field>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO0">
              <block type="timeouts_settimeout" id="WA,Oe^DL4z}r*b[V}@KH">
                <field name="NAME">timeout1</field>
                <field name="DELAY">1</field>
                <field name="UNIT">sec</field>
                <statement name="STATEMENT">
                  <block type="exec" id=";cV#;)tQPo9{oVU.96{M">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                    <field name="WITH_STATEMENT">FALSE</field>
                    <field name="LOG"></field>
                    <value name="COMMAND">
                      <shadow type="text" id="i6H}i4U]411NG1x8ARy/">
                        <field name="TEXT">/home/pi/mjpg-streamer/mjpg-streamer-experimental./mjpg_streamer -o "output_http.so -w ./www" -i "input_raspicam.so"</field>
                      </shadow>
                    </value>
                    <next>
                      <block type="timeouts_settimeout" id="[aE}KrJY,d:0HXf]A0v?">
                        <field name="NAME">timeout2</field>
                        <field name="DELAY">2</field>
                        <field name="UNIT">sec</field>
                        <statement name="STATEMENT">
                          <block type="telegram" id="VMlUO}%`ou.n8L|//~HY">
                            <field name="INSTANCE">.0</field>
                            <field name="LOG"></field>
                            <field name="SILENT">FALSE</field>
                            <field name="PARSEMODE">default</field>
                            <value name="MESSAGE">
                              <shadow type="text" id="(]Kd97@!Pl;eh$%sQw2X">
                                <field name="TEXT">Stream gestartet </field>
                              </shadow>
                            </value>
                          </block>
                        </statement>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </statement>
          </block>
        </xml>
        

        stream_an.png

        R 1 Reply Last reply Reply Quote 0
        • R
          Renegade 0 @TheDuke last edited by Renegade 0

          @theduke
          Das ist jetzt ein blockly Script oder?

          Dein Startbefehl funktioniert so leider nicht.

          pi@TestPI:~ $ /home/pi/mjpg-streamer/mjpg-streamer-experimental./mjpg_streamer -o "output_http.so -w ./www" -i "input_uvc.so"
          -bash: /home/pi/mjpg-streamer/mjpg-streamer-experimental./mjpg_streamer: Datei oder Verzeichnis nicht gefunden
          pi@TestPI:~ $
          

          und ohne den Punkt

          pi@TestPI:~ $ /home/pi/mjpg-streamer/mjpg-streamer-experimental/mjpg_streamer -o "output_http.so -w ./www" -i "input_uvc.so"
          MJPG Streamer Version: git rev: 5554f42c352ecfa7edaec6fc51e507afce605a34
          ERROR: could not find input plugin
                 Perhaps you want to adjust the search path with:
                 # export LD_LIBRARY_PATH=/path/to/plugin/folder
                 dlopen: input_uvc.so: cannot open shared object file: No such file or directory
          pi@TestPI:~ $
          
          TheDuke 1 Reply Last reply Reply Quote 0
          • TheDuke
            TheDuke @Renegade 0 last edited by

            @renegade-0

            ahhh, der blöde Punkt 😠

            ./home/pi/mjpg-streamer/mjpg-streamer-experimental/mjpg_streamer
            

            so sollte es aber passen

            R 1 Reply Last reply Reply Quote 0
            • R
              Renegade 0 @TheDuke last edited by Renegade 0

              @theduke
              Leider nein. Siehe oben der 2. Kasten.

              So gehts aber.

              pi@TestPI:~ $ cd /home/pi/mjpg-streamer/mjpg-streamer-experimental
              pi@TestPI:~/mjpg-streamer/mjpg-streamer-experimental $ export LD_LIBRARY_PATH=. 
              pi@TestPI:~/mjpg-streamer/mjpg-streamer-experimental $ /home/pi/mjpg-streamer/mjpg-streamer-experimental/mjpg_streamer -o "output_http.so -w ./www" -i "input_uvc.so"
              MJPG Streamer Version: git rev: 5554f42c352ecfa7edaec6fc51e507afce605a34
               i: Using V4L2 device.: /dev/video0
               i: Desired Resolution: 640 x 480
               i: Frames Per Second.: -1
               i: Format............: JPEG
               i: TV-Norm...........: DEFAULT
              UVCIOC_CTRL_ADD - Error at Pan (relative): Inappropriate ioctl for device (25)
              UVCIOC_CTRL_ADD - Error at Tilt (relative): Inappropriate ioctl for device (25)
              UVCIOC_CTRL_ADD - Error at Pan Reset: Inappropriate ioctl for device (25)
              UVCIOC_CTRL_ADD - Error at Tilt Reset: Inappropriate ioctl for device (25)
              UVCIOC_CTRL_ADD - Error at Pan/tilt Reset: Inappropriate ioctl for device (25)
              UVCIOC_CTRL_ADD - Error at Focus (absolute): Inappropriate ioctl for device (25)
              UVCIOC_CTRL_MAP - Error at Pan (relative): Inappropriate ioctl for device (25)
              UVCIOC_CTRL_MAP - Error at Tilt (relative): Inappropriate ioctl for device (25)
              UVCIOC_CTRL_MAP - Error at Pan Reset: Inappropriate ioctl for device (25)
              UVCIOC_CTRL_MAP - Error at Tilt Reset: Inappropriate ioctl for device (25)
              UVCIOC_CTRL_MAP - Error at Pan/tilt Reset: Inappropriate ioctl for device (25)
              UVCIOC_CTRL_MAP - Error at Focus (absolute): Inappropriate ioctl for device (25)
              UVCIOC_CTRL_MAP - Error at LED1 Mode: Inappropriate ioctl for device (25)
              UVCIOC_CTRL_MAP - Error at LED1 Frequency: Inappropriate ioctl for device (25)
              UVCIOC_CTRL_MAP - Error at Disable video processing: Inappropriate ioctl for device (25)
              UVCIOC_CTRL_MAP - Error at Raw bits per pixel: Inappropriate ioctl for device (25)
               o: www-folder-path......: ./www/
               o: HTTP TCP port........: 8080
               o: HTTP Listen Address..: (null)
               o: username:password....: disabled
               o: commands.............: enabled
              
              TheDuke 1 Reply Last reply Reply Quote 0
              • TheDuke
                TheDuke @Renegade 0 last edited by

                @renegade-0

                Ja, da fehlt noch das

                export LD_LIBRARY_PATH=.
                

                das solltest du festschreiben damit man das nicht immer wieder eingeben muss

                R 1 Reply Last reply Reply Quote 0
                • R
                  Renegade 0 @TheDuke last edited by Renegade 0

                  @theduke
                  und wie mach ich das? am liebsten wäre mir ein Befehl wie $ start mjpeg-streamer und $ stop mjpeg-streamer.

                  Bei Windoof würde ich eine mjpeg.bat dafür schreiben. Nur auf Linug keinen Plan.

                  oder aber es in den Autostart packen und quasi vorladen lassen beim startup und dann nur noch ein und aus.

                  TheDuke 1 Reply Last reply Reply Quote 0
                  • TheDuke
                    TheDuke @Renegade 0 last edited by TheDuke

                    @renegade-0
                    ja das geht, die anderen Leser lachen uns jetzt aus ,

                    ungefähr so :

                    touch mjpg-streamer.sh
                    chmod 755 mjpg-streamer.sh
                    echo "export LD_LIBRARY_PATH=. " > mjpg-streamer.sh
                    echo "./home/pi/mjpg-streamer/mjpg-streamer-experimental/mjpg_streamer" >>  mjpg-streamer.sh
                    

                    dann startest du im Verzeichnis einfach mit :

                    ./mjpg-streamer.sh
                    

                    und stopen mit :

                    killall mjpg_streamer
                    
                    R 1 Reply Last reply Reply Quote 0
                    • R
                      Renegade 0 @TheDuke last edited by

                      @theduke

                      Ach, das ist schon OK. Ich bin schon stolz auf mich, die Anweisungen halbwegs zu verstehen.^^

                      Jo danke dir, musste ein wenig umbauen, aber jetzt läuft es.
                      Jetzt kann ich es mit node-Red starten und beenden. Muss nur noch rausfinden, wie ich im Red jetzt mit den PID im exec arbeite und dann hab ich meine Funktion. Vielleicht finde ich auch noch heraus, wie ich den Port überwachen kann, dann hab ich auch die Überwachung. 🙂

                      Danke dir vielmals.

                      TheDuke 1 Reply Last reply Reply Quote 0
                      • TheDuke
                        TheDuke @Renegade 0 last edited by

                        @renegade-0 sagte in mjpg-Streamer über ioBroker starten/stoppen:

                        Danke dir vielmals.

                        gerne

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        922
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        multimedia
                        2
                        10
                        808
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo