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 2.1m 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.
    • N Offline
      Niggich @xblackdemonx
      last edited by

      @xblackdemonx how you did this? I try everything… how is your config?

      X 1 Reply Last reply Reply Quote 0
      • X Offline
        xblackdemonx @Niggich
        last edited by

        @Niggich Nothing special. Maybe reboot your cameras?

                module: 'MMM-RTSPStream',
                position: 'bottom_bar',
                config: {
                    autoStart: true,
                    rotateStreams: false,
                    rotateStreamTimeout: 10,
                    showSnapWhenPaused: false,
                    moduleWidth: 354,
                    moduleHeight: 240,
                    stream1: {
                        name: 'Salon',
                        url: 'rtsp://192.168.1.2:554/unicast',
                        snapshotUrl: '',
                        snapshotRefresh: 10, // Seconds
                        frameRate: "15",
                        port: 9999,
                   			 }
              		  }
         		   },
        
        N 1 Reply Last reply Reply Quote 0
        • N Offline
          Niggich @xblackdemonx
          last edited by

          @xblackdemonx ok, almost the same like my config. Just the Framerate is different. I change it like it is in your config and will see.

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

            I noticed the following:
            When using omxplayer i also had a black screen instead of the camera image.
            I removed the sd card and inserted it in a different raspberry.
            Then everything was working fine.
            The only difference between those 2 is the monitor connected to it.
            It was working on a 7 inch monitor and on a 24 inch monitor it didn’t work.
            The problem was the resolution.
            Now the module is using stream2 and i changed in my Hikvision camera the resolution settings for stream2.
            Now my mirror is working fine.
            Maybe this is also a solution for you.

            1 Reply Last reply Reply Quote 0
            • bheplerB Offline
              bhepler Module Developer
              last edited by

              I hope my configuration will help give you guys another possibility. I locked down my camera a bit with a username & password. So my configuration looks as so:

              {
              module: "MMM-RTSPStream",
                  position: "bottom_left",
                  config: {
                        autostart: true,
                        rotateStreams: false,
                        showSnapWhenPaused: false,
                        moduleWidth: 354,
                        moduleHeight: 242,
                        stream1: {
                             name: 'Front Door',
                             url: 'rtsp://[username]:[password]@10.0.0.25/cam1/mpeg4',
                             port: 8027,
                             shutdownDelay: 0,
                             width: 352,
                             height: 240,
                             frameRate: "30"
                             }
                        }
              }
              
              1 Reply Last reply Reply Quote 0
              • N Offline
                Niggich
                last edited by

                The stream works fine with the omx… finally, after 4 weeks playing…

                Another question. Is any way to remove the little white Frame around video picture?

                D B 2 Replies Last reply Reply Quote 0
                • D Offline
                  Drooneyef @Niggich
                  last edited by

                  @Niggich
                  What was the trick that made it work finally?

                  N 1 Reply Last reply Reply Quote 0
                  • B Offline
                    barnosch @Niggich
                    last edited by barnosch

                    @Niggich
                    Change the css file in the module folder like this

                    .MMM-RTSPStream .innerWrapper {
                      position: relative;
                      width: 352px; /* Video width + 2*border + 2*padding */
                      height: 242px;
                    /*  border: 1px solid white; */   
                      /*float: left;*/
                      display: inline-block;
                      text-align: center;
                      margin: 15px;
                    }
                    
                    
                    

                    the line “border: 1px solid white;” needs to be adujsted or uncommented like in my case

                    N 1 Reply Last reply Reply Quote 0
                    • N Offline
                      Niggich @Drooneyef
                      last edited by Niggich

                      @Drooneyef I put the port of my cam behind the IP-adress…

                      module: 'MMM-RTSPStream',
                      position: 'bottom_center',
                      config: {
                      		autoStart: true,
                              rotateStreams: false,
                              showSnapWhenPaused: false,
                              moduleWidth: 704,
                              moduleHeight: 240,
                              moduleOffset: { top: 212, left: 0 },
                              localPlayer: 'omxplayer',
                              	stream1: {
                                      name: '',
                                      url: 'rtsp://192.168.113.125:554/live/ch1',
                                      shutdownDelay: 0,
                                      width: 320,
                                      height: 240,
                                      frameRate: "20",
                                      port: 9999,
                      			},
                      			stream2: {
                                      name: '',
                                      url: 'rtsp://192.168.113.103:554/live/ch1',
                                      shutdownDelay: 0,
                                      width: 320,
                                      height: 240,
                                      frameRate: "20",
                                      port: 10000,
                      			},
                      
                      1 Reply Last reply Reply Quote 0
                      • N Offline
                        Niggich @barnosch
                        last edited by

                        @barnosch thx this works fine for me…

                        1 Reply Last reply Reply Quote 0
                        • S Offline
                          shbatm Module Developer
                          last edited by shbatm

                          @barnosch @Niggich - Glad you got it working. I will clarify in the next update: the camera port should be included in the url. The port setting for the stream is actually the socket ffmpeg uses (when ffmpeg is used instead of omx).

                          If anyone has any additional feature requests, clarifications, config options they would like, please let me know on here. I will get back to working on this module in the coming weeks; I am Houston, TX based so I’ve been occupied with other matters recently.

                          1 Reply Last reply Reply Quote 0
                          • N Offline
                            Niggich
                            last edited by Niggich

                            @shbatm - The stream is working. Now I have another question/problem. When I hide the module an show it again the Video picture is in Fullscreen. Any fix for this? thx a lot…

                            1 Reply Last reply Reply Quote 0
                            • S Offline
                              shbatm Module Developer
                              last edited by

                              @Niggich I will need to investigate further.

                              As a temporary fix, you can try deleting Line 107 and Lines 109-114 in the node_helper.js file:

                                  ~/MagicMirror/modules/MMM-RTSPStream/node_helper.js
                              

                              You should be deleting the if…else block and this line will remain:

                              args.unshift("--win", `${payload.box.left}, ${payload.box.top}, ${payload.box.right}, ${payload.box.bottom}`);
                              

                              I do not know if this will fix the problem but it is worth a try. I have opened Issue #13 to track the position, border, and fullscreen resume problems.

                              N 1 Reply Last reply Reply Quote 0
                              • S Offline
                                shbatm Module Developer @barnosch
                                last edited by shbatm

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

                                added the pkill commands but it does not work. It does not kill the apps.
                                From time to time, the feed disappears. Have not yet found when and why.
                                Sometimes it runs 2 days without problems, the other day it only lasts for some hours.

                                Issue #14 opened to track this problem to closure.

                                1 Reply Last reply Reply Quote 0
                                • N Offline
                                  Niggich @shbatm
                                  last edited by

                                  @shbatm thank you for the fast answer, but this doesn’t fix the problem.

                                  S 1 Reply Last reply Reply Quote 0
                                  • S Offline
                                    shbatm Module Developer @Niggich
                                    last edited by shbatm

                                    @Niggich could you please post your server log (console or PM2’s log file) when it does this? You should have several lines starting with:

                                    Starting stream stream1 with args: 
                                    

                                    Also, what are you using to show/hide the module? (via MMM-Remote-Control or another module?)

                                    This will help diagnose.

                                    N 1 Reply Last reply Reply Quote 0
                                    • N Offline
                                      Niggich @shbatm
                                      last edited by Niggich

                                      @shbatm To show/hide the modules I using MMM-remote-Control.

                                      Here’s the server log.

                                      Starting stream stream1 with args: [
                                      0|mm       |     "--avdict",
                                      0|mm       |     "rtsp_transport:tcp",
                                      0|mm       |     "--win",
                                      0|mm       |     "203.390625, 1491.390625, 523.390625, 1731.390625",
                                      0|mm       |     "--live",
                                      0|mm       |     "--video_queue",
                                      0|mm       |     "4",
                                      0|mm       |     "--fps",
                                      0|mm       |     "30",
                                      0|mm       |     "rtsp://192.168.113.125:554/live/ch1"
                                      0|mm       | ]
                                      0|mm       | Starting stream stream2 with args: [
                                      0|mm       |     "--avdict",
                                      0|mm       |     "rtsp_transport:tcp",
                                      0|mm       |     "--win",
                                      0|mm       |     "553.390625, 1491.390625, 873.390625, 1731.390625",
                                      0|mm       |     "--live",
                                      0|mm       |     "--video_queue",
                                      0|mm       |     "4",
                                      0|mm       |     "--fps",
                                      0|mm       |     "30",
                                      0|mm       |     "rtsp://192.168.113.103:554/live/ch1"
                                      0|mm       | ]
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • K Offline
                                        kasperb
                                        last edited by

                                        Hello,

                                        @shbatm thanks for the great module!

                                        In order to make my camera work in omxplayer, I need to enter the following command before the RTSP streaming URL in Terminal:

                                        omxplayer --avdict rtsp_transport:tcp 
                                        

                                        The RTSP stream works fine with the added command in omxplayer. Full working command for reference:

                                        omxplayer --avdict rtsp_transport:tcp rtsp://admin:admin@192.168.0.130:10554/tcp/av0_1
                                        
                                        

                                        Is there a way to add the command to the config in order for the camera to work?

                                        When looking at node helper.js I see the following reference:

                                            if (this.config[payload.name].protocol !== "udp") {
                                                args.unshift("--avdict", "rtsp_transport:tcp");
                                        

                                        I’ve tried to switch the protocol in the config to ‘udp’ (as well as ‘tcp’) to no avail. I hope you could point me in the right direction in order to solve this issue.

                                        Full config below for reference:

                                        
                                           {
                                                    module: 'MMM-RTSPStream',
                                                    position: 'middle_center',
                                                    config: {
                                                        autoStart: true,
                                                        rotateStreams: false,
                                                        rotateStreamTimeout: 10,
                                                        showSnapWhenPaused: false,
                                                        moduleWidth: 354,
                                                        moduleHeight: 240,
                                                        moduleOffset: 0,
                                                        localPlayer: 'omxplayer',    
                                                        stream1: {
                                                            name: '360 Cam',
                                                            url: 'rtsp://admin:admin@192.168.0.130:10554/tcp/av0_1',
                                                            protocol: 'udp',
                                                            snapshotUrl: '',
                                                            snapshotRefresh: 10, // Seconds
                                                            frameRate: "5",
                                                            port: 9999,
                                                        }
                                                    }  
                                        

                                        Thanks in advance!

                                        S 1 Reply Last reply Reply Quote 0
                                        • S Offline
                                          shbatm Module Developer @kasperb
                                          last edited by

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

                                          Is there a way to add the command to the config in order for the camera to work?

                                          Adding protocol: 'tcp' should have done the trick. You can also try just removing the protocol line completely since the default protocol is TCP. The default command for omxplayer is:

                                          omxplayer --avdict rtsp_transport:tcp --win 'x y w h' --live --video_queue 4 --fps 30 {{url}}
                                          

                                          The bit of code you referenced is to not include --avdict rtsp_transport:tcp when using a UDP stream.

                                          Also, check the console log to see what command was used to start OMXPlayer. It should print the list of arguments.

                                          1 Reply Last reply Reply Quote 0
                                          • K Offline
                                            kasperb
                                            last edited by

                                            @shbatm Thanks for clarifying. I’ve removed protocol: 'tcp' from the config.

                                            When executing the default command in Terminal, the video displays properly on my screen.

                                            The MM logs indicate that the stream is started accordingly as well (see below), but unfortunately still nothing is visible on my Mirror.

                                            0|mm       | Starting stream stream1 with args: [
                                            0|mm       |     "--avdict rtsp_transport:tcp",
                                            0|mm       |     "--win",
                                            0|mm       |     "379.5, 841.5, 731.5, 1083.5",
                                            0|mm       |     "--live",
                                            0|mm       |     "--video_queue",
                                            0|mm       |     "4",
                                            0|mm       |     "--fps",
                                            0|mm       |     "30",
                                            0|mm       |     "rtsp://admin:admin@192.168.0.130:10554/tcp/av0_1"
                                            0|mm       | ]
                                            
                                            
                                            1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 30
                                            • 31
                                            • 3 / 31
                                            • 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