MagicMirror² v2.14.0 is available! For more information about this release, check out this topic.

[MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras

  • Thanks for the explanation.
    It was already working, but i could not see the stream remotely within a VNC session (the ffmpeg stream was visible).
    It works perfect now. No delay, and way sharper.
    If i restart the mirror because of changes in the config, i get a blank black screen.
    The omxplayer does not stop completely. One instance is still running and is not killable.

    Additionally it seems that something kills the DNS of the pi. (Could be something else, but i guess it starts by adding your module).
    Now the stupid thing. if i restart the service with “dhclient”, the name resolution works again, but i need to restart the mirror, that the scripts are loading.
    If i restart the mirror, dns is not working anymore. (etc/resolve.conf is correct)

    It would really helpful if the omxplayer would shutdown completely if i
    pm2 stop
    pm2 restart
    to not get a blank screen.

    Above all this, i love the module and appreciate your work. Thanks a lot.
    WAF is really huge for this great addon 😉

  • Module Developer

    @barnosch Great! I’m glad its working. You bring up an important point that I should emphasize:

    For anyone using the OMXPlayer Version: OMXPlayer outputs directly to the screen via the GPU. The video window will show up on top of anything else and will not appear in any remote desktop, VLC, or remote browser windows. This is by design. Think of it like picture-in-picture on your TV.

    About the OMXPlayer not exiting: this is a known issue and is the reason the wip branch hasn’t been made the master yet. I thought I had a fix for it, but it’s inconsistent.

    A temporary fix is to try adding the following BEFORE the npm start line in your script to make sure everything is dead before restarting:

    pkill omxplayer
    pkill electron

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

    @imdickie If you were on the Master branch it makes sense now why you were getting duplicate views, it was using ffmpeg and looking at only the first port for both cameras. The work-in-progress branch does not use websockets/ports for local playback since OMXPlayer just draws directly on top of the MM’s browser window.

    For the black screen: I forgot the wip branch has an additional node package required. This should take care of your problem:

    cd ~/MagicMirror/modules/MMM-RTSPStream
    git checkout wip
    git pull
    npm install

    You may or may not need to also add a moduleOffset config option: see the posts above for pictures, if the video doesn’t line up with the border, you can add moduleOffset: X to shift the video over (where X is a number of pixels).

    For more information about the wip branch, there is an updated README on the Github page:

    For pm2: it’s definitely not a requirement, but I find it’s nice to have; I included in the note above just in case you were already using it. It will automatically run the MM script for you on startup. See this page if you want more information.

    To all using the module: Thanks for bearing with me, I haven’t had a lot of time this past month to finish out the hardware-accelerated version (wip/development branch) but I hope to get it done in the next month or so. I really do appreciate any feedback / issues you have to help me improve this module.

    thanks for your support. It really helps

  • 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.

    Only thing what helps is currently a reboot of the whole pi.

    Since it was to complicated to log in on a device to give the reboot command, i set up a
    Amazon Dash Button and placed it right next to the mirror.
    So my wife can reboot the mirror with just a simple order- click. 😉

    Hopefully the OMX version will become more stable sooner or later.

  • I don’t understand, I downloaded the module, i’ve added this to my config.js file and I only see the square box where it’s supposed to show the feeed but it doesn’t show anything. The box is blank. If I put the same URL(rtsp:// in VLC on my magic mirror it works fine.
    My MagicMirror is setup using Debian Jessie and I autostart MagicMirror via PM2. The camera I use is the XiaoMi XiaoFang Smart IP Security Home Camera running fang-hacks Please help.

    module: ‘MMM-RTSPStream’,
    position: ‘bottom_center’,
    config: {
    autoStart: true,
    rotateStreams: false,
    rotateStreamTimeout: 10,
    showSnapWhenPaused: false,
    moduleWidth: 704,
    moduleHeight: 240,
    stream1: {
    name: ‘salon’,
    url: ‘rtsp://’,
    snapshotUrl: ‘’,
    snapshotRefresh: 10, // Seconds
    frameRate: “30”,
    port: 9999,
    width: “320”,
    height: “240”,

  • @barnosch Having the same issue; only a browser refresh or restart of the MM works. I started to question my camera and thought it was going offline, but looks like it’s related to the current WIP version. 🙂

  • @shbatm I try everything to get stream working with omxplayer but I always get a black blank screen. I don’t know what can I try anymore. When I change it back to ffmpeg the stream is working…

  • @Niggich Then why do you insist on using omxplayer then?

  • @xblackdemonx The ffmpeg have a time difference from live to stream about 10 seconds.

  • @Niggich Not for me. I see maybe a 1/2 second delay only.

Log in to reply