Read the statement by Michael Teeuw here.
[MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras
-
@imdickie The 2nd one was the correct method. I made an adjustment to the code so now you can specify separate vertical & horizontal offsets.
// Both methods below should work now: // Same Offset for Horizontal & Vertical: moduleOffset: -20 // any number works // Different Offsets for Horizontal & Vertical: moduleOffset: { top: -20, left: 0 }
I didn’t get a chance to double check on my mirror, so please pull the update and let me know if you have any issues:
# Run the following to update the module cd ~/MagicMirror/modules/MMM-RTSPStream git pull
If you want to make any further adjustments yourself without waiting for me, see this post above on where to edit the code directly.
-
I was able to get the overlay to match perfectly without using the moduleOffset variable by setting the module to the bottom bar.
It offsets when I positioned it other spots. Also, since you are working on this I noticed when the RTSPStream module is placed near another module that can shift in size like newsfeed it will sift the overlay. That was why I thought to place it in the bottom bar so it became the anchor in the bottom justification.
Thanks again for a great module. It really helped with the wife acceptance factor.
-
@imdickie Great! I’m glad it’s working!
WRT the offset – that part is definitely a work in progress and the
moduleOffset
setting is a stop-gap.For anyone who is proficient in JavaScript – I need a better way to get the position of the camera window’s canvas tag with respect to the corner of the screen and not the browser window. Currently I’m using
canvas.getBoundingClientRect()
which doesn’t account for all of the borders, margins, or paddings. -
Do i understand correctly?
Local Player means that it only can playback a source, directly installed at the pi?
No source from a wlan attached ip cam?Tried the wip branch for my IP cam, since the ffmeg player uses 100% and has 6 seconds delay in my case.
With the omx player i do not get a picture anymore. (At least i do not have a complete black screen anymore ;) ) -
@barnosch Here is a picture to explain:
- Please make sure you run the following after switching branches:
cd ~/MagicMirror/modules/MMM-RTSPStream npm install
- Do you have any errors in the console log?
- Please check omxplayer is installed
which omxplayer # Should show '/usr/bin/omxplayer'
- Please check omxplayer is running when the video should be playing:
pgrep omx # Should show a number (process ID)
-
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.
But…
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 mirror.sh
or
pm2 restart mirror.sh
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 ;) -
@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 themaster
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 yourmirror.sh
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 addmoduleOffset: 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: https://github.com/shbatm/MMM-RTSPStream/tree/wipFor
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.
Weird.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 simpleorder-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://192.168.1.2:554/unicast/) 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://192.168.1.2:554/unicast/’,
snapshotUrl: ‘’,
snapshotRefresh: 10, // Seconds
frameRate: “30”,
port: 9999,
width: “320”,
height: “240”,
},