Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [HowTo] rtsp mit ffmpeg für vis konvertieren

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [HowTo] rtsp mit ffmpeg für vis konvertieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      eastcoast last edited by

      @balear59:

      Der Server läuft auch nicht. Wenn ich über das Terminal auf den raspberry gehe und den Server mit /usr/bin/ffserver starte, bekomme ich keine Erfolgsmedung. `
      Ich denke schon dass der ffserver läuft, sonst würde die status.html nicht angezeigt.

      Also wie schon zuletzt geschrieben, ffmpeg muss auch gestartet werden!

      1 Reply Last reply Reply Quote 0
      • M
        Marcolotti last edited by

        Hallo,

        wie sieht das Script aus, wenn ich den FFMPEG Server auf einem anderen Host starte? Der Master(iobroker) läuft noch auf einem Pi2 und ich habe mir gedacht, der Pi3(Slave) hat mehr Bumms und ist nicht so ausgelastet.

        Gruß Marco

        1 Reply Last reply Reply Quote 0
        • E
          eastcoast last edited by

          @Marcolotti:

          wie sieht das Script aus, wenn ich den FFMPEG Server auf einem anderen Host starte? `
          Wenn ffserver auf einem anderen Host läuft könntest Du hier

          var ffmpegStartCmd   = "ffmpeg -i \"ip-der-cam-here" http://localhost:8090/ipcam1.ffm";
          
          

          einfach die "localhost:8090" auf die Adresse des ffserver ändern.

          Mehr Ressourcen benötigt jedoch ffmpeg, desshalb würde es eher Sinn machen auch ffmpeg auf dem anderen Host zu betreiben.

          1 Reply Last reply Reply Quote 0
          • B
            blinderengel last edited by

            Hi ich hätte da eine Frage, bin neu hier und habe iobroker erst am WE installiert und meine HM umgebung eingebunden.

            jetzt fehlt mir noch meine Cam ich habe eine HiKam Q7 sowie eine A7 könnt ihr mir hier helfen wie ich diese angezeigt bekomme.

            vielen Dank

            Jörg

            1 Reply Last reply Reply Quote 0
            • G
              Gonmyr last edited by

              Hallo,

              prima Anleitung. Danke fürs Teilen.

              Läut super mit der ersten Cam.

              Verstehe ich das richtig, dass ich dann für mehrere IPCams auch mehrere Scripte brauche oder kann ich die alle in ein Script schmeißen?

              Grüße

              1 Reply Last reply Reply Quote 0
              • M
                mikiline last edited by

                @Gonmyr:

                Hallo,

                prima Anleitung. Danke fürs Teilen.

                Läut super mit der ersten Cam.

                Verstehe ich das richtig, dass ich dann für mehrere IPCams auch mehrere Scripte brauche oder kann ich die alle in ein Script schmeißen?

                Grüße `

                ich schätze mal das du die Variable hier ändern kannst in z.B auch cam1 und den Pfad anpassen bzw. die ausgabeurl ändern

                var ffmpegStartCmd   = "ffmpeg -i \"rtsp://user:user@192.168.1.yyy:554/cam/realmonitor?channel=1&subtype=2\" http://localhost:8090/ipcam1.ffm";
                

                Kamera 2

                var ffmpegStartCmdCam2   = "ffmpeg -i \"rtsp://user:user@192.168.1.yyy:554/cam/realmonitor?channel=1&subtype=2\" http://localhost:8090/ipcam2.ffm";
                

                Danach dann noch im dem Startabschnitt die Variable mitstarten

                 exec(ffserverStartCmd, function(err, stdout, stderr) {
                        if (err) {
                            console.log("ffserver error: " + stderr);
                        }
                

                darin noch einfügen (2. Kamera)

                 exec(ffmpegStartCmdCam2, function(err, stdout, stderr) {
                        if (err) {
                            console.log("ffserver error: " + stderr);
                        }
                
                1 Reply Last reply Reply Quote 0
                • G
                  Gonmyr last edited by

                  Du meinst in Deinem 2. Abschnitt ffmpegStartCmd anstatt ffserverStart oder?

                  Sonst wäre ja der Eintrag doppelt… oder übersehe ich etwas?

                  1 Reply Last reply Reply Quote 0
                  • M
                    mikiline last edited by

                    ffserver läuft ja bereits….

                    einfach die variable ersetzen die du oben genommen hast (url zur 2. cam)

                    Und in der Config Datei (etc/ffserver.conf) noch die 2. cam als stream einfügen

                    ! ````
                    ########################################

                    IP camera feed...

                    <feed ipcam1.ffm="">File /tmp/ipcam1.ffm
                    FileMaxSize 1M
                    ACL allow 127.0.0.1</feed>

                    ! ########################################

                    Streams...

                    <stream ipcam1.mjpg="">Feed ipcam1.ffm
                    Format mpjpeg
                    VideoQMin 1
                    VideoQMax 4
                    VideoFrameRate 10
                    VideoSize 480x390
                    VideoBufferSize 1024
                    VideoBitRate 1024
                    NoAudio
                    Strict -1</stream>
                    <stream ipcam1.jpg="">Feed ipcam1.ffm
                    Format jpeg
                    Qscale 2
                    VideoFrameRate 2
                    VideoSize 704x576
                    VideoIntraOnly
                    NoAudio
                    NoDefaults
                    Strict -1</stream>

                    
                    Alles ohne Gewähr…..ich habe das nicht getestet ;)
                    1 Reply Last reply Reply Quote 0
                    • G
                      Gonmyr last edited by

                      Es läuft! :lol:

                      Aber ich musste die ffserver.conf auch noch anpassen.

                      Wenn dort auch alle Streams drin stehen, klappt es prima.

                      Dankeschön für die Unterstützung!

                      Gruß

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

                        Bin grad am Testen. ffserver läuft schon mal.

                        Geht das ganze nur mit rtsp-streams oder auch mit http-streams?

                        1 Reply Last reply Reply Quote 0
                        • D
                          dtp last edited by

                          Also ich nutze seit Jahren auf meinem Raspi das https://elinux.org/RPi-Cam-Web-Interface. Läuft sehr stabil und bietet extrem viele Einstellmöglichkeiten; so z.B. auch eine integrierte Bewegungserkennung.

                          Streams lassen sich per

                          http://<ip-adresse>/cam_pic_new.php?</ip-adresse>
                          

                          einbinden oder per

                          http://<ip-adresse>:</ip-adresse>
                          

                          direkt im Browser ansehen (Der Port ist nur nötig, wenn man vom Standardwert 80 abweicht). Zudem ist eine sehr einfache Konfiguration über den Web-Server möglich.

                          Gruß,

                          Thorsten

                          1 Reply Last reply Reply Quote 0
                          • M
                            mikiline last edited by

                            @lobomau:

                            Bin grad am Testen. ffserver läuft schon mal.

                            Geht das ganze nur mit rtsp-streams oder auch mit http-streams? `

                            Das ist dann ein MJPEG Stream….also ein HTTP Stream.

                            Ja du kannst auch RTSP Stream von ffSERVER "konvertieren" lassen

                            Einfach zu probieren wenn du im Skript einfach mal einen anderen Stream zu ffServer schickst 😉

                            1 Reply Last reply Reply Quote 0
                            • E
                              eastcoast last edited by

                              @lobomau:

                              Bin grad am Testen. ffserver läuft schon mal.

                              Geht das ganze nur mit rtsp-streams oder auch mit http-streams? `
                              Keine Ahnung was du mit "http-stream" meinst, aber prinzipiell kann ffmpeg so ziemlich alles konvertieren,

                              auf deren Homepage gibt es detailierte Infos.

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

                                Ich habe es nun mit einer camera probiert, die ein rtsp-stream macht.

                                Läuft wohl so halb, wenn man die Werte liest. Nur Bild habe ich nicht und keine zusätzliche CPU-Beanspruchung.

                                Ich verstehe nicht was die synology (192.168.178.24) damit zu tun hat? Achso… dort läuft synology suvaillance mit der camera. Vielleicht sollte ich dort erstmal ausschalten... probiere ich mal aus... Edit: hat keinen Unterschied gemacht.

                                Laufen tut ffmpeg auf dem server wo auch ioBroker läuft (192.168.178.18).
                                1146_ffserver.png
                                1146_ffserver2.png

                                1 Reply Last reply Reply Quote 0
                                • _
                                  _techniker_ last edited by

                                  So sieht das bei mir auch aus.

                                  Gibt es dafür eine Lösung?

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    crossx last edited by

                                    @_techniker_:

                                    So sieht das bei mir auch aus.

                                    Gibt es dafür eine Lösung? `

                                    Im ursprünglichen Skript fehlt am Ende in der start-Funktion der Befehl ffmpegStart() um den Stream zu starten. Allerdings auf meinem RPi2 kaum umsetzbar, da zuviel Leistung benötigt wird.

                                    function start() {
                                        ffserverStart();
                                        ffmpegStart();
                                    }
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • Chaot
                                      Chaot last edited by

                                      Bei mir startet das Script nicht.

                                      Ich habe bei der Adresse der Kamera einen Fehler.

                                      Komme aber nicht drauf was:

                                      javascript.0	2018-12-26 23:08:40.399	error	at TCP.onread (net.js:601:20)
                                      javascript.0	2018-12-26 23:08:40.399	error	at Socket.Readable.push (_stream_readable.js:208:10)
                                      javascript.0	2018-12-26 23:08:40.399	error	at readableAddChunk (_stream_readable.js:250:11)
                                      javascript.0	2018-12-26 23:08:40.399	error	at addChunk (_stream_readable.js:263:12)
                                      javascript.0	2018-12-26 23:08:40.399	error	at Socket.emit (events.js:211:7)
                                      javascript.0	2018-12-26 23:08:40.399	error	at emitOne (events.js:116:13)
                                      javascript.0	2018-12-26 23:08:40.399	error	at Socket. <anonymous>(/opt/iobroker/node_modules/redis/index.js:274:27)
                                      javascript.0	2018-12-26 23:08:40.399	error	at JavascriptRedisParser.execute (/opt/iobroker/node_modules/redis-parser/lib/parser.js:574:12)
                                      javascript.0	2018-12-26 23:08:40.398	error	at JavascriptRedisParser.returnReply (/opt/iobroker/node_modules/redis/index.js:192:18)
                                      javascript.0	2018-12-26 23:08:40.398	error	at RedisClient.return_reply (/opt/iobroker/node_modules/redis/index.js:824:9)
                                      javascript.0	2018-12-26 23:08:40.398	error	at normal_reply (/opt/iobroker/node_modules/redis/index.js:726:21)
                                      javascript.0	2018-12-26 23:08:40.398	error	at Command.callback (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:236:17)
                                      javascript.0	2018-12-26 23:08:40.398	error	at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:823:17)
                                      javascript.0	2018-12-26 23:08:40.398	error	at createActiveObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1200:20)
                                      javascript.0	2018-12-26 23:08:40.398	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1146:37)
                                      javascript.0	2018-12-26 23:08:40.398	error	at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:957:28)
                                      javascript.0	2018-12-26 23:08:40.398	error	at Object.createScript (vm.js:80:10)
                                      javascript.0	2018-12-26 23:08:40.397	error	SyntaxError: Unexpected identifier
                                      javascript.0	2018-12-26 23:08:40.397	error	^^^^
                                      javascript.0	2018-12-26 23:08:40.397	error	var ffmpegStartCmd = "ffmpeg -i \"rtsp://192.168.8.90:554/user=XXXXXX_password=XXXXXXXX_channel=1_stream=0.sdp?real_stream" http://localhost:8090/ipcam1.ffm";
                                      javascript.0	2018-12-26 23:08:40.397	error	at script.js.Klingel.Kamera:6
                                      javascript.0	2018-12-26 23:08:40.397	error	script.js.Klingel.Kamera compile failed:</anonymous> 
                                      

                                      Scriptkopf:

                                      // **********************************************************************
                                      // Settings
                                      
                                      var ffserverStartCmd = "/usr/bin/ffserver &";
                                      var ffserverStopCmd  = "killall ffserver";
                                      var ffmpegStartCmd   = "ffmpeg -i \"rtsp://192.168.8.90:554/user=XXXX_password=XXXXXX_channel=1_stream=0.sdp?real_stream" http://localhost:8090/ipcam1.ffm";
                                      var ffmpegStopCmd    = "killall ffmpeg";
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        johann.greindl last edited by

                                        Da fehlt ein Backslash \ nach real_stream

                                        Gesendet von iPad mit Tapatalk

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

                                          😄 😄 😄 … und läuft!

                                          Ganz herzlichen Dank :!:

                                          1 Reply Last reply Reply Quote 0
                                          • H
                                            HoffmannOs last edited by

                                            ` > * javascript.0 2018-12-28 01:22:59.897 info script.js.Alarmanlage.ffmpeg: ffmpeg has exited unexpected! Restart in 30s!

                                            javascript.0 2018-12-28 01:22:59.897 info script.js.Alarmanlage.ffmpeg: getState(id=ffmpegCam.run, timerId=0) => [object Object]
                                            
                                            javascript.0 2018-12-28 01:22:59.897 info script.js.Alarmanlage.ffmpeg: ffmpeg error: ffmpeg version 3.2.12-1~deb9u1 Copyright © 2000-2018 the FFmpeg developers built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516 configuration: --pre
                                            
                                            javascript.0 2018-12-28 01:22:54.447 info script.js.Alarmanlage.ffmpeg: ffmpeg stop failed: ffmpeg: Kein Prozess gefunden
                                            
                                            javascript.0 2018-12-28 01:22:54.447 info script.js.Alarmanlage.ffmpeg: exec: ffmpeg -i "rtsp://xxx:xxxx12@192.168.181.53:554/onvif/profile1/media.smp" [http://localhost:8090/ipcam1.ffm](http://localhost:8090/ipcam1.ffm)
                                            
                                            javascript.0 2018-12-28 01:22:54.447 info script.js.Alarmanlage.ffmpeg: ffmpeg start...
                                            
                                            javascript.0 2018-12-28 01:22:54.447 info script.js.Alarmanlage.ffmpeg: exec: killall ffmpeg
                                            
                                            javascript.0 2018-12-28 01:22:54.447 info script.js.Alarmanlage.ffmpeg: ffmpeg stop...
                                            
                                            javascript.0 2018-12-28 01:22:54.447 warn script.js.Alarmanlage.ffmpeg: clearTimeout() => not found
                                            
                                            javascript.0 2018-12-28 01:22:54.447 info script.js.Alarmanlage.ffmpeg: setForeignState(id=javascript.0.ffmpegCam.statistics.cntRestart, state=45)
                                            
                                            javascript.0 2018-12-28 01:22:54.447 info script.js.Alarmanlage.ffmpeg: getState(id=ffmpegCam.statistics.cntRestart, timerId=0) => [object Object]
                                            
                                            javascript.0 2018-12-28 01:22:54.447 info script.js.Alarmanlage.ffmpeg: setForeignState(id=javascript.0.ffmpegCam.statistics.lastRestart, state="2018-12-28 01:22:54")
                                            
                                            javascript.0 2018-12-28 01:22:24.421 info script.js.Alarmanlage.ffmpeg: setTimeout(ms=30000)
                                            
                                            javascript.0 2018-12-28 01:22:24.421 info script.js.Alarmanlage.ffmpeg: ffmpeg has exited unexpected! Restart in 30s!
                                            
                                            javascript.0 2018-12-28 01:22:24.421 info script.js.Alarmanlage.ffmpeg: getState(id=ffmpegCam.run, timerId=0) => [object Object]
                                            
                                            javascript.0 2018-12-28 01:22:24.418 info script.js.Alarmanlage.ffmpeg: ffmpeg error: ffmpeg version 3.2.12-1~deb9u1 Copyright © 2000-2018 the FFmpeg developers built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516 configuration: --pre
                                            
                                            javascript.0 2018-12-28 01:22:18.922 info script.js.Alarmanlage.ffmpeg: exec: ffmpeg -i "rtsp://xxx:xx@192.168.181.53:554/onvif/profile1/media.smp" [http://localhost:8090/ipcam1.ffm](http://localhost:8090/ipcam1.ffm)
                                            
                                            javascript.0 2018-12-28 01:22:18.922 info script.js.Alarmanlage.ffmpeg: ffmpeg start...
                                            
                                            javascript.0 2018-12-28 01:22:18.921 info script.js.Alarmanlage.ffmpeg: Start ffmpeg...
                                            
                                            javascript.0 2018-12-28 01:22:18.921 info script.js.Alarmanlage.ffmpeg: Run state changed from false to true
                                            
                                            javascript.0 2018-12-28 01:22:05.055 info script.js.Alarmanlage.ffmpeg: exec: /usr/bin/ffserver &
                                            
                                            javascript.0 2018-12-28 01:22:05.055 info script.js.Alarmanlage.ffmpeg: ffserver start... `  
                                            

                                            ich bekomme immer diesen fehler. kann mir jemand helfen?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            739
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            template vis
                                            24
                                            59
                                            24754
                                            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