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.
    • evroomE Offline
      evroom @shbatm
      last edited by evroom

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

      There was a problem with the steams not stopping on a restart, so the module sends a stop command first whenever it starts, do you have autoStart: true in your config?

      Yes, I have.

      Just to understand, when you start fresh, there is no omx_stream1 under pm2 list.
      When you start your first stream, it is first visible under pm2 list, right?

      Till now I was able to start the stream with pm2 start, but after removing the stream (pm2 remove omx_stream1), I cannot get it to work anymore.
      MM restart, reboot, nothing helps.
      And pm2 start now says:

      pi@MagicPi:~ $ pm2 start omx_stream1
      [PM2][ERROR] script not found : /home/pi/omx_stream1
      script not found : /home/pi/omx_stream1
      ┌──────────┬────┬─────────┬──────┬─────┬────────┬─────────┬────────┬─────┬──────────┬──────┬──────────┐
      │ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem      │ user │ watching │
      ├──────────┼────┼─────────┼──────┼─────┼────────┼─────────┼────────┼─────┼──────────┼──────┼──────────┤
      │ mm       │ 0  │ 2.5.0   │ fork │ 811 │ online │ 0       │ 4m     │ 0%  │ 2.5 MB   │ pi   │ disabled │
      └──────────┴────┴─────────┴──────┴─────┴────────┴─────────┴────────┴─────┴──────────┴──────┴──────────┘
      

      Which makes sort of sense.

      After MM restart, pm2 logs shows:

      0|mm  | Connecting socket for: MMM-RTSPStream
      0|mm  | PM2: Stopping all OMXPlayer Streams...
      0|mm  | Sockets connected & modules started ...
      0|mm  | Launching application.
      

      Will revert back to the master branch and try again.

      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)

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

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

        Will revert back to the master branch and try again.

        Yes, the omx_stream1 is created the first time you play a stream with the module.

        Please use the develop branch with omxplayer. It was working on my machine the last time I started.

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

          @shbatm things are doing waaaay better now! :grinning_face_with_smiling_eyes:

          With omxplayer stream switching is almost OK if it wasn’t that it doesn’t select the wanted stream.
          Ie. I want stream3 therefore I give the voice command, but then it starts playing the wrong stream (and always random).
          Voice recognition is 100% correct as I always have a textual confirmation of command on screen.

          With vlc it’s a mess as multiple streams ALWAYS start at the same time after a voice command.

          At this point I don’t care who will be the chosen player as long as we get everything working so omxplayer would be fair enough if running properly. :smiling_face_with_open_mouth_smiling_eyes: :smiling_face_with_open_mouth_cold_sweat:

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

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

            Yes, the omx_stream1 is created the first time you play a stream with the module.

            Please use the develop branch with omxplayer. It was working on my machine the last time I started.

            Back on develop branch again.
            No change.
            Now the “pm2 remove omx_stream1” looks to be a major mistake, as I cannot get the stream running again.
            I do not see the module trying to start a new stream anymore.

            What would be the command line for starting the stream and having it appear under “pm2 list” ?
            In other words, what does the module do in order to achieve this ?

            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)

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

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

              Back on develop branch again.

              Please send me your config in a chat.

              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:

                With omxplayer stream switching is almost OK if it wasn’t that it doesn’t select the wanted stream.

                I can’t replicate this issue. Directly sending notifications: of the form notification: "RTSP-PLAY", payload: "streamX" works as expected and switches to the correct stream when using autoStart: false, rotateStreams: true, rotateStreamTimeout: 0.

                How many streams do you have again? Is it less than 10?

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

                With vlc it’s a mess as multiple streams ALWAYS start at the same time after a voice command.

                I think this is related to the fact that VLC doesn’t close the streams automatically when switching, it puts the window in the background until it times out, then it closes. Try adding a shutdownDelay: 0 to your module config to make the VLC stream close immediately on hiding. Same thing with omxplayer though, switching appears to work as expected on my end.

                Please also make sure you have the latest version of PM2: sudo npm install -g pm2

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

                  @shbatm

                  did develop update now, both streams are on stop and error messages :(

                  PM2            | App [omx_stream2:1] online
                  0|mm           | Initializing new module helper ...
                  0|mm           | Module helper loaded: newsfeed
                  2|omx_stream1  | * failed to add service - already in use?
                  2|omx_stream1  | Video codec omx-mjpeg width 352 height 288 profile -99 fps 30.000000
                  2|omx_stream1  | Subtitle count: 0, state: off, index: 1, delay: 0
                  2|omx_stream1  | /usr/bin/omxplayer: Zeile 67:  1221 Abgebrochen             (Speicherabzug geschrieben) LD_LIBRARY_PATH="$OMXPLAYER_LIBS${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" $OMXPLAYER_BIN "$@"
                  PM2            | App [omx_stream1:2] exited with code [134] via signal [SIGINT]
                  PM2            | App [omx_stream1:2] starting in -fork mode-
                  PM2            | App [omx_stream1:2] online
                  1|omx_stream2  | * failed to add service - already in use?
                  1|omx_stream2  | Video codec omx-mjpeg width 352 height 288 profile -99 fps 30.000000
                  1|omx_stream2  | Subtitle count: 0, state: off, index: 1, delay: 0
                  1|omx_stream2  | /usr/bin/omxplayer: Zeile 67:  1244 Abgebrochen             (Speicherabzug geschrieben) LD_LIBRARY_PATH="$OMXPLAYER_LIBS${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" $OMXPLAYER_BIN "$@"
                  PM2            | App [omx_stream2:1] exited with code [134] via signal [SIGINT]
                  PM2            | App [omx_stream2:1] starting in -fork mode-
                  PM2            | App [omx_stream2:1] online
                  2|omx_stream1  | * failed to add service - already in use?
                  2|omx_stream1  | Video codec omx-mjpeg width 352 height 288 profile -99 fps 30.000000
                  2|omx_stream1  | Subtitle count: 0, state: off, index: 1, delay: 0
                  2|omx_stream1  | /usr/bin/omxplayer: Zeile 67:  1287 Abgebrochen             (Speicherabzug geschrieben) LD_LIBRARY_PATH="$OMXPLAYER_LIBS${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" $OMXPLAYER_BIN "$@"
                  PM2            | App [omx_stream1:2] exited with code [134] via signal [SIGINT]
                  PM2            | App [omx_stream1:2] starting in -fork mode-
                  PM2            | App [omx_stream1:2] online
                  0|mm           | Initializing new module helper ...
                  0|mm           | Module helper loaded: MMM-RTSPStream
                  0|mm           | All module helpers loaded.
                  0|mm           | Starting server on port 8080 ...
                  0|mm           | Server started ...
                  0|mm           | Connecting socket for: updatenotification
                  0|mm           | Connecting socket for: MMM-Fuel
                  0|mm           | Starting module helper: MMM-Fuel
                  0|mm           | Connecting socket for: newsfeed
                  0|mm           | Starting module: newsfeed
                  0|mm           | Connecting socket for: MMM-RTSPStream
                  0|mm           | PM2: Stopping all OMXPlayer Streams...
                  0|mm           | Sockets connected & modules started ...
                  1|omx_stream2  | * failed to add service - already in use?
                  1|omx_stream2  | Video codec omx-mjpeg width 352 height 288 profile -99 fps 30.000000
                  1|omx_stream2  | Subtitle count: 0, state: off, index: 1, delay: 0
                  1|omx_stream2  | /usr/bin/omxplayer: Zeile 67:  1320 Abgebrochen             (Speicherabzug geschrieben) LD_LIBRARY_PATH="$OMXPLAYER_LIBS${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" $OMXPLAYER_BIN "$@"
                  PM2            | App [omx_stream2:1] exited with code [134] via signal [SIGINT]
                  PM2            | App [omx_stream2:1] starting in -fork mode-
                  PM2            | App [omx_stream2:1] online
                  2|omx_stream1  | * failed to add service - already in use?
                  2|omx_stream1  | Video codec omx-mjpeg width 352 height 288 profile -99 fps 30.000000
                  2|omx_stream1  | Subtitle count: 0, state: off, index: 1, delay: 0
                  2|omx_stream1  | /usr/bin/omxplayer: Zeile 67:  1349 Abgebrochen             (Speicherabzug geschrieben) LD_LIBRARY_PATH="$OMXPLAYER_LIBS${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" $OMXPLAYER_BIN "$@"
                  PM2            | App [omx_stream1:2] exited with code [134] via signal [SIGINT]
                  PM2            | App [omx_stream1:2] starting in -fork mode-
                  PM2            | App [omx_stream1:2] online
                  1|omx_stream2  | * failed to add service - already in use?
                  1|omx_stream2  | Video codec omx-mjpeg width 352 height 288 profile -99 fps 30.000000
                  1|omx_stream2  | Subtitle count: 0, state: off, index: 1, delay: 0
                  1|omx_stream2  | /usr/bin/omxplayer: Zeile 67:  1399 Abgebrochen             (Speicherabzug geschrieben) LD_LIBRARY_PATH="$OMXPLAYER_LIBS${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" $OMXPLAYER_BIN "$@"
                  PM2            | App [omx_stream2:1] exited with code [134] via signal [SIGINT]
                  PM2            | App [omx_stream2:1] starting in -fork mode-
                  PM2            | App [omx_stream2:1] online
                  2|omx_stream1  | * failed to add service - already in use?
                  2|omx_stream1  | Video codec omx-mjpeg width 352 height 288 profile -99 fps 30.000000
                  2|omx_stream1  | Subtitle count: 0, state: off, index: 1, delay: 0
                  2|omx_stream1  | /usr/bin/omxplayer: Zeile 67:  1422 Abgebrochen             (Speicherabzug geschrieben) LD_LIBRARY_PATH="$OMXPLAYER_LIBS${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" $OMXPLAYER_BIN "$@"
                  PM2            | App [omx_stream1:2] exited with code [134] via signal [SIGINT]
                  PM2            | App [omx_stream1:2] starting in -fork mode-
                  PM2            | App [omx_stream1:2] online
                  0|mm           | Launching application.
                  0|mm           | libGL error: MESA-LOADER: failed to retrieve device information
                  ^C
                  pi@raspberrypi:~ $ pm2 status
                  ┌─────────────┬────┬──────┬────────┬─────────┬─────┬────────┬──────────┐
                  │ Name        │ id │ mode │ status │ ↺       │ cpu │ memory │
                  ├─────────────┼────┼──────┼────────┼─────────┼─────┼────────┼──────────┤
                  │ mm          │ 0  │ N/A  │ fork   │ online  │ 0   │ 0%     │ 2.5 MB   │
                  │ omx_stream1 │ 2  │ N/A  │ fork   │ stopped │ 9   │ 0%     │ 0 B      │
                  │ omx_stream2 │ 1  │ N/A  │ fork   │ stopped │ 9   │ 0%     │ 0 B      │
                  └─────────────┴────┴──────┴────────┴─────────┴─────┴────────┴──────────┘
                   Use `pm2 show <id|name>` to get more details about an app
                  pi@raspberrypi:~ $
                  
                  

                  can you undo that somehow?

                  S 2 Replies Last reply Reply Quote 0
                  • S Offline
                    shbatm Module Developer @djuscha
                    last edited by shbatm

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

                    both streams are on stop and error messages

                    This looks like the same error I got when I tried to use omxplayer with the OpenGL driver enabled in raspi-config. You’ll have to use the legacy driver if you want to use omxplayer on the most recent version of Raspbian.

                    EDIT 10-Jan-19: Use the latest develop branch version. omxplayer requires the --no-osd flag to work properly with the OpenGL (Fake KMS) driver.

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

                      @shbatm I can confirm that I followed the whole instructions properly and I am using notification: "RTSP-PLAY", payload: "streamX" indeed for my 7 different streams (so yes less than 10).

                      All I can say is that it is NOT working as intended. :winking_face:

                      Anyway I always forgot to post the (latest version) PM2 log so here it is if you can find anything helpful?
                      I wish I could do more, but again I am not skilled enough sorry… :smiling_face_with_open_mouth_cold_sweat:

                      PM2 Log

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

                        @cr4z33 @evroom the last things I can suggest to try:

                        1. @Cr4z33 Make sure you have autoStart: false in your config. @evroom yours should be true.
                        2. Update the module one more time:
                        cd ~/MagicMirror/modules/MMM-RTSPStream
                        git fetch --al && git pull
                        rm -R node_modules/
                        npm install
                        
                        1. Nuke and update your pm2:
                        pm2 kill
                        rm ~/.pm2/dump.pm2
                        sudo npm i -g pm2
                        
                        1. Restart the MM script (you’ll have to redo pm2 save BEFORE you run any streams if you want the MM to start on boot).
                        Cr4z33C evroomE 2 Replies Last reply Reply Quote 0
                        • 1
                        • 2
                        • 18
                        • 19
                        • 20
                        • 21
                        • 22
                        • 60
                        • 61
                        • 20 / 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