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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [HowTo] rtsp mit ffmpeg für vis konvertieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                          • Chaot
                                            Chaot last edited by

                                            Das ist eventuell der gleiche Fehler wie bei mir.

                                            aus

                                            rtsp://xxx:xx@192.168.181.53:554/onvif/profile1/media.smp
                                            

                                            muss

                                            rtsp://xxx:xx@192.168.181.53:554/onvif/profile1/media.smp\
                                            

                                            werden. dann sollte es funktionieren.

                                            Allerdings wundert mich die Adresse. Bist du sicher das da drüber der Stream kommt?

                                            Allerdings funktioniert bei mir jetzt zwar das Script, aber der Stream leider nicht. 😢

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            368
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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