Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. FFMPEG im Container über Java-Skript nutzen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    FFMPEG im Container über Java-Skript nutzen

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Bhenyamin @OliverIO last edited by

      @oliverio
      Da hatte ich es auch schon mal nach gelesen. Versuche ich gleich mal. Meinte eher, ob ich einfach ffmpeg bei den Paketen rein schreiben kann. (Wirkt auf mich immer etwas zu einfach 🙂

      @codierknecht said in FFMPEG im Container über Java-Skript nutzen:

      @bhenyamin
      QNAP ist hier wohl etwas exotisch.
      Bei Synology gibst Du das/die benötigte(n) Paket(e) einfach in den Umgebungsvariablen des Containers an.

      24a242f0-2c50-40eb-9be0-d5e534d1e900-grafik.png

      Geladen wird das dann beim Start des Containers automatisch.

      Ich habs noch nicht getestet. Muss gerade erstmal das QNAP updaten. Ich geben mal bescheid, obs klappt. Danke!

      B 1 Reply Last reply Reply Quote 0
      • B
        Bhenyamin @Bhenyamin last edited by Bhenyamin

        ich habs im terminal des Iobroker Containers einfach mal über den apt befehl angefangen zu installieren.... Ich warte gespannt 😕

        Edit: Geil, hat funktioniert. Da hätte man auch drauf kommen können. In der Console kann ich ffmpeg jetzt nutzen. Dann versuche ich mal, es über das Skript zu nutzen! Merci alle.

        OliverIO 2 Replies Last reply Reply Quote 0
        • OliverIO
          OliverIO @Bhenyamin last edited by OliverIO

          @bhenyamin

          nein, falsch,
          alles was du in einem docker image auf der kommandozeile machst ist im container nicht dauerhaft (sofern es nicht eine der volumes betrifft)
          da bei buanet die "bin" pfade (keine ahnung wo bspw ffmpg sich hininstalliert) nicht in einem volume befindet, dann ist es bei der nächsten regeneration wieder weg

          einfach den packetnamen in das environment feld schreiben
          auf der synology gibt es da dann genau auch diese eingabemöglichkeit
          a020c88b-6ade-4b9f-8f4c-21dd985e6900-image.png

          da buanet auf debian basiert, können dann auch alle packetnamen eingetragen werden die sonst auch mit apt install eingegeben werden können
          https://packages.debian.org/bookworm/ffmpeg

          für qnap habe ich direkt nur einen screenshot gefunden bei dem links environment mit dabei steht
          332e06b2-56a4-4e6c-a6cc-914226604d5e-image.png

          1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @Bhenyamin last edited by

            @bhenyamin sagte in FFMPEG im Container über Java-Skript nutzen:

            Edit: Geil, hat funktioniert. Da hätte man auch drauf kommen können. In der Console kann ich ffmpeg jetzt nutzen. Dann versuche ich mal, es über das Skript zu nutzen! Merci alle.

            wenn du das mit dem packages hinbekommen hast,
            denke daran, das skripte und blocklys von iobroker aus als user "iobroker" ausgeführt wird

            am besten zum testen auf der kommandozeile in container

            sudo -u iobroker bash
            

            eingeben. dann wird eine neue bash für den user iobroker gestartet. alles was du dort machst ist so wie wenn es nachher das skript ausführt
            (nur um probleme mit den benutzerrechten vorzubeugen)
            aus der kommst du mit exit wieder zum normalen user zurück (oder einfach die konsole komplett schließen)

            B 1 Reply Last reply Reply Quote 0
            • B
              Bhenyamin @OliverIO last edited by Bhenyamin

              @oliverio

              Moin, ich muss hier nochmal ran.
              Hatte die FFMPEG Geschichte jetzt schön laufend. Snapshots und Videos habe ich via Blockly Skript ich auf trigger hin (z.B. klingeln oder per Telegram Kommando) im tmp/ Verzeichnis gespeichert und anschließend direkt per Telegram.

              "ffmpeg -i http://xxx:xxx@192.x.x.x/tmpfs/snap.jpg -vf scale=480:300 -q:v 2 -y /tmp/doorsnap.jpg"

              Ging super sauber bis zum JS Upgrade von 4 auf 5 vor ein paar Tagen. Seither bleibt das tmp Verzeichnis leer, nachdem der ffmpeg Befehl gelaufen ist. Scheint evtl. Ein Zugriffsrechte Problem zu sein oder so... weiss nur nicht, wie ich das löse.

              Hat sich da durch das Upgrade bekannterweise was geändert?

              1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO last edited by

                @bhenyamin

                hast du mal probiert in der console des containers den folgenden befehl einzugeben und dann deinen ffmpeg befehl?
                dann siehst du evtl genauer, was da für fehlermeldungen auftauchen.

                sudo -u iobroker bash
                
                B 1 Reply Last reply Reply Quote 0
                • B
                  Bhenyamin @OliverIO last edited by

                  @oliverio said in FFMPEG im Container über Java-Skript nutzen:

                  @bhenyamin

                  hast du mal probiert in der console des containers den folgenden befehl einzugeben und dann deinen ffmpeg befehl?
                  dann siehst du evtl genauer, was da für fehlermeldungen auftauchen.

                  sudo -u iobroker bash
                  

                  Oh mann, ich idiot. Ich glaube ich habe ffmpeg beim recreate des Containers im Zuge des Upgrades gar nicht mit installiert. Danke für den Tip. "ffmpeg command not found" hat mir die Augen geöffnet! Vielen Dank für den Klaps auf den Hinterkopf 🙂

                  Grüße

                  OliverIO 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @Bhenyamin last edited by OliverIO

                    @bhenyamin

                    was heißt installiert?
                    du trägst das paket ja in die environment Packages des containers rein
                    https://github.com/buanet/ioBroker.docker/blob/main/docs/README_docker_hub_iobroker.md#configure-environment

                    so ist es dann auch beim nächsten re-create consistent wieder da.
                    nix mit apt install und so im container auf der komandozeile ausführen.

                    B 1 Reply Last reply Reply Quote 0
                    • B
                      Bhenyamin @OliverIO last edited by

                      @oliverio
                      Genau, und das hattest Du mir bei meiner ursprünglichen Anfrage auch geraten, wie ich jetzt las. Das habe ich aber damals gar nicht gesehen und halt über apt installiert und so ist es gekommen, wie du vorher gesagt hast.
                      Beim recreate des containers war es jetzt weg.

                      Ich trage das Paket "ffmpeg" als environment variable ein, okay... und als value? Den Pfad?

                      OliverIO 1 Reply Last reply Reply Quote 0
                      • OliverIO
                        OliverIO @Bhenyamin last edited by OliverIO

                        @bhenyamin

                        ach würde es nur eine dokumentation geben wo das genau drin steht 😉
                        https://github.com/buanet/ioBroker.docker/blob/main/docs/README_docker_hub_iobroker.md#configure-environment

                        PACKAGES (optional) Install additional Linux packages to your container, packages should be separated by whitespace like this: package1 package2 package3.
                        
                        

                        alles was in packages drin steht wird dann durch ein skript im container automatisch bei der regeneration für dich installiert. als da kommt genau der name rein mit dem du das installierst, also ffmpeg

                        B 1 Reply Last reply Reply Quote 1
                        • B
                          Bhenyamin @OliverIO last edited by

                          @oliverio

                          Das habe ich schon verstanden. Ich frage mich nur, was ich als Value eintrage.

                          Danke für deinen Support.

                          Screenshot_20231202_230656_Chrome.jpg

                          OliverIO 1 Reply Last reply Reply Quote 0
                          • Marc Berg
                            Marc Berg Most Active last edited by

                            @bhenyamin sagte in FFMPEG im Container über Java-Skript nutzen:

                            Das habe ich schon verstanden.

                            Ne, scheinbar nicht. 🙂

                            1bbc7aef-f704-4ae0-bfaf-8410ecee9aa6-grafik.png

                            B 1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @Bhenyamin last edited by OliverIO

                              @bhenyamin

                              Bei packages trägst du den Paketnamen ein. Wenn mehrere dann mit Leerzeichen getrennt

                              Aber eigentlich habe ich das ja schon so geschrieben. Auch exakt den Wert den du eintragen musst.
                              Ansonsten musst du genauer schreiben wo das Problem ist
                              Du weißt was ein package ist?

                              B 1 Reply Last reply Reply Quote 0
                              • B
                                Bhenyamin @Marc Berg last edited by

                                @marc-berg

                                Aaaaahhh! Jetzt ja.

                                1 Reply Last reply Reply Quote 0
                                • B
                                  Bhenyamin @OliverIO last edited by Bhenyamin

                                  @oliverio

                                  Du weißt was ein package ist?

                                  Offenbar nicht über die reine Ableitung aus der Übersetzung hinaus.
                                  Ich dachte einfach ein Paket, was im Iobroker-Container mit installiert wird, wenn man es in den Environment Variablen einträgt.

                                  Auch exakt den Wert den du eintragen musst.

                                  Das habe ich irgendwie nicht en Detail gesehen.

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @Bhenyamin last edited by

                                    @bhenyamin

                                    • ein paket ist eine paketierte linux software, treiber, etc.
                                    • ein paket hat einen eindeutigen namen
                                    • pakete werden mittels eines paketmanagers der distribution verwaltet (bei debian/ubuntu dpkg, apt, apt-get)
                                    B 1 Reply Last reply Reply Quote 0
                                    • B
                                      Bhenyamin @OliverIO last edited by

                                      @oliverio

                                      Stark, jetzt wird mir einiges klarer. Danke Dir!

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      917
                                      Online

                                      32.0k
                                      Users

                                      80.4k
                                      Topics

                                      1.3m
                                      Posts

                                      4
                                      22
                                      1195
                                      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