Success! I tried the omxplayer version of this module and it works like a charm. The video updates about half a second behind, but that’s well within acceptable limits. The RasPi also is running much cooler and isn’t giving me temperature warnings.

The only problem I have at this point is that the border around the module doesn’t line up with the video. And all things considered, not a big deal. Great work!

@bhepler Additionally, when I’m running this module, I cannot tell PM2 to restart the MM process. Any attempt to shut down the Magic Mirror and then start it again results in an error claiming that port 8080 is already in use. I have to reboot the Pi in order to get MM running again.
Error message:

The video was displaced from the border only on the PI, but not on Chrome nor Firefox whilst viewing the PI’s interface.
Viewing the interface via Chrome or Firefox did show a video image, but it started up FFMPEG and started to heat the Pi up.
Removing the 47 pixel offset made no difference in border position when viewing the Magic Mirror interface via Chrome or Firefox. Everything lined up perfectly.

– This is to be expected. OMXPlayer draws the video on top of the Pi’s screen (over the desktop & electron.js running the mirror). It can only do that on the Pi itself, so if you view it in another browser, the module defaults back to FFMPEG and software decoding.

Removing the 47 pixel offset made everything line up perfectly on the mirror itself.

Good – I will continue looking for a way to improve how the module “finds” the border box to give to OMX. For now this offset may just get moved into a config setting.

when I’m running this module, I cannot tell PM2 to restart the MM process. Any attempt to shut down the Magic Mirror and then start it again results in an error claiming that port 8080 is already in use. I have to reboot the Pi in order to get MM running again.

I noticed this on my system too, but didn’t associate it back to this module. Thanks for pointing it out. Something is not getting cleaned up properly. I am able to restart MM without restarting the whole Pi by killing the electron process manually (e.g. pkill electron or ps aux | grep electron and then kill {pid} on the process number that comes up. I will work on a fix for this in the next update.

Additional Development Notes:

Still working on finding a better solution to using FFMPEG to decode and then re-transmit the stream. With Chrome/Firefox removing support for NPAPI plug-ins, it’s very restricting for RTSP. If anyone has any suggestions, I’m open to them.

@imdickie I’d be happy to take a look. First thing to try: change the name property of the second stream so it is different from the first one and see if that fixes it. In your config above, both are name: 'Front Door'