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.
    • K Offline
      kasperb @Cr4z33
      last edited by

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

      @kasperb I actually added some code parts in the voice command module as per suggestion of its developer.

      If you’re using MMM-AssistantMk2 then I can tell you what to do (not if using other modules). :)

      Yes, I’m using MMM-AssistantMk2. Would love to hear your suggestion.

      Cr4z33C K 2 Replies Last reply Reply Quote 0
      • Cr4z33C Offline
        Cr4z33 @kasperb
        last edited by Cr4z33

        @kasperb in your config.js go to the MMM-AssistantMk2 module and add

        			config: {
        					onActivate: {
        							timer: 0,
        							command: "RTSP_DEACTIVATE"
        							},
        					command: {
        							"RTSP_DEACTIVATE": {
        										notificationExec: {
        													notification: "RTSP-STOP",
        													payload: "all"
        													}
        										}
        							}
        					}
        
        S 1 Reply Last reply Reply Quote 0
        • K Offline
          kasperb @kasperb
          last edited by

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

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

          @kasperb I actually added some code parts in the voice command module as per suggestion of its developer.

          If you’re using MMM-AssistantMk2 then I can tell you what to do (not if using other modules). :)

          Yes, I’m using MMM-AssistantMk2. Would love to hear your suggestion.

          @Cr4z33 Thank you - this works perfect. Much appreciated.

          Cr4z33C 1 Reply Last reply Reply Quote 0
          • Cr4z33C Offline
            Cr4z33 @kasperb
            last edited by

            @kasperb you’re welcome however forgot to say that this was done by @Sean . ;)

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

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

              “RTSP_ACTIVATE”: {
              notificationExec: {
              notification: “RTSP-PLAY”,
              payload: “all”
              }
              },

              Regarding the other issue we’ve been working through – I sent you a chat, but if you have this part in your config with the rest of the TV channels–take it out and see if that fixes the problem you’ve been having with the wrong stream.

              I think this is being called by AssistantMk2 after calling the individual stream.

              Cr4z33C 1 Reply Last reply Reply Quote 0
              • Cr4z33C Offline
                Cr4z33 @shbatm
                last edited by

                @shbatm thank you mate deleting that part made everything work brilliantly!

                1 Reply Last reply Reply Quote 1
                • Cr4z33C Offline
                  Cr4z33
                  last edited by Cr4z33

                  So I am having finally some spare time to explain better how to to switch stream by voice control (think at ie. IP cameras, Internet TV/Radio channels, etc.).

                  We are going to use OMXplayer here (can’t say how it will be the result with VLC honestly…) and the good voice command module MMM-AssistantMk2.
                  So set it up properly and once you have it up and running come back and go on reading, otherwise contact @Sean (the author of that module) asking for help. :)

                  Open config.js with a text editor and go to the MMM-AssistantMk2 module section.
                  Replace

                  			config: {
                  

                  with

                  			config: {
                  					onActivate: {
                  							timer: 0,
                  							command: "RTSP_DEACTIVATE"
                  							},
                  					transcriptionHook: {
                  								"CHANNEL_1": {
                  										pattern: "TV 1",
                  										command: "CHANGE_CHANNEL_1"
                  										},
                  								"CHANNEL_2": {
                  										pattern: "TV 2",
                  										command: "CHANGE_CHANNEL_2"
                  										},
                  								"CHANNEL_3": {
                  										pattern: "TV 3",
                  										command: "CHANGE_CHANNEL_3"
                  										},
                  								"CHANNEL_4": {
                  										pattern: "TV 4",
                  										command: "CHANGE_CHANNEL_4"
                  										},
                  								"CHANNEL_5": {
                  										pattern: "Radio 1",
                  										command: "CHANGE_CHANNEL_5"
                  										},
                  								"CHANNEL_6": {
                  										pattern: "Radio 2",
                  										command: "CHANGE_CHANNEL_6"
                  										},
                  								"CHANNEL_7": {
                  										pattern: "Radio 3",
                  										command: "CHANGE_CHANNEL_7"
                  										}
                  								},
                  					command: {
                  							"CHANGE_CHANNEL_1": {
                  										notificationExec: {
                  													notification: "RTSP-PLAY",
                  													payload: "stream1"
                  													}
                  									},
                  							"CHANGE_CHANNEL_2": {
                  										notificationExec: {
                  													notification: "RTSP-PLAY",
                  													payload: "stream2"
                  													}
                  									},
                  							"CHANGE_CHANNEL_3": {
                  										notificationExec: {
                  													notification: "RTSP-PLAY",
                  													payload: "stream3"
                  													}
                  									},
                  							"CHANGE_CHANNEL_4": {
                  										notificationExec: {
                  													notification: "RTSP-PLAY",
                  													payload: "stream4"
                  													}
                  									},
                  							"CHANGE_CHANNEL_5": {
                  										notificationExec: {
                  													notification: "RTSP-PLAY",
                  													payload: "stream5"
                  													}
                  									},
                  							"CHANGE_CHANNEL_6": {
                  										notificationExec: {
                  													notification: "RTSP-PLAY",
                  													payload: "stream6"
                  													}
                  									},
                  							"CHANGE_CHANNEL_7": {
                  										notificationExec: {
                  													notification: "RTSP-PLAY",
                  													payload: "stream7"
                  													}
                  									},
                  							"RTSP_DEACTIVATE": {
                  										notificationExec: {
                  													notification: "RTSP-STOP",
                  													payload: "all"
                  													}
                  									},
                  					},
                  

                  Please note that the aforementioned stream names (ie. “TV 1”) used after pattern: HAVE TO BE the same that we will use below in the MMM-RTSPStream module or it won’t work!
                  Of course they are all examples so fit them to your needs, but remember to use then the same naming.

                  So let’s go to enter MMM-RTSPStream like the following:

                  		{
                  			module: "MMM-RTSPStream",
                  			position: "bottom_right",
                  			disabled: false,
                  			config: {
                  				autoStart: false, // Streams will start by voice commands only
                  				rotateStreams: true,
                  				rotateStreamTimeout: 0,
                  				shutdownDelay: 0,
                  				moduleWidth: 420, // Adjust it to your needs
                  				moduleHeight: 236, // Adjust it to your needs
                  				localPlayer: 'omxplayer',
                  				remotePlayer: 'none',
                  				showSnapWhenPaused: false,
                  				remoteSnaps: false,
                  				stream1: {						
                  						name: 'TV 1',
                  						url: 'IPofstream1',
                  						protocol: "tcp",
                  						frameRate: 'undefined',
                  						width: 420, // Adjust it to your needs
                  						height: 236 // Adjust it to your needs
                  		            		},
                  				stream2: {						
                  						name: 'TV 2',
                  						url: 'IPofstream2',
                  						protocol: "tcp",
                  						frameRate: 'undefined',
                  						width: 420, // Adjust it to your needs
                  						height: 236 // Adjust it to your needs
                  		            		},
                  				stream3: {						
                  						name: 'TV 3',
                  						url: 'IPofstream',
                  						protocol: "tcp",
                  						frameRate: 'undefined',
                  						width: 420, // Adjust it to your needs
                  						height: 236 // Adjust it to your needs
                  		            		},
                  				stream4: {						
                  						name: 'TV 4',
                  						url: 'IPofstream',
                  						protocol: "tcp",
                  						frameRate: 'undefined',
                  						width: 440, // Adjust it to your needs
                  						height: 247 // Adjust it to your needs
                  		            		},
                  				stream5: {						
                  						name: 'Radio 1',
                  						url: 'IPofstream',
                  						protocol: "tcp",
                  						frameRate: 'undefined',
                  						width: 420, // Adjust it to your needs
                  						height: 236 // Adjust it to your needs
                  		            		},
                  				stream6: {						
                  						name: 'Radio 2',
                  						url: 'IPofstream6',
                  						protocol: "tcp",
                  						frameRate: 'undefined',
                  						width: 440, // Adjust it to your needs
                  						height: 247 // Adjust it to your needs
                  		            		},
                  				stream7: {						
                  						name: 'Radio 3',
                  						url: 'IPofstream7',
                  						protocol: "tcp",
                  						frameRate: 'undefined',
                  						width: 420, // Adjust it to your needs
                  						height: 236 // Adjust it to your needs
                  		            		}
                  

                  This should be all.
                  You can add as many streams as you want (I don’t see the problem if you run them one by one). ;)

                  1 Reply Last reply Reply Quote 0
                  • C Offline
                    costascontis
                    last edited by

                    i am using the develop branch of the module with vlc and latest MM.The feed is playing alright but it seems it is over MM and when i click over another module the feed dissapears going under.How can i solve that?

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

                      @costascontis - There may be a switch in VLC player that tells it to stay on top. I’d start looking at switches there.

                      1 Reply Last reply Reply Quote 0
                      • W Offline
                        website19880927
                        last edited by

                        this is my configuration:
                        {
                        module: “MMM-RTSPStream”,
                        position: “middle_center”,
                        header: “cam”,
                        config: {
                        autoStart: true,
                        rotateStreams: true,
                        rotateStreamTimeout: 10,
                        moduleWidth: 354,
                        moduleHeight: 240,
                        localPlayer: ‘omxplayer’,
                        remotePlayer: ‘none’,
                        showSnapWhenPaused: true,
                        remoteSnaps: true,
                        stream1: {
                        name: ‘c1’,
                        url: ‘rtsp://admin:a1234567@192.168.1.14/Streaming/Channels/1’,
                        frameRate: ‘undefined’,
                        hdUrl: ‘rtsp://admin:a1234567@192.168.1.14/Streaming/Channels/1’,
                        snapshotType: ‘url’,
                        snapshotRefresh: 10,
                        width: 354,
                        height: 240,
                        },
                        }
                        }

                        image
                        no response ,was it the problem of resolution,and how to configure that ,I tried many ways and still not success, and I can use my vlc to get the stream of the camera ,but was anything wrong with other configuration,no idea!
                        image

                        Cr4z33C 1 Reply Last reply Reply Quote 0
                        • Cr4z33C Offline
                          Cr4z33 @website19880927
                          last edited by Cr4z33

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

                          localPlayer: ‘omxplayer’

                          Try using VLC instead.

                          Replace
                          localPlayer: ‘omxplayer’
                          with
                          localPlayer: ‘vlc’

                          However you will have to use the developer branch of this module.

                          See here for instructions on how to install it:
                          https://github.com/shbatm/MMM-RTSPStream/tree/develop

                          I didn’t test 4K streaming, but it should be OK up to 1080p.

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

                            Hey Guys,

                            any Solution to install the Modul at Ubuntu without Omxplayer? The option with vlc sounds good…

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

                              Believe it or not, I found that OMX is by far the most stable of setups in my use case. Odd, I know.

                              I do restart my Mirror daily, however.

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

                              G 1 Reply Last reply Reply Quote 0
                              • G Offline
                                goprojojo @BKeyport
                                last edited by

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

                                Believe it or not, I found that OMX is by far the most stable of setups in my use case. Odd, I know.

                                I do restart my Mirror daily, however.

                                Are you using a script to auto restart and could you share?

                                Cr4z33C BKeyportB 2 Replies Last reply Reply Quote 0
                                • Cr4z33C Offline
                                  Cr4z33 @goprojojo
                                  last edited by

                                  @goprojojo I guess he just scheduled the reboot command into cron (Google for it). ;)

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

                                    @goprojojo

                                    Cron.

                                    #      m       h        dom    mon     dow     command
                                           15      2        *      *       *       sudo reboot
                                    

                                    Why 2:15 you might ask? 2 AM daily my camera reboots and usually corrupts the display - takes about 10 minutes for it to restart where it don’t, and 5 more minutes to make sure it’s clear of it’s reboot and upgrade routines.

                                    I recommend https://crontab.guru/ to help you build cron tasks.

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

                                    1 Reply Last reply Reply Quote 1
                                    • P Offline
                                      p4lsec
                                      last edited by

                                      Does anyone know if it’s possible to use moduleOffset from within a single stream (stream3)? I couldn’t get it to work.

                                      I have three streams going. The first two are side-by-side, but the third is centered under them. I would like the third to be left-justified. Any ideas?

                                      J 1 Reply Last reply Reply Quote 0
                                      • J Offline
                                        jngo @p4lsec
                                        last edited by

                                        This post is deleted!
                                        1 Reply Last reply Reply Quote 0
                                        • J Offline
                                          jngo @evroom
                                          last edited by jngo

                                          @evroom
                                          I am a newbie with Magic Mirror and Raspberry world so I would really appreciate if you could provide me a step-by-step instruction.
                                          I have the same challenge like yours: Although I set my stream video window to “bottom_right”, it appears to be in the between of “bottom_center” and “bottom_right”. In another word, it is completely located at the weirdest position: a little bit above the “bottom_center”, too much “left” from the “bottom_right” of the screen, etc…

                                          I follow your post to change the parameter of “moduleOffset” value but as you already stated, the moduleOffset did not work. The stream video window is still way off from where I want it to be. I am not familiar with the “.css” yet so if you are so kind, please point me to how I can make change to it?

                                          So, if possible, could you please kindly provide me a step-by-step instruction on how to align the stream windows with the “bottom_right” where it lines-up with the “current_weather” module (top-right)

                                          Thank you

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

                                            @jngo
                                            Can you post the moduleWidth, moduleHeight and the width and height from the stream?

                                            And if you see it in the pm2 logs, this info:

                                            Starting stream stream1 with args: [
                                                "--avdict",
                                                "rtsp_transport:tcp",
                                                "--win",
                                                "738, 63, 1090, 305",
                                            

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

                                            Test environment:
                                            MagicMirror version: v2.33.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

                                            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
                                            • 27
                                            • 28
                                            • 29
                                            • 30
                                            • 31
                                            • 31 / 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