Read the statement by Michael Teeuw here.
[MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras
-
This may be a bit weird, but I’m trying to install this on a non-RaspberryPi piece of hardware running Ubuntu 20. Is there a manual installation process that doesn’t require OMXPlayer?I realize that it will limit my options to VLC, but I’m willing to try. I’m getting caught up on it trying to install a player that isn’t available on Ubuntu.
I tried installing OMXPlayer through the Snap store, but because the hardware is AMD64, it’s not available.
-
Hi everyone,
I believe that the MMM - RTSPStream module is incompatible with the MMM-Pages multi page module!
By removing MMM-Pages, the RTSPStream module works again.
The link for the video stream works correctly both with VLC and with the “omxplayer” command.The version of MM I am using is the latest available 2.14.0.
The error I find in the console is the following:
MMM-RTSPStream.js:164 MMM-RTSPStream has resumed... rotateStreams: true, autoStart: true MMM-RTSPStream.js:368 Uncaught TypeError: Cannot read property 'getBoundingClientRect' of null at Class.playStream (MMM-RTSPStream.js:368) at Class.rotateStream (MMM-RTSPStream.js:123) at Class.setupStreamRotation (MMM-RTSPStream.js:94) at Class.resumed (MMM-RTSPStream.js:168) at newCallback (MMM-RTSPStream.js:186) at main.js:324Here is my configuration:
{ module: "MMM-RTSPStream", position: "bottom_right", header: "Test", config: { //initialSetup: true, autoStart: true, rotateStreams: true, rotateStreamTimeout: 10, moduleWidth: 354, moduleHeight: 240, localPlayer: 'omxplayer', remotePlayer: 'none', showSnapWhenPaused: false, remoteSnaps: false, stream1: { name: 'Ingresso', url: 'rtsp://xxxxxxxxxxx:xxxxxxxxx@xxx.xxx.x.xxx:554/stream1', frameRate: 'undefined', //width: undefined, //height: undefined, }, } },In the “bottom_right” region what I see:

Have any of you noticed this incompatibility?
Any advice / help is welcome.
Thanks. -
@Egnos Don’t have a clue myself, and this module is no longer supported. :(
-
@BKeyport thanks.
Do you know any other module that can show the stream of surveillance cameras? -
@Egnos as I wrote already some pages ago there’s MMM-FreeboxTV.
Similar this module, but most of all it works.
-
@Cr4z33 many thanks.
If I understand correctly the stream is started only if I ask the Google assistant to launch it, correct? -
…maybe I can use this “onStart” parameter to launch the stream that interests me at startup without asking the assistant.
With this parameter it would also be possible to launch multiple streams at startup?
Many thanks.
-
@Egnos said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:
@Cr4z33 many thanks.
If I understand correctly the stream is started only if I ask the Google assistant to launch it, correct?It’s up to you.
Either have it streaming 24/7 or upon command. :)
-
@Cr4z33 how does a config look like with MMM-FreeboxTV?
can I insert a link under stream: rtsp-stream? -
@drx1984 find out by yourself and… happy studying. ;)
-
@Cr4z33 Unfortunately it does not work. can you help me?
is the MMM-RTSPstream module no longer functional? -
@drx1984 Consider it abandonware… It’s dead.
-
Im using the module with ffmpeg, everything is working fine until i try and use MMM-ModuleSchedule. The module will hide no problem but when its time to show the module i get just a grey screen where the stream should be. If anyone could help i can provide whatever logs needed. I have just done a fresh install as of yesterday…
-
@Sh4wn9 I believe that using any sort of hiding breaks the module, long standing bug.
-
@Egnos said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:
Hi everyone,
I believe that the MMM - RTSPStream module is incompatible with the MMM-Pages multi page module!
By removing MMM-Pages, the RTSPStream module works again.
The link for the video stream works correctly both with VLC and with the “omxplayer” command.The version of MM I am using is the latest available 2.14.0.
The error I find in the console is the following:
MMM-RTSPStream.js:164 MMM-RTSPStream has resumed... rotateStreams: true, autoStart: true MMM-RTSPStream.js:368 Uncaught TypeError: Cannot read property 'getBoundingClientRect' of null at Class.playStream (MMM-RTSPStream.js:368) at Class.rotateStream (MMM-RTSPStream.js:123) at Class.setupStreamRotation (MMM-RTSPStream.js:94) at Class.resumed (MMM-RTSPStream.js:168) at newCallback (MMM-RTSPStream.js:186) at main.js:324Here is my configuration:
{ module: "MMM-RTSPStream", position: "bottom_right", header: "Test", config: { //initialSetup: true, autoStart: true, rotateStreams: true, rotateStreamTimeout: 10, moduleWidth: 354, moduleHeight: 240, localPlayer: 'omxplayer', remotePlayer: 'none', showSnapWhenPaused: false, remoteSnaps: false, stream1: { name: 'Ingresso', url: 'rtsp://xxxxxxxxxxx:xxxxxxxxx@xxx.xxx.x.xxx:554/stream1', frameRate: 'undefined', //width: undefined, //height: undefined, }, } },In the “bottom_right” region what I see:

Have any of you noticed this incompatibility?
Any advice / help is welcome.
Thanks.Goodmorning, I belive.
rtsp://gebruikersnaam:wachtwoord@IPCAM:554/cam/realmonitor?channel=1&subtype=2
Pleas run this line in a VLC player. if you can see the camera screen than you know that the connection is oke.
After that we kan see what’s wrong whit the config.js
bur first check if you see the camera feet…
pleasWhits type camera you use???
Jerry frome Holland
-
@JerryP thank you for answering me!
The stream is ok, I think the problem is the coexistence between MMM-Pages and this module. For now I have managed using the omxplayer command which he launched from the terminal outside of MM. -
@Egnos that’s the best method, it seems. Only way i can keep my streams from crashing.
-
Sorry at this time I don’t have any solution.
-
I understand that the developer of this module is not supporting it, but
I see a lot of people are using it or at least trying to…
I have it working with 3 Wyze v2 cams, using omxplayer.
I would like to see if using vlc would possibly fix the lag time loading the cam output… I have a approximately 10 second lag between module start up and the picture actually showing up…
Problem is when I change the localPlayer: to vlc from omxplayer I get a blank screen screen. I reinstalled vlc player to my rpi but can not figure out how to get it to load vlc. I use carousel and have approx 35 different modules working through it… I tried pm2 start vlc and it did but still did not show a feed.
I posted my config.js minus keys and passwords of course. Any help is appreciated…/* Magic Mirror Config Sample * * By Michael Teeuw http://michaelteeuw.nl * MIT Licensed. * * For more information on how you can configure this file * See https://github.com/MichMich/MagicMirror#configuration * */ var config = { address: "0.0.0.0", // Address to listen on, can be: port: 8080, ipWhitelist: [], // Set [] to allow all IP addresses useHttps: false, // Support HTTPS or not, default "false" language: "en", timeFormat: 12, units: "imperial", modules: [ { module: "MMM-Carousel", config: { transitionInterval: 53000, ignoreModules: ["MMM-Snow"], mode: "slides", slides: [ ["MMM-CalendarExt"], ["calendar", "clock", "compliments"], ["calendarH", "clock", "compliments"], // ["calendarN", "clock", "compliments"], ["iFrame"], ["MMM-ATM", "clock", "compliments"], ["MMM-BMI", "clock", "compliments"], ["MMM-RTSPStream"], ["MMM-Bored", "clock", "compliments"], ["MMM-CalvinAndHobbes", "clock", "compliments"], ["MMM-CloneWarsQuotes", "clock", "compliments"], ["MMM-Cocktails"], ["MMM-COVID19", "clock", "compliments"], ["MMM-DailyQuote", "clock", "compliments"], ["MMM-DarkSkyForecast", "clock", "compliments"], ["MMM-Dogs", "clock", "compliments"], ["MMM-Evil", "clock", "compliments"], ["MMM-Gas", "clock", "compliments"], ["MMM-GmailFeed", "clock", "compliments"], ["MMM-History", "clock", "compliments"], ["MMM-RTSPStream2"], ["MMM-icanhazdadjoke", "clock", "compliments"], ["MMM-ImagesPhotos", "clock", "compliments"], ["MMM-learnlanguage", "clock", "compliments"], ["MMM-MotionEye"], ["MMM-MyWordOfTheDay", "clock", "compliments"], ["MMM-NetworkScanner"], ["MMM-Parcel", "clock", "compliments"], ["MMM-PoemOfTheDay"], ["MMM-quote-of-the-day", "clock", "compliments"], ["MMM-RAIN-MAP"], ["MMM-rfacts", "clock", "compliments"], ["MMM-RTSPStream3"], ["MMM-SimpleLogo", "clock", "compliments"], ["MMM-SugarValue", "clock", "compliments"], ["on-this-day", "clock", "compliments"], ["random_quotes", "clock", "compliments"] ] } }, { module: "clock", position: "top_left", classes: "clock-time-only", config: { timeFormat: 12, displaySeconds: false, showPeriodUpper: false, showPeriod: false } }, { module: "clock", position: "top_center", classes: "clock-date-only", config: { timeFormat: 12, showPeriod: false, dateFormat: "ddd, ll", displaySeconds: false } }, { module: "clock", position: "top_right", classes: "clock-time-only", config: { timeFormat: 12, displaySeconds: false, showPeriodUpper: false, showPeriod: false } }, { module: "calendar", position: "middle_center", header: "Birthdays", config: { fade: false, maximumEntries: 9, timeFormat: "absolute", urgency: 3, getRelative: 24, calendars: [ { symbol: "birthday-cake", url: "" } ] } }, { module: "calendarH", position: "middle_center", header: "US Holidays", config: { maximumEntries: 9, timeFormat: "absolute", urgency: 3, getRelative: 24, calendars: [ { symbol: "h-square", url:"" } ] } }, { module: "calendarN", position: "middle_center", header: "Nascar", config: { maximumEntries: 9, timeFormat: "absolute", urgency: 3, getRelative: 24, calendars: [ { symbol: "automobile", url: "" } ] } }, { module: "compliments", position: "bottom_bar", config: { remoteFile: "compliments.json" } }, { module: "iFrame", position: "middle_center", config: { url: "", width: "1000px", height: "950px" } }, { module: "MMM-ATM", position: "middle_center", config: { multipleChoice: "Yes", useHeader: false, header: "Another Trivia Module!", maxWidth: "1240px" } }, { module: "MMM-BMI", position: "top_center", config: { name: "Jeffory", imperialUnits: true, weight: "250", height: "73", herName: "Stacey", herWeight: "140", herHeight: "67", useHeader: false, header: "Our Body Mass Index", maxWidth: "1000px" } }, { module: "MMM-Bored", position: "middle_center", config: { maxWidth: "1310px" } }, { module: "MMM-CalendarExt", position: "middle_center", config: { maxHeight: "100%", maxWidth: "100%", system: { show: ["month"], locale: "en", showEmptyView: 1, fullDayEventLocalize: 0, redrawInterval: 1 * 60 * 1000, useProfileConfig: 0, startProfile: "Birthdays", }, defaultView: { position: "middle_center", positionOrder: 1, overflowRolling: 0, overflowHeight: 300, overflowDuration: 3, onlyStartingTime: 0, timeFormat: "h:mm a", dateFormat: "ddd, M/D", fullDayEventDateFormat: "ddd, M/D", ellipsis: 0, limit: 0, }, views: { month: { showWeeks: 0, }, }, defaultCalendar: { profiles: [], views: ["month", "upcoming"], symbol: "cake-variant@md", styleName: "style5", replaceTitle: [], classPattern: [], classPatternWhere: ["title"], symbolPattern: [], symbolPatternWhere: ["title"], maxEntries: 90, maxDays: 365, interval: 300000, }, calendars: [ { name: "Holidays", url: "webcal://ical.mac.com/ical/US32Holidays.ics", profile: [""], symbol: "pine-tree@md", }, { name: "Birthdays", url: "", profile: [""], symbol: "cake-variant@md", }, ], }, }, { module: "MMM-CalvinAndHobbes", position: "middle_center", config: { invertColors: false, grayScale: false, updateInterval: 1000 * 60 * 60 * 2, // 2 Hr maxWidth: "100%", maxHieght: "100%" } }, { module: "MMM-CloneWarsQuotes", position: "middle_center", config: { } }, { module: "MMM-Cocktails", position: "top_center", config: { maxHeight: "100%", maxWidth: "100%" } }, { module: "MMM-COVID19", position: "middle_center", config: { header: "", updateInterval: 300000, worldStats: true, delta: true, lastUpdateInfo: true, countries: [ "Mexico", "United Kingdom", "Italy", "Asia", "Africa", "Spain", "USA" ], headerRowClass: "small", rapidapiKey : "" } }, { module: "MMM-DailyQuote", position: "middle_center", config: { updateInterval: 1*60*60*1000, } }, { module: "MMM-DarkSkyForecast", position: "top_center", classes: "default everyone", disabled: false, config: { header: "", apikey: "", latitude: "", longitude: "", iconset: "3c", maxHourliesToShow: 1, concise: false, forecastLayout: "table" } }, { disabled: false, module: "MMM-Dogs", position: "middle_center", config: { updateInterval: 35 * 60 * 1000, maxHeight: "475px", maxWidth: "700px" } }, { disabled: false, module: "MMM-Evil", position: "middle_center", config: { updateInterval: 35 * 60 * 1000, maxHeight: "300px", maxWidth: "1320px" } }, { module: "MMM-Gas", position: "middle_center", config: { zip : "", typeGas: "", sortBy: "price", items: 12, distance: true } }, { module: "MMM-GmailFeed", position: "middle_center", config: { username: "", password: "", header: false, updateInterval: 60000, maxEmails: 8, maxSubjectLength: 30, maxFromLength: 12, playSound: false } }, { module: "MMM-History", position: "middle_center", config: { maxWidth: "1320px" } }, { module: "MMM-icanhazdadjoke", position: "middle_center", config: { maxWidth: "100%" } }, { module: "MMM-ImagesPhotos", position: "middle_center", config: { opacity: 0.9, animationSpeed: 500, updateInterval: 2000, backgroundColor: "black", width: "500px", height: "500px", fill: false } }, { module: "MMM-learnlanguage", position: "middle_center", config: { language: "spanish", nextWordInterval: 2160000, showpair: "showboth", } }, { module: "MMM-MotionEye", position: "middle_center", config: { url: "", forcedRefreshInterval: 60000, width: "1000px", debug: false } }, { module: "MMM-MyWordOfTheDay", position: "middle_center", config: { header: "Word Of The Day", apiKey: "", width: "1320px", height: "505px" } }, { module: "MMM-NetworkScanner", position: "top_center", header: "Who's home", config: { devices: [ { macAddress: "", name: "00 Stacey", icon: "female" }, { macAddress: "", name: "00 Jeff", icon: "male" }, { macAddress: "", name: "01 Netgear M1", icon: "server" }, { macAddress: "", name: "03 Ubiquiti", icon: "wifi" }, { macAddress: "", name: "04 Omada EAP225", icon: "wifi" }, { macAddress: "", name: "224 PiHole", icon: "server" }, { macAddress: "", name: "30 WyzeBridge", icon: "wifi" }, { macAddress: "", name: "31 WyzeCam1 Garage", icon: "camera" }, { macAddress: "", name: "32 WyzeCam2", icon: "camera" }, { macAddress: "", name: "33 WyzeCam3South", icon: "camera" }, { macAddress: "", name: "34 WyzeCam4", icon: "camera" }, ], network: "192.168.1.0/24", showUnknown: false, showOffline: false, // shows devices specified in the 'devices' option even when offline showLastSeen: false, // shows when the device was last seen e.g. "Device Name - last seen 5 minutes ago" keepAlive: 400, // how long (in seconds) a device should be considered 'alive' since it was last found on the network updateInterval: 1500, // how often (in seconds) the module should scan the network sort: true, // sort the devices in the mirror colored: false, // show devices colorcoded with color defined in devices [] // coloredSymbolOnly: false, // show symbol only in color // maxWidth: "100%", maxHieght: "100%" } }, { module: "MMM-Parcel", position: "middle_center", config: { header: "", maxWidth: "1320px", apiKey: "", autoTranslate : "en", compactness: 2, hideExpired: true, // don't show expired parcels hideDelivered: true } }, { module: "MMM-PoemOfTheDay", position: "middle_center", config: { textLimit: 1000, lineLimit: 10, detectLanguageApiKey: "", languageSet: ["en"], updateInterval: 60000 } }, { module: "MMM-quote-of-the-day", position: "middle_center", config: { language: "en", updateInterval: "10m" } }, { module: "MMM-RAIN-MAP", position: "middle_center", config: { animationSpeed: 600, displayClockSymbol: true, displayTime: true, extraDelayLastFrame: 2000, height: "750px", lat: , lng: , map: "OSM", markers: [ { lat: , lng: -, color: "red" }, { lat: , lng: -, color: "blue" } ], onlyOnRain: false, opacity: 1, //0 to 1 .65 default timeFormat: 12, updateIntervalInSeconds: 300, width: "1240px", zoom: 8, zoomOutEach: 1, zoomOutLevel: 3, } }, { module: "MMM-rfacts", position: "middle_center", config: { updateInterval: 30 * 60 * 1000, maxHeight: "505px", maxWidth: "1310px" } }, { module: "MMM-RTSPStream", position: "middle_center", config: { autoStart: true, rotateStreams: true, rotateStreamTimeout: 0, moduleWidth: 1240, moduleHeight: 700, localPlayer: "vlc", remotePlayer: "none", showSnapWhenPaused: false, remoteSnaps: false, stream1: { name: "Wyze Drive", url: "rtsp://xxxxx:xxxxx@192.168.1.31:554/live", frameRate: "15", width: 1240, height: 700, }, } }, { module: "MMM-RTSPStream2", position: "middle_center", config: { autoStart: true, rotateStreams: true, rotateStreamTimeout: 0, moduleWidth: 1240, moduleHeight: 700, localPlayer: "vlc", remotePlayer: "none", showSnapWhenPaused: false, remoteSnaps: false, stream1: { name: "Wyze Drive", url: "rtsp://xxxxx:xxxxx@192.168.1.32:554/live", frameRate: "15", width: 1240, height: 700, }, } }, { module: "MMM-RTSPStream3", position: "middle_center", config: { autoStart: true, rotateStreams: true, rotateStreamTimeout: 0, moduleWidth: 1240, moduleHeight: 700, localPlayer: "vlc", remotePlayer: "none", showSnapWhenPaused: false, remoteSnaps: false, stream1: { name: "Wyze Drive", url: "rtsp://xxxxx:xxxxx@192.168.1.33:554/live", frameRate: "15", width: 1240, height: 700, }, } }, { module: "MMM-SimpleLogo", position: "middle_center", // This can be any of the regions. config: { maxHeight: "490px", maxWidth: "1240px", refreshInterval: 10000, text: "" } }, { module: "MMM-Snow", position: "fullscreen_above", config: { flakeCount: 200, theme: "winter" //"water" //"winter" //"love" } }, { module: "MMM-SugarValue", position: "top_center", config: { username: "", password: "", units: "mg", height: "505px", width: "1320px" } }, { module: "on-this-day", position: "middle_center", config: { updateInterval: 10 * 1000 * 60 } }, { module: "random_quotes", position: "middle_center", config: { } }, ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") {module.exports = config;} -
Hello, is the module still maintained or not?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login