Read the statement by Michael Teeuw here.
[MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras
-
@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:324
Here 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?
-
I keep getting this error:
0|mm | [15.04.2021 15:10.29.116] [ERROR] TypeError: Cannot set property 'omx_stream1' of undefined 0|mm | at Timeout.worker [as _onTimeout] (/home/pi/MagicMirror/modules/MMM-RTSPStream/node_helper.js:367:87) 0|mm | at listOnTimeout (internal/timers.js:549:17) 0|mm | at processTimers (internal/timers.js:492:7)