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.
    • OliverIO
      OliverIO @Bhenyamin last edited by

      @bhenyamin

      Das einfachste für dich wäre, ffmpeg im iobroker Image zusätzlich zu installieren
      Dafür ist die environment variable PACKAGES
      Vorgesehen. Dort kannst du angeben welche weiteren Pakete installiert werden sollen

      Wenn dann das Programm da ist kannst du es von iobroker aus auch ansprechen.
      Wo welche Dateien zu liegen haben oder gespeichert werden soll kann ich nicht sagen. Das hat mit den Datei Berechtigungen zu tun.
      Da wirst du austüfteln müssen.
      Die Ausgabedatei könnte evtl im /temp Ordner erzeugt werden, da es ja nach versandt nicht mehr benötigt wird

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

        @oliverio

        Super, danke, das öffnet mir die Augen. Jetzt muss ich nur noch raus finden wie ich das FFMPEG Paket da rein bekomme, aber da komme ich hinter. Merci!

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

          @bhenyamin

          die environment variable ist bei buanet dokumentiert

          B 1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @Bhenyamin last edited by

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

            1 Reply Last reply Reply Quote 0
            • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            916
                                            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