MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras

    Scheduled Pinned Locked Moved Utilities
    602 Posts 67 Posters 1.9m Views 68 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      sdetweil @Number_5
      last edited by

      @Number_5 you need to write a little script to do pm2 stop 1, then pm2 stop 0

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      N 1 Reply Last reply Reply Quote 0
      • evroomE Offline
        evroom @Number_5
        last edited by evroom

        @Number_5 said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:

        now its working!

        Great to hear!

        When you add

        omxRestart: 1,
        

        in the

        config: {
        

        part, then when restarting MagicMirror, the omx_stream1 will be stopped and restarted too.
        If you really want to stop MagicMirror and omx_stream1, then you will need to stop both:

        pm2 stop MagicMirror
        pm2 stop omx_stream1
        

        Provided that you named you stream1 stream1.

        MagicMirror version: 2.30.0
        Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
        Raspbian GNU/Linux 12 (bookworm)

        Test environment:
        MagicMirror version: v2.30.0
        Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
        Raspbian GNU/Linux 12 (bookworm)

        1 Reply Last reply Reply Quote 0
        • N Offline
          Number_5 @sdetweil
          last edited by

          @sdetweil

          hello sam,
          Thank you. You opened the door for me a few days ago. writing small and large scripts will be my next challenge :-). for the first one ,i took up the suggestion from evroom. I hope you will help me with the next projects, :-)

          1 Reply Last reply Reply Quote 0
          • E Offline
            Egnos
            last edited by

            Hello to all,
            I congratulate the developer of this module which, if I manage to make it work, will be very useful to me! :smiling_face_with_open_mouth_smiling_eyes:

            I describe my environment:
            I’m testing the various modules on a virtual machine (Virtual Box) that runs on a Windows 10 PC.
            For now all modules work perfectly except MMM-RTSPStream.

            Description of the problem:
            I followed the installation guide at this link.

            When dependencies are installed the installation fails

            Cloning the repository on master branch...
            
            Cloning into 'MMM-RTSPStream'...
            remote: Enumerating objects: 16, done.
            remote: Counting objects: 100% (16/16), done.
            remote: Compressing objects: 100% (14/14), done.
            remote: Total 315 (delta 5), reused 6 (delta 2), pack-reused 299
            Ricezione degli oggetti: 100% (315/315), 1.13 MiB | 876.00 KiB/s, done.
            Risoluzione dei delta: 100% (192/192), done.
            
            Installing dependencies...
            
            
            > MMM-RTSPStream@2.0.2-dev preinstall /home/pi/MagicMirror/modules/MMM-RTSPStream
            > ./scripts/preinstall.sh
            
            Updating packages ...
            Trovato:1 http://security.debian.org stretch/updates InRelease
            Trovato:2 http://archive.raspberrypi.org/debian stretch InRelease              
            Ign:3 http://ftp.debian.org/debian stretch InRelease                           
            Trovato:4 http://ftp.debian.org/debian stretch-updates InRelease
            Trovato:5 https://deb.nodesource.com/node_10.x stretch InRelease
            Trovato:6 http://ftp.debian.org/debian stretch Release
            Lettura elenco dei pacchetti... Fatto                 
            Generazione albero delle dipendenze       
            Lettura informazioni sullo stato... Fatto
            152 pacchetti possono essere aggiornati: eseguire "apt list --upgradable" per vederli.
            
            Installing helper tools: devilspie2 and wmctrl...
            Lettura elenco dei pacchetti... Fatto
            Generazione albero delle dipendenze       
            Lettura informazioni sullo stato... Fatto
            E: Impossibile trovare il pacchetto omxplayer
            npm ERR! code ELIFECYCLE
            npm ERR! errno 100
            npm ERR! MMM-RTSPStream@2.0.2-dev preinstall: `./scripts/preinstall.sh`
            npm ERR! Exit status 100
            npm ERR! 
            npm ERR! Failed at the MMM-RTSPStream@2.0.2-dev preinstall script.
            npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
            npm WARN Local package.json exists, but node_modules missing, did you mean to install?
            
            npm ERR! A complete log of this run can be found in:
            npm ERR!     /home/pi/.npm/_logs/2020-02-20T11_38_51_172Z-debug.log
            Failed to install dependencies.
            

            Can you help me?

            Thank you all

            My Mirror https://forum.magicmirror.builders/topic/17262/the-raspimirror-was-born/7

            evroomE BKeyportB 2 Replies Last reply Reply Quote 0
            • evroomE Offline
              evroom @Egnos
              last edited by

              @Egnos said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:

              E: Impossibile trovare il pacchetto omxplayer

              To me it looks like it cannot install omxplayer.
              You can try to install it manually.
              The script does it using this command:

              sudo apt install -y omxplayer
              

              Perhaps another command is needed, or indeed the package to install omxplayer does not exist for your platform.

              MagicMirror version: 2.30.0
              Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
              Raspbian GNU/Linux 12 (bookworm)

              Test environment:
              MagicMirror version: v2.30.0
              Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
              Raspbian GNU/Linux 12 (bookworm)

              1 Reply Last reply Reply Quote 0
              • BKeyportB Offline
                BKeyport Module Developer @Egnos
                last edited by BKeyport

                evroom’s got it right. OMXplayer isn’t being installed. I understand it went under a few management changes, so it could be trying to access an old version or something. RTSPStream’s clunky enough that you might find it easier (and better) to run OMXplayer independently of the mirror, like evroom has done, as have I.

                see earlier in this thread: https://forum.magicmirror.builders/topic/2743/mmm-rtspstream-video-streaming-from-live-feeds-security-cameras/259

                steps really to take RTSP-Stream out and run OMX directly:

                1. Find the resolution of your screen so you know your range. (1920x1080 in my case)
                2. Figure out the resolution of the stream. (640x360 in my case)
                3. figure out where on the screen you want it using the top left corner, this would become your X1 and Y1 (I wanted it in the upper right corner, so, that was rather easy)
                4. Add width of your stream to X1 for X2, height of your stream to Y1 for Y2.
                5. omx player will likely need the following commands: “–avdict rtsp_transport:tcp --live --fps 30” as well as the following
                6. The “–win” command string is “X1 Y1 X2 Y2”
                7. If you have your screen rotated, and omxplayer doesn’t play along (it likely wont), add “–orientation” and how many degrees to twist (90 = portrait “right”, 180 = landscape “upside down”, 270 Portrait “Left”) command line, and adjust X and Y calculations for 90 or 270 rotation. The X and Y will remain as if the screen isn’t rotated.

                I used the first one of these, but the other 3 is as rotated for the same corner.
                omxplayer --avdict rtsp_transport:tcp --live --fps 30 --orientation 0 --win “1280 0 1920 360” [url]
                omxplayer --avdict rtsp_transport:tcp --live --fps 30 --orientation 90 --win “1560 0 1920 640” [url]
                omxplayer --avdict rtsp_transport:tcp --live --fps 30 --orientation 180 --win “1280 0 1920 360” [url]
                omxplayer --avdict rtsp_transport:tcp --live --fps 30 --orientation 270 --win “1560 0 1920 640” [url]

                The "E" in "Javascript" stands for "Easy"

                E 1 Reply Last reply Reply Quote 0
                • E Offline
                  Egnos @BKeyport
                  last edited by Egnos

                  Thanks a loro @BKeyport and @evroom!
                  In a few days I will try your advice.

                  @BKeyport said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:

                  RTSPStream’s clunky enough that you might find it easier (and better) to run OMXplayer independently of the mirror, like evroom has done, as have I.

                  does this mean i have to uninstall the module RTSPStream’s and install only the component OMXplayer?

                  Thanks

                  My Mirror https://forum.magicmirror.builders/topic/17262/the-raspimirror-was-born/7

                  1 Reply Last reply Reply Quote 0
                  • evroomE Offline
                    evroom
                    last edited by

                    @Egnos said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:

                    does this mean i have to uninstall the module RTSPStream’s and install only the component OMXplayer?

                    If you are able to install OMXPlayer, then you can give MMM-RTSPStream a try.
                    In principle it does work, depending on what you want to stream.
                    If it works for you, perfect, if it doesn’t, then try if omxplayer works standalone,
                    Actually testing omxplayer standalone is always a good thing before trying out MMM-RTSPStream.

                    MagicMirror version: 2.30.0
                    Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
                    Raspbian GNU/Linux 12 (bookworm)

                    Test environment:
                    MagicMirror version: v2.30.0
                    Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
                    Raspbian GNU/Linux 12 (bookworm)

                    1 Reply Last reply Reply Quote 0
                    • BKeyportB Offline
                      BKeyport Module Developer
                      last edited by

                      You don’t have to uninstall a module - just take it out of your config. In my case, once I got OMX working, and followed evroom’s instructions to start, I found that using OMX directly rather than through the module is rather cleaner. I can run the hi-def stream for one thing.

                      The "E" in "Javascript" stands for "Easy"

                      1 Reply Last reply Reply Quote 0
                      • D Offline
                        DirkS
                        last edited by DirkS

                        Hi, i have used the Module for a long time now jsut with snapshots. I never streamed live.

                        A year ago i switched the native magic mirror to docker install to use it for more devices at the same time. RTSPStream just worked fine after that change. But in last december i updated it and since that moment it stopped working. I had other issues to do so i did not investigate the cause.

                        But now i want to get it back working.

                        The error i can see via web logging is this:

                        Uncaught DOMException: Failed to construct 'WebSocket': The URL 'ws://192.168.10.1:undefined' is invalid.
                            at WSSource.start (http://192.168.10.1:82/modules/MMM-RTSPStream/scripts/jsmpeg.min.js:1:16242)
                            at new Player (http://192.168.10.1:82/modules/MMM-RTSPStream/scripts/jsmpeg.min.js:1:5838)
                            at Class.playStream (http://192.168.10.1:82/modules/MMM-RTSPStream//MMM-RTSPStream.js:399:26)
                            at Class.rotateStream (http://192.168.10.1:82/modules/MMM-RTSPStream//MMM-RTSPStream.js:123:23)
                            at Class.setupStreamRotation (http://192.168.10.1:82/modules/MMM-RTSPStream//MMM-RTSPStream.js:94:14)
                            at Class.resumed (http://192.168.10.1:82/modules/MMM-RTSPStream//MMM-RTSPStream.js:168:22)
                            at http://192.168.10.1:82/modules/MMM-RTSPStream//MMM-RTSPStream.js:697:43
                        

                        I’ve tried now different ways and also checked if it is streaming. I have installed ffmpeg within the docker container and also the node-rtsp-stream-es6 module. Also i have installed node-rtsp-stream-es6 at one rpi client and just to be sure ffmpeg. But in the past it worked without it.

                        Here is my config (now with ffmpeg streaming):

                        {
                            module: "MMM-RTSPStream",
                            position: "bottom_right",
                            header: "Rundumblick",
                                config: {
                                autoStart: false,
                                rotateStreams: true,
                                rotateStreamTimeout: 10,
                                moduleWidth: 354,
                                moduleHeight: 240,
                                localPlayer: 'ffmpeg',
                                remotePlayer: 'none',
                                showSnapWhenPaused: true,
                                remoteSnaps: true,
                        	debug: true,
                                stream1: {
                                    name: 'Haustür',
                                    url: 'rtsp://192.168.10.1:7447/5af753a0b1d674c3bbc08189_1',
                                    frameRate: 'undefined',
                                    hdUrl: 'rtsp://192.168.10.1:7447/5af753a0b1d674c3bbc08189_0',
                                    snapshotUrl: 'http://192.168.10.55/snap.jpeg',
                                    snapshotType: 'url',
                                    snapshotRefresh: 10,
                                    width: undefined,
                                    height: undefined,
                                    },
                                stream2: {
                                    name: 'Garten-Wz',
                                    url: 'rtsp://192.168.10.1:7447/5af75418b1d674c3bbc0818a_1',
                                    frameRate: 'undefined',
                                    hdUrl: 'rtsp://192.168.10.1:7447/5af75418b1d674c3bbc0818a_0',
                                    snapshotUrl: 'http://192.168.10.56/snap.jpeg',
                                    snapshotType: 'url',
                                    snapshotRefresh: 10,
                                    width: undefined,
                                    height: undefined,
                                    },
                                stream3: {
                                    name: 'Kellertreppe',
                                    url: 'rtsp://192.168.10.1:7447/59541285b6468d91abd88fa9_1',
                                    frameRate: 'undefined',
                                    hdUrl: 'rtsp://192.168.10.1:7447/59541285b6468d91abd88fa9_0',
                                    snapshotUrl: 'http://192.168.10.50/snap.jpeg',
                                    snapshotType: 'url',
                                    snapshotRefresh: 10,
                                    width: undefined,
                                    height: undefined,
                                    },
                                stream4: {
                                    name: 'Terrasse-Wz',
                                    url: 'rtsp://192.168.10.1:7447/59541285b6468d91abd88fa6_1',
                                    frameRate: 'undefined',
                                    hdUrl: 'rtsp://192.168.10.1:7447/59541285b6468d91abd88fa6_0',
                                    snapshotUrl: 'http://192.168.10.54/snap.jpeg',
                                    snapshotType: 'url',
                                    snapshotRefresh: 10,
                                    width: undefined,
                                    height: undefined,
                                    },
                        	stream5: {
                        	    name: 'Terrasse-Ku',
                        	    url: 'rtsp://192.168.10.1:7447/59541285b6468d91abd88fa8_1',
                                    frameRate: 'undefined',
                                    hdUrl: 'rtsp://192.168.10.1:7447/59541285b6468d91abd88fa8_0',
                                    snapshotUrl: 'http://192.168.10.53/snap.jpeg',
                        	    snapshotType: 'url',
                                    snapshotRefresh: 10,
                                    widht: undefined,
                                    height: undefined,
                                    },
                        	stream6: {
                        	   name: 'Garage',
                        	   url: 'rtsp://192.168.10.1:7447/59541285b6468d91abd88fa7_2',
                        	   frameRate: 'undefined',
                        	   hdUrl: 'rtsp://192.168.10.1:7447/59541285b6468d91abd88fa7_0',
                                   snapshotUrl: 'http://192.168.10.51/snap.jpeg',
                        	   snapshotType: 'url',
                        	   snapshotRefresh: 10,
                        	   widht: undefined,
                        	   height: undefined,
                        	   },
                        	stream7: {
                        	   name: 'Hof-Garage',
                        	   url: 'rtsp://192.168.10.1:7447/59541285b6468d91abd88fa7_2',
                                   frameRate: 'undefined',
                        	   hdUrl: 'rtsp://192.168.10.1:7447/59541285b6468d91abd88fa7_0',
                                   snapshotUrl: 'http://192.168.10.52/snap.jpeg',
                                   snapshotType: 'url',
                                   snapshotRefresh: 10,
                                   widht: undefined,
                                   height: undefined,
                                   },
                        

                        can anybody assume where to search the cause? I’m out of ideas :(

                        If i just want to have snapshots i get this:

                        MMM-RTSPStream.js:712 Uncaught TypeError: Cannot read property 'appendChild' of null
                            at Class.socketNotificationReceived (MMM-RTSPStream.js:712)
                            at module.js:246
                            at r.<anonymous> (socketclient.js:25)
                            at r.emit (index.js:83)
                            at r.onevent (index.js:83)
                            at r.MMSocket.self.socket.onevent (socketclient.js:19)
                            at r.onpacket (index.js:83)
                            at r.<anonymous> (index.js:83)
                            at r.emit (index.js:83)
                            at r.ondecoded (index.js:83)
                        
                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 41
                        • 42
                        • 43
                        • 44
                        • 45
                        • 60
                        • 61
                        • 43 / 61
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy