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.
    • 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
                                      • JohGre
                                        JohGre last edited by

                                        Ob der Stream funktioniert kannst du schnell mit VLC unter "Medien –> Netzwerkstream öffnen" testen.

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          aleks-83 last edited by

                                          Ich versuche auch gerade einen restream per ffmpeg aufzubauen.
                                          Habe aber ein Problem.

                                          Irgendwie scheitert die Verbindung zum localhost.
                                          Ich habe auch versucht localhost durch 127.0.0.1 oder die IP des servers zu ersetzen.
                                          Keine Änderung...

                                          ffmpeg version 3.2.12-1~deb9u1 Copyright (c) 2000-2018 the FFmpeg developers
                                            built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
                                            configuration: --prefix=/usr --extra-version='1~deb9u1' 
                                          --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu 
                                          --enable-gpl --disable-stripping --enable-avresample --enable-avisynth 
                                          --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray 
                                          --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 
                                          --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi
                                           --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg
                                           --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband 
                                          --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex 
                                          --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis 
                                          --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 
                                          --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx 
                                          --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 
                                          --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv 
                                          --enable-libx264 --enable-shared
                                            libavutil      55. 34.101 / 55. 34.101
                                            libavcodec     57. 64.101 / 57. 64.101
                                            libavformat    57. 56.101 / 57. 56.101
                                            libavdevice    57.  1.100 / 57.  1.100
                                            libavfilter     6. 65.100 /  6. 65.100
                                            libavresample   3.  1.  0 /  3.  1.  0
                                            libswscale      4.  2.100 /  4.  2.100
                                            libswresample   2.  3.100 /  2.  3.100
                                            libpostproc    54.  1.100 / 54.  1.100
                                          Input #0, rtsp, from 'rtsp://USER:PASS@10.0.0.21:554/Streaming/Channels/102':
                                            Metadata:
                                              title           : Media Presentation
                                            Duration: N/A, start: 0.310000, bitrate: N/A
                                              Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 640x360 [SAR 1:1 DAR 16:9], 20 fps, 25 tbr, 90k tbn, 40 tbc
                                          [tcp @ 0x55fc826e03a0] Connection to tcp://localhost:8090 failed (Connection refused), trying next address
                                          [tcp @ 0x55fc826e03a0] Connection to tcp://localhost:8090 failed: Connection refused
                                          http://localhost:8090/Eingang.ffm: Connection refused
                                          
                                          

                                          Der FFserver bzw. das WebIF ist aber auch nicht über die IP.des.Servers:8090 zu erreichen...
                                          Das scheint wohl das Problem zu sein.

                                          1 Reply Last reply Reply Quote 0
                                          • A
                                            aleks-83 last edited by aleks-83

                                            Weiß niemand warum der ffserver nicht unter 8090 zu erreichen ist?

                                            Welche Befehle oder stati kann ich checken um ihn zum Laufen zu bekommen?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            858
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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