• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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.6m 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.
  • D Offline
    djuscha
    last edited by yawns Dec 31, 2018, 6:48 PM Dec 27, 2018, 3:47 PM

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

    pm2 Status 
    pi@raspberrypi:~ $ pm2 status
    ┌─────────────┬────┬──────┬────────┬─────────┬─────┬────────┬──────────┐
    │ Name        │ id │ mode │ status │ ↺       │ cpu │ memory │
    ├─────────────┼────┼──────┼────────┼─────────┼─────┼────────┼──────────┤
    │ mm          │ 0  │ N/A  │ fork   │ online  │ 0   │ 0%     │ 2.6 MB   │
    │ omx_stream1 │ 1  │ N/A  │ fork   │ stopped │ 0   │ 0%     │ 0 B      │
    │ omx_stream2 │ 2  │ N/A  │ fork   │ online  │ 0   │ 0%     │ 2.7 MB   │
    └─────────────┴────┴──────┴────────┴─────────┴─────┴────────┴─
    

    /home/pi/.npm/_logs/2018-12-25T13_58_40_969Z-debug.log

    0 info it worked if it ends with ok
    1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ]
    2 info using npm@6.4.1
    3 info using node@v10.14.2
    4 verbose run-script [ 'prestart', 'start', 'poststart' ]
    5 info lifecycle magicmirror@2.5.0~prestart: magicmirror@2.5.0
    6 info lifecycle magicmirror@2.5.0~start: magicmirror@2.5.0
    7 verbose lifecycle magicmirror@2.5.0~start: unsafe-perm in lifecycle true
    8 verbose lifecycle magicmirror@2.5.0~start: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/pi/MagicMirror/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
    9 verbose lifecycle magicmirror@2.5.0~start: CWD: /home/pi/MagicMirror
    10 silly lifecycle magicmirror@2.5.0~start: Args: [ '-c', 'sh run-start.sh' ]
    11 silly lifecycle magicmirror@2.5.0~start: Returned: code: 1  signal: null
    12 info lifecycle magicmirror@2.5.0~start: Failed to exec start script
    13 verbose stack Error: magicmirror@2.5.0 start: `sh run-start.sh`
    13 verbose stack Exit status 1
    13 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
    13 verbose stack     at EventEmitter.emit (events.js:182:13)
    13 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
    13 verbose stack     at ChildProcess.emit (events.js:182:13)
    13 verbose stack     at maybeClose (internal/child_process.js:962:16)
    13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5)
    14 verbose pkgid magicmirror@2.5.0
    15 verbose cwd /home/pi/MagicMirror
    16 verbose Linux 4.14.79-v7+
    17 verbose argv "/usr/bin/node" "/usr/bin/npm" "start"
    18 verbose node v10.14.2
    19 verbose npm  v6.4.1
    20 error code ELIFECYCLE
    21 error errno 1
    22 error magicmirror@2.5.0 start: `sh run-start.sh`
    22 error Exit status 1
    23 error Failed at the magicmirror@2.5.0 start script.
    23 error This is probably not a problem with npm. There is likely additional logging output above.
    24 verbose exit [ 1, true ]
    
    
    1 Reply Last reply Reply Quote 0
    • A Offline
      AxLed Module Developer @evroom
      last edited by Dec 27, 2018, 5:20 PM

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

      Next thing I am trying to use MMM-RTSPStream for, is streaming sat-tv from a Dreambox & VU+ receivers.
      I am able to stream a channel using:
      omxplayer --vol -3000 --win “0 0 480 320” --live http://192.168.178.28:8001/1:0:19:283D:3FB:1:C00000:0:0:0:

      @evroom
      Maybe my new module is something for you:
      MMM-Dreambox

      Regards

      AxLED

      C E 2 Replies Last reply Dec 28, 2018, 9:35 AM Reply Quote 0
      • C Offline
        Cr4z33 @AxLed
        last edited by Dec 28, 2018, 9:35 AM

        @axled woah gonna try it now! :thumbs_up_medium-light_skin_tone:

        1 Reply Last reply Reply Quote 0
        • E Offline
          evroom @AxLed
          last edited by Dec 28, 2018, 10:56 AM

          @axled
          Interesting. Will give it a try.

          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
          • D Offline
            djuscha @shbatm
            last edited by Dec 28, 2018, 1:47 PM

            @shbatm
            @shbatm> Also, please check the MM logs and post if you see any errors. You should be seeing two calls to start omxplayer. You can also do pm2 status to make sure both streams are running.

            what am I doing wrong?

            1 Reply Last reply Reply Quote 0
            • B Offline
              barnosch
              last edited by Dec 30, 2018, 9:43 AM

              i have the same problem like @djuscha
              The second stream does not show up.
              Can it be a layering issue? Maybe its underneath the other one and just needs to moved down via a
              or something?
              As soon as i turn autorotate=on i can see both streams , but the delay between the switch is useless. I see 10 sec the stream1 than for 10 sec black and then for 10sec the other stream2.
              (if i watch the pm2 status while in rotate mode, it stops the whole stream, thats why it takes forever to load, i guess. shutdowndelay option seems not to change something)

              I would like to see them in parallel if possible.
              Any idea or suggestion?

              1 Reply Last reply Reply Quote 0
              • S Offline
                shbatm Module Developer
                last edited by Jan 1, 2019, 6:52 PM

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

                the delay between the switch is useless.

                I agree, unfortunately this is a an OMXPlayer problem – it takes anywhere from 5-10s to actually open and play a stream, so rotating the streams with OMXPlayer is limited unless you’re willing to accept the delay. I’ve played with everything I can think of to leave a stream open in the background–but nothing worked. The shutdown delay option only affects FFMPEG.

                @djuscha For some reason only 1 stream is being started (the PM2 status is showing STOPPED for the other stream). I think I must have broken something in one of the last releases, try reverting back to an old version and see if it works:

                cd ~/MagicMirror/modules/MMM-RTSPStream
                git checkout f583553
                

                I will work on troubleshooting and see what I broke.

                D S 2 Replies Last reply Jan 2, 2019, 4:20 PM Reply Quote 0
                • D Offline
                  djuscha @shbatm
                  last edited by Jan 2, 2019, 4:20 PM

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

                  @djuscha For some reason only 1 stream is being started (the PM2 status is showing STOPPED for the other stream). I think I must have broken something in one of the last releases, try reverting back to an old version and see if it works:
                  cd ~/MagicMirror/modules/MMM-RTSPStream
                  git checkout f583553

                  I will work on troubleshooting and see what I broke.

                  Name │ id │ mode │ status │ ↺ │ cpu │ memory │
                  ├─────────────┼────┼──────┼────────┼────────┼─────┼────────┼──────────┤
                  │ mm │ 0 │ N/A │ fork │ online │ 0 │ 0% │ 2.6 MB │
                  │ omx_stream1 │ 1 │ N/A │ fork │ online │ 6 │ 0% │ 2.8 MB │
                  │ omx_stream2 │ 2 │ N/A │ fork │ online │ 0 │ 0% │ 2.8 MB │
                  └─────────────┴────┴──────┴────────┴────────┴─────┴────────┴──

                  It works!!
                  Many Thanks!!

                  1 Reply Last reply Reply Quote 0
                  • S Offline
                    shbatm Module Developer
                    last edited by shbatm Jan 4, 2019, 5:11 PM Jan 2, 2019, 10:26 PM

                    STATUS UPDATE

                    Just wanted to give everyone a quick status update about this module.

                    Bad news first: the current version in the master branch is malfunctioning. Please revert to a previous version (see post above) until I get time to undo the commit.
                    EDIT - I’ve reverted the changes that I think broke the master channel. Please try updating your module to the current master branch and test.

                    Good news! The reason I haven’t fixed the main branch yet is because the most recent version of the Raspbian image (Nov '18) has introduced a native version of VLC with hardware acceleration. I am actively working on a version of this module that will abandon OMXPlayer in favor of VLC, and have a working prototype in the develop branch for anyone interested in testing!

                    Requirements:

                    • Must have the most recent version of Raspbian with Desktop (> Nov '18). Google how to upgrade, but you may be better off starting with a fresh image.
                    • Enable OpenGL (Fake KMS) driver in raspi-config
                    • Increase GPU/CPU Memory Split to at least 128 (do this after enabling OpenGL because it will reset it to 64).
                    • Upgrade Electron to v3.0.13 (v2.0.16 in MM v2.6 is not working with OpenGL–see MM Issue #1500:
                        cd ~/MagicMirror
                        # Remove the node_modules folder to start fresh
                        rm -R ./node_modules
                        # Either manually update the required electron version in package.json to 3.0.13 or use the sed command below
                        sed -i 's/electron": "\^2\.0\..*",/electron": "^3.0.13",/g' package.json
                        # Re-install the MM node modules
                        npm install
                    
                    • Delete your MMM-RTSPStream module directory and use the new installer script to install everything:
                        rm -R ~/MagicMirror/modules/MMM-RTSPStream
                        bash -c "$(curl -s https://raw.githubusercontent.com/shbatm/MMM-RTSPStream/develop/scripts/installer.sh)"
                    
                    • Update your config.js section to use VLC: localPlayer: 'vlc'

                    Working:

                    • VLC windows “placed” on top of the main Electron window inside the module’s box
                    • Plays quickly, minimal lag, low CPU usage (4 streams @ ~35%)
                    • Visible in VNC client (couldn’t do this with OMXPlayer)
                    • Fast switching between streams – all VLC windows will remain open, and wmctrl utility used to toggle which one is on top.
                      • Make sure to set a shutdownDelay for in your module config section make it longer than it takes to rotate back to that stream time (e.g. if you have rotateStreamTimeout: 10, and 3 streams, then it will take 20s to get back to the first stream, so you should set shutdownDelay: 22– 20s + 2s buffer).
                    • Suspend/Restore functions
                    • New version of Raspbian also has a hw-accelerated version of FFMPEG; I’ve added a hwAccel: true option for ffmpeg users to use HW-accelerated decoding. FFMPEG still has a big CPU impact for the encoder though.

                    Not-yet-tested / left to-do:

                    • Test if sound works
                    • Figure out what I broke in the OMXPlayer version

                    Not-gonna-happen:

                    • Embedding VLC into Electron window (NPAPI-plugins are no longer supported and this is the only way I know how to do that).
                    • Using VLC as the viewer for “remote” windows (other web browser instances of the MM) – same reason as above.

                    Known Bugs:

                    • When VLC windows are first created, you see them move around the screen. After they’re “put in the box” it they won’t fill up the box right away. After ~7 secs they should fill the box.
                      • I am using devilspie2 to remove window decorations and move the VLC windows; however, for some reason I have to call it twice (~7s apart) to get VLC to resize it’s video properly. Shouldn’t be an issue in the long-term, unless you are hiding/showing the module often.
                    A 1 Reply Last reply Jan 3, 2019, 10:23 PM Reply Quote 1
                    • A Offline
                      anthony6608 @shbatm
                      last edited by Jan 3, 2019, 10:23 PM

                      @shbatm I can confirm that this method works. I tried to apply it to my original installation however during the ’ sed -i ‘s/electron": “^2.0..*”,/electron": “^3.0.13”,/g’ package.json’ command my installation failed half way through and seemed to mess my installation up. I have an open issue and you’ll see about 10+ responses from me as I tried to troubleshoot but its irrelevant as long as your Pi doesn’t lock up during this process.

                      The only issue I seem to be having now is when I add the MMM-GoogleMapsTraffic module I see the Live feed box but the video doesn’t appear.

                      I’m fairly new to this so I am not sure what could be causing it?

                      Thanks again for all of your help!

                      S 1 Reply Last reply Jan 3, 2019, 10:47 PM Reply Quote 0
                      • 1
                      • 2
                      • 14
                      • 15
                      • 16
                      • 17
                      • 18
                      • 60
                      • 61
                      • 16 / 61
                      16 / 61
                      • First post
                        159/602
                        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