• 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.7m 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
    shbatm Module Developer
    last edited by shbatm Oct 16, 2017, 1:18 AM Jun 10, 2017, 5:26 PM

    Description

    This module will show a live RTSP video stream and/or periodic snapshots on the Magic Mirror from any IP Security Camera which supports the RTSP protocol and/or can serve a snapshot periodically.

    Features:

    • Supports single or multiple camera streams/snapshots
    • For multiple streams: supports rotating through streams in a single window or displaying multiple windows (with customizeable layout)
    • Supports fetching snapshots from a file or url when not actively streaming
    • Flexible configurations to limit resource use on Raspberry Pi –
      • Stops all streams when module is hidden
      • Option for AutoPlay or manual starting of stream
      • Plays one or all streams (when displaying multiple)
      • ffmpeg process only started when active stream window is shown and customizeable delay for shutdown after stopping.
      • Note: 3 simultaneous streams on a RaspberryPi 3 is about the limit for usability.
    • Support for MMM-KeyBindings module for Play/Pause Remote Control and navigation of multiple streams

    Screenshot:

    Download:

    [card:shbatm/MMM-RTSPStream]


    Version 1.2.1 (Updated 15 Oct 2017)

    • Now uses hardware-accelerated OMXPlayer as default player for local video
    • Resolved latency issues
    • Uses PM2 to control stream playback – automatically restarts streams when they close
    • Fullscreen, custom window and offset options now available.
    • Important - please update your configurations after updating this module. A new configuration tool is available, see the README on GitHub for info.

    Version 1.0.0

    • Initial Release – Please submit bugs and issues via GitHub Issues
    N 1 Reply Last reply Jun 15, 2017, 5:56 PM Reply Quote 4
    • N Offline
      Niggich @shbatm
      last edited by Jun 15, 2017, 5:56 PM

      @shbatm Thanks a lot for this module! Everything works fine but I have a time difference from 8 seconds between “live” and the video feed. Is there anyway to fix this?

      1 Reply Last reply Reply Quote 0
      • S Offline
        shbatm Module Developer
        last edited by Jun 17, 2017, 9:22 PM

        Unfortunately, at the moment I don’t have an answer for how to decrease the lag time, but I’m still trying to find better ways to process the feed to the front end. My delay is only 3-4 seconds and has a lot to do with the hardware you’re using to process the stream.

        1 Reply Last reply Reply Quote 0
        • S Offline
          shbatm Module Developer
          last edited by Jun 22, 2017, 1:31 PM

          @Niggich - There is something I found that you can try. Please let me know if this tweak helps and I’ll roll it into the module.

          For any suggested ffmpeg changes, you’ll need to edit Line 14 (or 15, depending on version) of the following file, whichever has the ffmpeg argument list:

                 ~/MagicMirror/modules/MMM-RTSPStream/node_modules/node-rtsp-stream-es6/src/mpeg1muxer.js
          
          1. Ignore audio stream: add "-an", after "mpeg1video", and before "-bf",

          As I find more things to try, I’ll post them back on here.

          N 1 Reply Last reply Jun 25, 2017, 12:53 PM Reply Quote 0
          • N Offline
            Niggich @shbatm
            last edited by Jun 25, 2017, 12:53 PM

            @shbatm Hello, I found the time to try this tweak but after I changed everything the Stream doesn’t start.

            1 Reply Last reply Reply Quote 0
            • S Offline
              shbatm Module Developer
              last edited by Jun 25, 2017, 5:39 PM

              I have some things to try when I get back in town this week. Please make sure you have hideFfmpegOutput: false in your stream config section and post any errors. Were you able to get it back working after reverting the changes?

              N 1 Reply Last reply Jun 26, 2017, 4:21 PM Reply Quote 0
              • N Offline
                Niggich @shbatm
                last edited by Jun 26, 2017, 4:21 PM

                @shbatm I change back everything and its working again. I also changed my config file to the setting you said. It’s a bit better now. In the Log I doesn’t have any errors.

                1 Reply Last reply Reply Quote 0
                • S Offline
                  shbatm Module Developer
                  last edited by shbatm Jun 29, 2017, 9:11 PM Jun 29, 2017, 9:10 PM

                  @Niggich Just letting you know that I’m testing an alternate method for displaying the video if you want to test it out. It uses omxplayer to overlay the video stream directly onto the display, which uses hardware acceleration. It only works on the local display and is still a work in progress, but there is minimum latency since it’s a direct stream.

                  To use, make sure you have omxplayer installed and then switch to the development branch:

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

                  And update your module config to add: player: 'omx' (outside of the streamX configs).

                  Future plans include:

                  • Ability to play full screen
                  • Show thumbnails on remote screen when playing locally with OMX
                  • Show ffmpeg stream on remote screen when playing locally with OMX
                  B 1 Reply Last reply Jun 29, 2017, 11:10 PM Reply Quote 0
                  • B Offline
                    bhepler Module Developer @shbatm
                    last edited by Jun 29, 2017, 11:10 PM

                    @shbatm Thanks for the different rendering process. It’s still very choppy for me, but it is noticeably better framerate.

                    Both techniques are maxxing my RasPi’s processor at 100% and I’m getting temperature warnings. But I’m just at the beginning of the process. Let’s see if I can’t cut that down a bit.

                    1 Reply Last reply Reply Quote 0
                    • S Offline
                      shbatm Module Developer
                      last edited by shbatm Jul 5, 2017, 9:43 PM Jul 5, 2017, 4:00 PM

                      @bhepler Have you tried the omxplayer method above? This should be using hardware acceleration–on my RPi3 this is using ~10% CPU.

                      Note: I have updated the development branch to use omxplayer by default for the local screen. You do not need to change anything in your config, just switch to the branch using:

                      cd ~/MagicMirror/modules/MMM-RTSPStream
                      git checkout wip
                      # Update node modules
                      npm run-script update
                      

                      See the updated README here for more details – once tested I’ll update the main branch:
                      https://github.com/shbatm/MMM-RTSPStream/tree/wip

                      B 1 Reply Last reply Jul 6, 2017, 12:13 PM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • 60
                      • 61
                      • 1 / 61
                      1 / 61
                      • First post
                        5/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