Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. mjpg-Streamer über ioBroker starten/stoppen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    15
    1
    205

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

mjpg-Streamer über ioBroker starten/stoppen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
multimedia
10 Beiträge 2 Kommentatoren 1.2k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • R Offline
    R Offline
    Renegade 0
    schrieb am zuletzt editiert von
    #1

    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

    TheDukeT 1 Antwort Letzte Antwort
    0
    • R Renegade 0

      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

      TheDukeT Offline
      TheDukeT Offline
      TheDuke
      schrieb am zuletzt editiert von
      #2

      @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

      schöne Grüße TheDuke ;)

      R 1 Antwort Letzte Antwort
      0
      • TheDukeT TheDuke

        @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 Offline
        R Offline
        Renegade 0
        schrieb am zuletzt editiert von Renegade 0
        #3

        @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:~ $
        
        TheDukeT 1 Antwort Letzte Antwort
        0
        • R 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:~ $
          
          TheDukeT Offline
          TheDukeT Offline
          TheDuke
          schrieb am zuletzt editiert von
          #4

          @renegade-0

          ahhh, der blöde Punkt :angry:

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

          so sollte es aber passen

          schöne Grüße TheDuke ;)

          R 1 Antwort Letzte Antwort
          0
          • TheDukeT TheDuke

            @renegade-0

            ahhh, der blöde Punkt :angry:

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

            so sollte es aber passen

            R Offline
            R Offline
            Renegade 0
            schrieb am zuletzt editiert von Renegade 0
            #5

            @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
            
            TheDukeT 1 Antwort Letzte Antwort
            0
            • R 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
              
              TheDukeT Offline
              TheDukeT Offline
              TheDuke
              schrieb am zuletzt editiert von
              #6

              @renegade-0

              Ja, da fehlt noch das

              export LD_LIBRARY_PATH=.
              

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

              schöne Grüße TheDuke ;)

              R 1 Antwort Letzte Antwort
              0
              • TheDukeT TheDuke

                @renegade-0

                Ja, da fehlt noch das

                export LD_LIBRARY_PATH=.
                

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

                R Offline
                R Offline
                Renegade 0
                schrieb am zuletzt editiert von Renegade 0
                #7

                @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.

                TheDukeT 1 Antwort Letzte Antwort
                0
                • R 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.

                  TheDukeT Offline
                  TheDukeT Offline
                  TheDuke
                  schrieb am zuletzt editiert von TheDuke
                  #8

                  @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
                  

                  schöne Grüße TheDuke ;)

                  R 1 Antwort Letzte Antwort
                  0
                  • TheDukeT 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 Offline
                    R Offline
                    Renegade 0
                    schrieb am zuletzt editiert von
                    #9

                    @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.

                    TheDukeT 1 Antwort Letzte Antwort
                    0
                    • R Renegade 0

                      @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.

                      TheDukeT Offline
                      TheDukeT Offline
                      TheDuke
                      schrieb am zuletzt editiert von
                      #10

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

                      Danke dir vielmals.

                      gerne

                      schöne Grüße TheDuke ;)

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      276

                      Online

                      32.7k

                      Benutzer

                      82.4k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe