My MMM-RTSPStream module comes last.
So the first modules may shift this module down and therefore my streaming window appears to be always located in the middle.
In principle I want to have it in the middle, so I leave it there.
I made sure that MMM-RTSPStream is the only one using “middle_center”.
The module position will determine where the module window is being placed.
Exactly where is determined by the main.css and perhaps changes in the custom.css.
This is what the main.css does to “middle_center”, as example:
.region.middle.center {
width: 100%;
text-align: center;
-moz-transform: translateY(-50%);
-o-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
For “middle_center” I changed my custom.css like this, for example:
.region.middle.center {
width: 60%;
}
This overrules the width in the main.css.
[I have my monitor in portrait mode (900x1600) and have 2 columns of 60% + 40%]
The moduleWidth and moduleHeight determine the size of your module and how other module will wrap around it.
The moduleOffset will move the streaming window relative to the module window.
The stream1 width and hight determine the streaming window size.
When sized bigger than the module window, it will simply use this bigger size.
It will even will cover other modules when too big, those modules will not wrap around it.
This config works for me:
{
module: "MMM-RTSPStream",
disabled: false,
position: "middle_center",
header: "Axis Security Monitor",
config: {
autoStart: true,
rotateStreams: false,
moduleWidth: 590,
moduleHeight: 332,.
// moduleOffset: { left: 0, top: 0},
localPlayer: 'omxplayer',
remotePlayer: 'none',
showSnapWhenPaused: false,
remoteSnaps: false,
stream1: {
name: 'Axis_M2026_LE_MkII',
url: 'rtsp://user:password@192.168.178.56/axis-media/media.amp?resolution=640x360',
width: 590,
height: 332
},
With
$ pm2 logs mm
you can check the streaming window parameters:
0|mm | Starting stream stream1 with args: [
0|mm | "--avdict",
0|mm | "rtsp_transport:tcp",
0|mm | "--win",
0|mm | "-2, 656, 588, 988",
0|mm | "--no-osd",
0|mm | "--live",
0|mm | "--video_queue",
0|mm | "4",
0|mm | "--fps",
0|mm | "30",
0|mm | "rtsp://user:password@192.168.178.56/axis-media/media.amp?resolution=640x360"
0|mm | ]
I have changed my custom config like this:
.MMM-RTSPStream header {
text-align: left;
}
.MMM-RTSPStream .innerWrapper {
border-style: none;
//border: 1px solid red;
}
I used solid red in order to see the position of the module window more clear.
Be sure to use
cd ~/MagicMirror; npm run config:check
to check the config for errors before restarting mm, it will save you from obvious mistakes.
Those are my findings, for me the settings work, perhaps it will help other users.