Out of curiosity what did you do to get the MMM- RTSP to work? I ended up giving up on this project due to it not working for me.
Thank you
Out of curiosity what did you do to get the MMM- RTSP to work? I ended up giving up on this project due to it not working for me.
Thank you
@mykle1 So at some point my MM did go black again. I commented out my iframe module and then restarted it and now it has been stable for 6+ hours with no issues. This leads me to think it is something with iframe.
// {
// module: 'MMM-iFrame',
// position: 'bottom_center', // This can be any of the regions.
// config: {
// // See 'Configuration options' for more information.
// url: ["http://192.168.1.132:81/livestream.htm?cam=Cam1"], // as many URLs you want or you can just ["ENTER IN URL"] if single URL.
// updateInterval: 0.5 * 60 * 1000, // rotate URLs every 30 seconds
// width: "1280", // width of iframe
// height: "720", // height of iframe
// frameWidth: "640" // width of embedded iframe, height is beeing calculated by aspect ratio of iframe
// }
// },
I am not sure what else could be causing it, or else I would try to do some more troubleshooting myself.
@mykle1 No, however I did go in and changed the pi over to legacy non-GL drivers, and so far it has been stable for almost 5 hours now. If it crashes again tonight then I will go ahead and comment out the iframe module and see if that is in fact the root cause.
@bkeyport Actually found a workaround using iframe and a HLS stream from blue iris. Have a new issue now that I am trying to figure out.
So I finally got it working the way I wanted with a few workarounds, however now it is throwing errors after a while and will disappear.
Here are the errors from pm2 logs:
/home/pi/.pm2/logs/mm-error.log last 15 lines:
0|mm | [20219:0213/125456.250611:ERROR:gles2_cmd_decoder.cc(10129)] [.DisplayCompositor-0x5a1c900]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
0|mm | [20219:0213/125456.297244:ERROR:gles2_cmd_decoder.cc(18288)] [.DisplayCompositor-0x5a1c900]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
0|mm | [20219:0213/125456.297506:ERROR:gles2_cmd_decoder.cc(10129)] [.DisplayCompositor-0x5a1c900]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
0|mm | [20219:0213/125456.298002:ERROR:gles2_cmd_decoder.cc(18288)] [.DisplayCompositor-0x5a1c900]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
0|mm | [20219:0213/125456.298138:ERROR:gles2_cmd_decoder.cc(10129)] [.DisplayCompositor-0x5a1c900]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
0|mm | [20219:0213/125456.298485:ERROR:gles2_cmd_decoder.cc(18288)] [.DisplayCompositor-0x5a1c900]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
0|mm | [20219:0213/125456.298619:ERROR:gles2_cmd_decoder.cc(18288)] [.DisplayCompositor-0x5a1c900]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
0|mm | [20219:0213/125456.298699:ERROR:gles2_cmd_decoder.cc(18288)] [.DisplayCompositor-0x5a1c900]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
0|mm | [20219:0213/125456.298815:ERROR:gles2_cmd_decoder.cc(10129)] [.DisplayCompositor-0x5a1c900]RENDER WARNING: texture bound to texture unit 1 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
0|mm | [20219:0213/125456.298880:ERROR:gles2_cmd_decoder.cc(10129)] [.DisplayCompositor-0x5a1c900]RENDER WARNING: texture bound to texture unit 2 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
0|mm | [20219:0213/125456.298958:ERROR:gles2_cmd_decoder.cc(10129)] [.DisplayCompositor-0x5a1c900]RENDER WARNING: texture bound to texture unit 3 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
0|mm | fatal: unable to access 'https://github.com/JonathanAndersonPE/MMM-inspirobot/': SSL connection timeout
0|mm |
0|mm | fatal: unable to access 'https://github.com/MichMich/MagicMirror.git/': SSL connection timeout
Edit: Here is more from the mm-errors.log:
libGL error: MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
ATTENTION: default value of option force_s3tc_enable overridden by environment.
libGL error: MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
ATTENTION: default value of option force_s3tc_enable overridden by environment.
fatal: unable to access 'https://github.com/alberttwong/MMM-iFrame.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.
Any ideas? Suggestions? This started after using iFrame module, so I wonder if that is causing it.
So, I am at my wits end with this, and am fairly certain that I am losing more hair than I should over this issue. So I have the module installed, all dependencies installed and I have tried a lot of different config settings to get this to work.
My current config section looks like this:
{
module: 'MMM-RTSPStream',
position: 'middle_center',
config: {
autoStart: true,
rotateStreams: false,
showSnapWhenPaused: false,
// moduleWidth: 354,
// moduleHeight: 242,
localPlayer: 'omxplayer',
stream1: {
name: 'Cam1',
url: 'rtsp://admin:*******@192.168.1.242',
snapshotUrl: '',
snapshotRefresh: 10, // Seconds
frameRate: "30",
port: 9999,
}
}
},
With this setup I get a white box with no video.
Here are my logs from pm2:
pi@raspberrypi:~/MagicMirror/config $ rm /home/pi/.pm2/logs/*
pi@raspberrypi:~/MagicMirror/config $ pm2 start mm
[PM2] Applying action restartProcessId on app [mm](ids: 0)
[PM2] [mm](0) ✓
[PM2] Process successfully started
┌─────────────┬────┬─────────┬──────┬───────┬────────┬─────────┬────────┬─────┬──────────┬──────┬──────────┐
│ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├─────────────┼────┼─────────┼──────┼───────┼────────┼─────────┼────────┼─────┼──────────┼──────┼──────────┤
│ mm │ 0 │ N/A │ fork │ 11239 │ online │ 0 │ 0s │ 0% │ 2.5 MB │ pi │ disabled │
│ omx_stream1 │ 1 │ N/A │ fork │ 11224 │ online │ 10841 │ 0s │ 0% │ 2.7 MB │ pi │ disabled │
└─────────────┴────┴─────────┴──────┴───────┴────────┴─────────┴────────┴─────┴──────────┴──────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
pi@raspberrypi:~/MagicMirror/config $ pm2 logs
[TAILING] Tailing last 15 lines for [all] processes (change the value with --lines option)
/home/pi/.pm2/pm2.log last 15 lines:
PM2 | 2019-02-08T21:39:50: PM2 log: App [mm:0] online
PM2 | 2019-02-08T21:39:53: PM2 log: App [omx_stream1:1] exited with code [1] via signal [SIGINT]
PM2 | 2019-02-08T21:39:53: PM2 log: App [omx_stream1:1] starting in -fork mode-
PM2 | 2019-02-08T21:39:53: PM2 log: App [omx_stream1:1] online
PM2 | 2019-02-08T21:39:56: PM2 log: App [omx_stream1:1] exited with code [1] via signal [SIGINT]
PM2 | 2019-02-08T21:39:56: PM2 log: App [omx_stream1:1] starting in -fork mode-
PM2 | 2019-02-08T21:39:56: PM2 log: App [omx_stream1:1] online
PM2 | 2019-02-08T21:40:00: PM2 log: Stopping app:omx_stream1 id:1
PM2 | 2019-02-08T21:40:00: PM2 log: pid=11336 msg=failed to kill - retrying in 100ms
PM2 | 2019-02-08T21:40:00: PM2 log: pid=11336 msg=failed to kill - retrying in 100ms
PM2 | 2019-02-08T21:40:00: PM2 log: pid=11336 msg=failed to kill - retrying in 100ms
PM2 | 2019-02-08T21:40:00: PM2 log: pid=11336 msg=failed to kill - retrying in 100ms
PM2 | 2019-02-08T21:40:00: PM2 log: pid=11336 msg=failed to kill - retrying in 100ms
PM2 | 2019-02-08T21:40:00: PM2 log: App [omx_stream1:1] exited with code [1] via signal [SIGINT]
PM2 | 2019-02-08T21:40:00: PM2 log: pid=11336 msg=process killed
/home/pi/.pm2/logs/omx-stream1-error.log last 15 lines:
/home/pi/.pm2/logs/mm-error.log last 15 lines:
/home/pi/.pm2/logs/mm-out.log last 15 lines:
0|mm | Module helper loaded: MMM-RTSPStream
0|mm | All module helpers loaded.
0|mm | Starting server on port 8080 ...
0|mm | Server started ...
0|mm | Connecting socket for: updatenotification
0|mm | Connecting socket for: calendar
0|mm | Starting node helper for: calendar
0|mm | Connecting socket for: newsfeed
0|mm | Starting module: newsfeed
0|mm | Connecting socket for: MMM-RTSPStream
0|mm | PM2: Stopping all OMXPlayer Streams...
0|mm | Sockets connected & modules started ...
0|mm | Launching application.
0|mm | PM2: Checking if omx_stream1 is running...
0|mm | PM2: Stopping omx_stream1...
0|mm | Create new calendar fetcher for url: http://www.calendarlabs.com/templates/ical/US-Holidays.ics - Interval: 300000
0|mm | Create new calendar fetcher for url: https://calendar.google.com/calendar/ical/vonarstonehelm%40gmail.com/public/basic.ics - Interval: 300000
0|mm | Create new news fetcher for url: http://www.nytimes.com/services/xml/rss/nyt/HomePage.xml - Interval: 300000
0|mm | Starting stream stream1 using: omxplayer --avdict rtsp_transport:tcp --win 624,302,976,544 --live --video_queue 4 --fps 30 --no-osd rtsp://admin:jeffrey69@192.168.1.242
0|mm | Starting PM2 for omx_stream1
PM2 | App [omx_stream1:1] starting in -fork mode-
PM2 | App [omx_stream1:1] online
0|mm | PM2 started for omx_stream1
1|omx_stream1 | have a nice day ;)
PM2 | App [omx_stream1:1] exited with code [1] via signal [SIGINT]
PM2 | App [omx_stream1:1] starting in -fork mode-
PM2 | App [omx_stream1:1] online
1|omx_stream1 | have a nice day ;)
PM2 | App [omx_stream1:1] exited with code [1] via signal [SIGINT]
PM2 | App [omx_stream1:1] starting in -fork mode-
PM2 | App [omx_stream1:1] online
Clearly there is an issue with omx, however I can’t seem to find a reason why it is quitting and restarting, and I can’t seem to find where omx sends its logs. I also know the stream works because I can copy/paste that into VLC and it plays just fine.
Suggestions? Recommendations?
Thank you in advance
edit: double checked the stream in VLC and the codec is h264 - mpeg-4 avc (part 10) (h264). Not sure if this matters or not.